Как выбрать серверное оборудование для компании-разработчика программного обеспечения?
Нам нужно выбрать серверное оборудование для небольшой компании по разработке программного обеспечения (всего 10-15 разработчиков и 15-20 пользователей сети).
У нас есть некоторые общие задачи, такие как доступ в Интернет (брандмауэр), электронная почта (фильтр спама), локальный NNTP-сервер, локальный FTP-сервер. Нам также нужен файловый сервер, сервер SMB. Я думаю, что они должны жить на отдельном сервере (серверах?).
Кроме того, у нас есть некоторые потребности в разработке:
- непрерывная интеграция (CruiseControl в настоящее время выполняет 5-10 проектов, для сборки каждого проекта требуется до 10 минут на компиляцию, упаковку кода Java и выполнение модульных тестов) - я считаю, что это наиболее трудоемкая задача;
- отслеживание проблем, отслеживание времени, вики и т. д. - несколько веб-приложений (в основном Java, работающие под Tomcat, каждому из них обычно требуется некоторая БД, размещенная на MySQL или PostgreSQL)
- контроль версий - несколько репозиториев SVN и один CVS для устаревших проектов.
Какое оборудование должно быть достаточно для этих целей? Есть ли подходы к определению (подсчитать необходимый процессор / память).
Заранее спасибо.
PS Мы задали этот вопрос одному из наших отечественных поставщиков серверов, они предложили два сервера (2 x Xeon 5405 + 8 ГБ ОЗУ для всей сети и 2 x Xeon 5430 + 32 ГБ ОЗУ + 12 x HDD SAS 146 ГБ для всех запущенных компонентов разработки на вм). Общая стоимость составляет около 13 тысяч долларов, что для нас довольно дорого.
6 ответов
Я рекомендую начать с одного сервера, на котором работает VMware ESX (или ESXi, если у вас ограниченный бюджет). Добавьте четырехядерный сетевой адаптер - это даст вам больше сетевых интерфейсов для использования в качестве сетевого маршрутизатора / виртуальной машины nat. Нет необходимости начинать с двух серверов - просто купите один и следите за его использованием. Если в какой-то момент в будущем вы достигнете лимитов ЦП / ОЗУ / диска одного сервера, приобретете другой, установите ESX и перенесете на него виртуальные машины.
Что касается технических характеристик оборудования, описанный выше "сервер разработки" выглядит хорошо. Если стоимость является проблемой, начните с 16G RAM - вы всегда можете обновить позже, если это будет необходимо.
Поскольку вы являетесь компанией-разработчиком, для многих функций брандмауэра / фильтрации / и т. Д. Я бы предпочел использовать блоки аппаратных устройств. Вы можете потерять некоторую гибкость, которую может дать полноценный сервер, но с точки зрения накладных расходов администратора (которые, я думаю, вы не готовы принять), это достаточно маленькая цена, чтобы заплатить.
Что касается файлового сервера, мой опыт работы с разработчиками заключается в том, что вам потребуется много места для хранения. Даже для всего 10-15 человек вы будете хранить несколько копий приложений, устанавливать файлы для нескольких версий инструментов и комплектов разработки, комплектов баз данных и т. Д., Поэтому определенно не экономьте там. Возможно, вы даже захотите делать резервные копии или создавать образы ваших компьютеров по ночам в сети, что занимает больше места.
Сколько именно вам нужно, зависит от того, какие инструменты вы используете, поэтому вам нужно будет подсчитать. Мое общее эмпирическое правило - взять эту цифру и удвоить ее, чтобы дать вам запас прочности на будущее.
Я не понимаю, почему такой компании, как ваша, нужна ваша собственная электронная почта. Опять же, это накладные расходы администратора, которые вам не нужны и, вероятно, не предназначены для этого, поэтому найдите хорошего внешнего провайдера - желательно такого, к которому вы можете легко позвонить и орать, когда что-то пойдет не так (это может быть гораздо важнее). чем любое количество приятных функций).
Не забудьте также выделить бюджет для резервного копирования!
Не покупайте Xeon 5400 для виртуальной машины. Xeon 5500 обеспечит лучшую поддержку виртуальных машин по той же цене.
Дисковый ввод-вывод будет узким местом для виртуальных машин, работающих только на внутренних дисках сервера. Вы должны смотреть на DAS или ISCSI SAN, чтобы добавить больше ввода-вывода. Похоже, внешнее хранилище выходит за рамки вашего бюджета.
Первый вопрос, который я хотел бы задать после просмотра этих спецификаций: сколько вы заложили в бюджет для этих серверов? Как насчет питания / охлаждения? Чтобы принять обоснованное решение о покупке оборудования, вам нужно рассмотреть не только приложения, которые вы хотите на них запускать.
Без выделенных ИТ-специалистов и ограниченного бюджета вы подходите для облачных сервисов, таких как Amazon EC2 для разработчиков и Google Apps для бизнеса. Вам будет меньше о чем беспокоиться, и ваши расходы будут зависеть от ваших потребностей, поэтому вы сможете избежать крупных первоначальных инвестиций. Конечно, это предполагает, что вы стоите на линии с фиксированной стоимостью (я помню, несколько лет назад обычная вещь у вас в лесу - платить за МБ, не знаю, как сейчас).
Если это не работает для вас по какой-либо причине (подключение, безопасность, босс слишком старомоден), вам просто нужно сделать то же самое в своей задней комнате. Получите пару мощных серверов (кстати, избавьтесь от тех, кто цитирует вас серию 5400, Nehalems намного лучше, это не смешно, а память, которая вам понадобится много, намного дешевле, $20/ ГБ или около того), поместите на них кучу виртуальных машин (используйте любую технологию виртуализации, которая вам больше всего по душе) и получайте удовольствие. Лучше всего иметь одну виртуальную машину на приложение - проще в управлении. Чтобы сэкономить время, используйте Jumpbox для своих внутренних приложений. Для брандмауэра и маршрутизатора есть Vyatta. Но вы все равно должны ожидать ценник в районе 10 тыс. Долларов - нет способа сделать это дешевле, если вы не готовы строить вещи из металлолома.
Похоже на мой собственный отдел. У нас около 30 разработчиков делают смесь PHP/Java для Linux/Apache/Tomcat/MySQL + Samba + SVN, и наша пара HP DL360 излишня. Я собрал бы комплект для вашего маршрутизатора / брандмауэра / электронной почты за 500 долларов и оставил бы старый компьютер в качестве резервной копии, а затем потратил бы, возможно, более приятную коробку, например HP DL380, на среду разработки.