Это будет несколько загруженный вопрос. Я программирую в компании, которая существует с 1962 года. Многие вещи, особенно компьютеры / сети, очень устарели. Позвольте мне рассказать немного больше.
У компании уже есть сервер Windows. На сервере у многих компьютеров есть файлы на общих сетевых дисках, а также есть некоторые программы. Таким образом предоставляется доступ всей компании к таким вещам, как бухгалтерский учет и инвентаризация, а также общий доступ к файлам. К сожалению, ни в одном проекте никогда не участвовал сильный системный администратор. Система учета работает на Foxpro. Файлы полностью хаотичны. В целом сотрудники, похоже, разбираются в своих делах, но для роста и масштабирования нам нужно быстро освоить эту сеть. Некоторые вещи, которые я считаю необходимыми:
Я хотел бы создавать собственные приложения на основе этой базы данных, чтобы все работало, и создавать API-интерфейсы, которые позволяют нашим веб-сайтам взаимодействовать с нашими внутренними материалами. Очевидно, я должен оставить существующие системы нетронутыми при создании новых. Я работаю в сети ... и мне очень комфортно с Unix (я управлял десятками серверов, обслуживающих веб-сайты), PHP и фронтенд-разработкой. Я хотел бы придерживаться тех технологий с открытым исходным кодом, которые я уже хорошо знаю.
Самый большой вопрос в моей голове - с чего начать. Могу ли я купить серверную стойку и просто начать строить совершенно новую сеть? Я подталкиваю всех к новой сети, когда она будет готова, или попытаюсь как-то использовать обе одновременно и постепенно уйти от старой?
Я понимаю, что это может быть проект, который займет год или больше. Я бы очень признателен за руководство - любые ресурсы по дизайну системы, как мне начать, что угодно. Я готов работать - мне просто нужна помощь в создании видения.
Пожалуйста, не обижайтесь на это, но я настоятельно рекомендую вам обратиться в местную консалтинговую ИТ-фирму, которая специализируется на системах и сетевом администрировании. Я также получил образование в области программирования много месяцев назад и извлек много трудных уроков о том, что можно и чего нельзя делать при управлении сетевой серверной средой. У меня (к счастью) было много наставников и помощь на протяжении многих лет, потому что без этого, кто знает, какие тлеющие обломки остались бы позади.
Переходим к исходному вопросу: я вижу две ошибки, одна из которых связана с Linux: не поймите меня неправильно, я люблю Linux и использую его в самых разных ролях, но в качестве единственного сервера в небольшой компании, которая (опять же , без обид) нет штатного системного администратора, напрашивается на проблемы. Найти компетентных администраторов Linux (а еще труднее найти тех, кто следует лучшим практикам) непросто. В будущем, если вы уйдете или наймете нового человека, который возьмет на себя ваши обязанности, кто будет заботиться об этом?
Предполагая, что вы моложе 75 конечных пользователей, я настоятельно рекомендую Microsoft Small Business Server 2011 Standard на надежном оборудовании уровня 1 (например, Dell, HP, IBM) с 3-летней гарантией на месте / 4-часовой заменой. Имейте как минимум зеркальный массив RAID 1 для данных (и еще один для системы, если вы можете себе это позволить). Получите хотя бы 8 ГБ ОЗУ, лучше 12 ГБ. Инвестируйте в автономное / удаленное резервное копирование: вы можете начать с пары внешних накопителей или ленточного накопителя, но что-то, что вы можете брать с собой за пределы офиса каждую ночь.
Я также не согласен с вашим предложением о настраиваемой базе данных «все в одном»: существует так много лучших и более жизнеспособных программных вариантов, что, если у вас нет очень специфических требований ниши, которые может обеспечить только индивидуальное решение , вам будет гораздо лучше использовать хорошо поддерживаемое стороннее предложение. Вы должны противостоять призывам программиста «Я могу что-то написать» и подумать о поддержке этого решения в долгосрочной перспективе.
И, наконец, я думаю, что вам и вашему работодателю необходимо решить, какую роль вы собираетесь выполнять в этой компании. Похоже, вы здесь новичок, и хотя вы правы, им, вероятно, действительно нужно обновить свои системы, вы не хотите откусить больше, чем можете прожевать, и не предоставить то, для чего вас наняли там делать.
РЕДАКТИРОВАТЬ
Сейчас существует множество мнений, поэтому я сделаю шаг назад и, надеюсь, дам несколько независимых от платформы советов, которые будут вам полезны независимо от того, что вы в итоге выберете:
Сделайте полную инвентаризацию всех систем и устройств; проверьте состояние гарантии на оборудование (если это Dell, IBM и т. д., вы должны иметь возможность использовать сервисный тег для проверки гарантии; если это сервер белого ящика, у них все еще может быть какой-то идентификатор, но у вас будет позвонить, чтобы узнать, какой статус наиболее вероятен).
Проведите полную инвентаризацию данных: не верьте, что у них нет данных на их дисках C :. они, вероятно, имеют, на самом деле у них, вероятно, есть файлы PST повсюду в старой почте. Узнайте, что критично, что копируется, что не копируется, как выполняется резервное копирование и переносится ли что-либо за пределы сайта или нет. ИСПРАВИ ЭТО ПЕРВОЕ. СЕЙЧАС. Если у них нет настроек резервного копирования, купите внешний USB-накопитель в магазине Big Box и используйте NTBackup (вероятно, уже на этом сервере), сделайте полное резервное копирование и возьмите его с собой. Если у них есть резервная копия, сделайте тестовое восстановление (см. Ниже).
Проверьте уровни исправлений на всех системах (сначала рассмотрите # 2!): Не только обновления Windows, но особенно Java и все продукты Adobe, и обновите их соответствующим образом (возможно, сначала нужно сделать # 4, чтобы вы знали, какие машины имеют более высокий приоритет, чем другие (т. е. эта рабочая станция для штатного сотрудника, занятого неполный рабочий день, может выдержать неудачное обновление гораздо больше, чем бухгалтер, который сокращает зарплатные чеки).
Поговорите со своими пользователями: узнайте, что работает хорошо, а что не работает, почувствуйте уровень терпимости к изменениям, уровень их комфорта с ИТ (вы можете нанять помощника, чтобы навести порядок) и любые списки пожеланий, которые они могут иметь. Понимать их бизнес-процессы; Как системный администратор, вашим приоритетом должно быть обеспечение того, чтобы системы, от которых зависит функционирование бизнеса, работали в хорошем состоянии, и для этого вам необходимо знать, как все используют эти системы.
После №1 вы должны иметь представление о том, как устроена сеть. Ищите старые ступицы, которые можно заменить; вам понадобится как минимум 10/100 везде, в зависимости от переключателя. Проверьте брандмауэр / маршрутизатор (убедитесь, что он есть), проверьте наличие открытых точек доступа Wi-Fi и т. Д.
Если вы действительно идете по пути Linux, придерживайтесь дистрибутива, который хорошо поддерживается сообществом (Ubuntu был бы хорошим выбором), и настраивайте его на любом оборудовании, которое вы можете себе позволить (как вы знаете, LAMP-коробка может оказаться отключенной. арендовать рабочую станцию P4 на данный момент) и максимально изолировать от действующей системы. В качестве учебного упражнения (которое может принести огромные дивиденды в сценарии аварийного восстановления) попробуйте сначала заставить основные приложения, работающие на текущем сервере, работать на другом компьютере с Windows - используйте свою полную резервную копию, которую вы сделали в # 2, чтобы сделать тестовое восстановление; получайте удовольствие от этого :)
Что касается вашей тестовой установки, вы можете купить что-нибудь мощное с большим количеством ОЗУ, а затем вы можете виртуализировать (ESXi бесплатен, XenServer и VirtualBox тоже бесплатны), но если текущий сервер - Windows 2003 или старше, вы, вероятно, можете получить это приложение FoxPro, работающее на взятой в аренду рабочей станции Windows XP по дешевке.
Теперь похлопайте себя по спине; теперь у вас есть хорошие резервные копии; вы также выполнили тестовое восстановление и теперь лучше понимаете, как все работает вместе. У вас также, вероятно, есть (длинный) приоритетный список TODO, который займет вас в обозримом будущем.
Ох, и когда это все будет сделано, теперь у вас есть тестовая среда, и вы можете начать создавать свою утопическую систему "мечты" ... или, может быть, взять отпуск :)
Хотя я обычно предпочитаю Linux на стороне сервера, это определенно не одна из таких ситуаций. Придерживайтесь Windows, и вы никогда не узнаете об ужасах управления разрешениями Windows с помощью списков контроля доступа POSIX. Не выгружайте файлы в базы данных, и ваши резервные копии будут намного проще. Создайте чистую среду Active Directory, и у вас будет время на долгие обеды вместо того, чтобы менять пароли пользователей в десятках мест каждый раз, когда они их забывают.
На самом деле вы пытаетесь изобрести все виды колес:
И я гарантирую вам, что если вы все же попытаетесь написать все с нуля, ваша компания потеряет больше денег, ваши пользователи будут ненавидеть вас, и ваша безопасность работы будет значительно снижена.
Я хотел немного подождать, чтобы увидеть, что ответили другие, но, судя по тому, что я могу понять из вашего вопроса и ответов, мне было бы трудно вообще оправдать создание серверной инфраструктуры. Я бы взглянул на решение для малого бизнеса Office 365 (http://www.microsoft.com/en-us/office365/online-software.aspx), что звучит так, будто это именно то, что вам нужно. У вас нет опыта управления сервером Windows, но вы чувствуете себя комфортно с продуктами MS. Для всех задач базы данных, которые вы хотите выполнить, вы можете использовать sharepoint (вы также получаете доступ к MS через Интернет для этих легких, но нестандартных потребностей) Стоимость на пользователя начинается с 6 долларов. И если вы хотите перейти на Dynamix great plains, даже если это доступно в размещенном решении (вот один выбранный Google - http://www.mygpcloud.com/accounting-solutions/business-essentials.aspx).
Короче говоря, я действительно считаю, что малому бизнесу без большого опыта, чтобы оправдать расходы, необходимые для владения собственной инфраструктурой, непросто.
ОБНОВИТЬ:
Меня что-то беспокоит в этом вопросе, и, наконец, до меня дошло, что вы ищете решение технических проблем, а не бизнес-проблемы. Например, вы упомянули в исходном посте, что хотите хранить файлы в базе данных. Зачем? Есть ли для этого какие-то деловые причины? Что не так с совместным доступом к файлам? Я думаю, что прежде чем рассматривать такие вещи, как выбор платформы и программного обеспечения, имеет смысл взглянуть на потребности бизнеса и оценить возможные решения для каждого набора требований.
Я ожидал, что один из наиболее опытных и красноречивых людей напишет действительно длинный и авторитетный пост в ответ на ваш вопрос. Тем не менее, вот мой лучший удар:
Шаг 1. Проведите небольшое исследование, посчитайте количество пользователей, общий объем данных, как они защищены от сбоев? Шаг 2: Проведите инвентаризацию существующего оборудования, посчитайте все, серверы, маршрутизаторы, коммутаторы, надеюсь, без концентраторов). Шаг 3: (Мой личный фаворит) Решите, можете ли вы передать некоторые услуги внешнему провайдеру экономически эффективным способом. Например, для небольших организаций размещенная на хосте электронная почта - хорошая вещь, чтобы не беспокоиться об издержках управления. Шаг 4: Определите, какое оборудование и программное обеспечение требуется для нормальной работы, и есть ли какие-либо существующие проблемы, такие как место для хранения, производительность и т. Д. Шаг 5: Составьте план устранения существующих проблем.
Здесь вам нужно будет найти баланс между тем, что нужно вашему бизнесу, тем, что вы хотите (чтобы ваша работа была проще), и тем, что удобно посередине. Если бы это был я, я бы начал с инфраструктуры и удостоверился, что маршрутизация и коммутация надежны (читай: не концентраторы 10 МБ). Затем я бы оценил возраст «сервера» и планировал заменить его парой дублирующих партнеров. Если один сервер выполнял свою работу на протяжении долгого времени, хорошая пара систем, вероятно, хорошо справилась бы с этой задачей в будущем.
Что касается миграции пользователей, это просто вопрос планирования. Как я уже сказал, начните с инвентаризации.
На вашем месте я бы начал с малого и вносил постепенные улучшения, которые стоили только времени.
Я сделал нечто похожее на то, что вы говорите, более 10 лет назад. Хотя мы начали с 7 сотрудников и выросли до 30 с лишним. ИТ-системы не было, поэтому я ее собрал.
Система, которую я установил тогда и поддерживал примерно 5 лет назад (не считая всех недавних обновлений), все еще используется сегодня, и компания все еще работает. В какой-то момент это был полностью Linux, но в основном потому, что мы не могли позволить себе сервер Windows.
Теперь это Windows-сервер с AD и внутренним DNS, обеспечивающий разрешение для локальных принтеров и так далее. Маршрутизатор / брандмауэр, который на самом деле является freebsd и выполняет сканирование почты и т. Д., Хотя вы можете использовать pfsense или гораздо меньше.
Кстати, Linux - это здорово, но Samba - настоящая головная боль, и даже при правильной настройке и работе, как и должно, она не работает так же хорошо, как сервер Windows! В то время не хватало важных функций, и я считаю, что они все еще есть. Так что сделайте себе одолжение и выберите Windows Server.
Не обновляйте систему бухгалтерского учета, если в этом нет необходимости. Не чините то, что не сломалось. Удовлетворяет ли это потребности компании? а если нет, то подумайте об обновлении до чего-то другого.
Организация файлов - это просто вопрос управления общими ресурсами и вещами, а также обучение людей, куда их помещать. Это может быть просто ручной процесс. Не помещайте их в базу данных, вы пожалеете об этом. С базой данных резервное копирование и восстановление становится трудным. Что делать, если вы потеряете файл и просто захотите восстановить одну запись, содержащую этот файл? тем временем вы добавили другие записи .. теперь вам нужно слить, чтобы вернуть один файл, фу!
Мои 2 цента, если вы не занимаетесь ИТ-консалтингом. Рентабельность инвестиций лучше потратить на развитие технологий в бизнесе, а не наоборот. Если вы хотите, чтобы лаборатория построила лабораторию, но если вы используете технологии для развития своего бизнеса, наймите консультанта, совокупная стоимость владения будет ниже.
@Calvin Я живу в таком месте. Наши консультанты приехали из региона, в 2-3 часах езды. В большинстве случаев они работают удаленно, когда у нас возникают проблемы, но они приезжают на место для реализации проекта.
(примечание автора: меня не устраивает использование таких терминов, как ROI и TCO, но ИМХО они здесь актуальны).