Я собираюсь построить ферму серверов для веб-бизнеса, мне потребуются серверы интерфейсных веб-сервисов и общий серверный файловый сервер NAS.
Некоторые компании предпочитают покупать самое быстрое и надежное оборудование, которое стоит дорого. Другие компании предпочитают покупать дешевое компьютерное оборудование с более низкими характеристиками, но в большем количестве. Они создают системы с высокой степенью резервирования, которые заменяют при выходе из строя. Я считаю, что Google использует этот более поздний подход.
Может ли кто-нибудь предложить мне какой-либо конкретный жизненный опыт и совет?
Это зависит от вашего приложения и толерантности к сбоям.
Если вы используете базу данных Oracle для финансового бизнеса, вам нужны дорогие серверы с заменяемыми в горячем режиме частями и встроенным резервированием (блоки питания, диски, даже ЦП и память).
Если это веб-сервер или вычислительные серверы с хранилищем NAS, обходитесь дешево (на сервере, а не на NAS), если вы можете без особого ущерба терпеть потерю коробки.
Не переходите так дешево, чтобы постоянно менять плохое оборудование.
Основное правило для меня - использовать рейд для защиты важных данных на диске, но покупать дешевое обычное оборудование для вычислительных и веб-ферм. Получите хороший балансировщик нагрузки, который может определить, когда веб-сервер не отвечает, и пометить его как отключенный.
Реальный жизненный опыт:
Плохо: запуск Oracle на стандартном оборудовании был дешевым решением, которое мы смогли собрать очень быстро, но плохой вентилятор процессора вызвал сбой сервера, который вынудил нас восстановить Oracle с ленты (тьфу!).
Хорошо: мы заменили 2 высокопроизводительных машины с сильным резервированием на 70 стандартных стоечных серверов. Мы смогли отказаться от обслуживания двух машин и начали покупать «запчасти» по 2500 долларов. Думаю, что за 2 года мы использовали только около 6 «запасных частей» (реальная проблема заключалась в том, чтобы избежать использования запасных частей для других целей).
Лично я рекомендую своим клиентам, чтобы компьютеры, которые должны быть высоконадежными, были компьютерами известных производителей с текущей поддержкой высшего уровня.
Я называю это «поддержкой на упакованном уровне» в честь расы пришельцев в «Звездном пути», потому что вы должны иметь возможность позвонить в службу поддержки днем или ночью и сказать Я $ NAME в $ COMPANY. Номер моего контракта на поддержку - X долларов. Мой компьютер - $ TYPE, серийный номер $ NUMBER. Он сломан, сделай это и ожидайте, что какой-нибудь парень появится через 2-4 часа, чтобы сделать именно это.
Теперь рассчитывай заплатить хорошие деньги за такую поддержку. Но если тебе нужно встать, оно того стоит.
По большей части я предпочитаю предварительно собранные компьютеры с гарантией и поддержкой, потому что обычно не стоит денег клиента платить мне за спецификацию, заказ и сборку дешевых компьютеров.
Для компьютеров вы можете простоять несколько часов / дней, более дешевое оборудование, вероятно, подойдет. Например, если у меня пять веб-серверов, я хочу, чтобы два из них были высокодоступными, а остальные будут дешевле. Для вычислительных ферм я выберу более дешевое оборудование.
Создание серверов с возможностью горячей замены чрезвычайно сложно.
Выбирайте дорогие.
На эту тему есть хороший пост в блоге Джеффа, где он также смотрит на плату за электроэнергию и лицензию.
По моему опыту, дешевое оборудование тоже стоит дорого. Я уверен, что вам не нужна высокопроизводительная модель профессионального сервера для обслуживания нескольких веб-сайтов. Но ты не хочешь пропустить
Кроме того, рассмотрите возможность использования хорошего балансировщика нагрузки, HTTP-кеша (например, Squid
), PHP-кеш (например, ACP
) и memcachd
, если он подходит для вашего веб-приложения. Это может привести к устареванию некоторых внутренних серверов на достаточно загруженном сайте.
Воздушный поток, воздушный поток, воздушный поток.
Найдите местного поставщика, создайте машину по разумной цене, изучите компоненты, чтобы не покупать лимонные детали, и убедитесь, что она перемещает через себя обильное количество воздуха. Когда снаряжение остается холодным, оно длится намного дольше. Избыточность - это хорошо, но в зависимости от размера вашей организации она может оказаться излишней. Если вам действительно нужна избыточность, возможно, вам стоит подумать о приобретении меньшего количества машин с гораздо большей отказоустойчивостью (hdd, cpu, mem, psu, вентиляторы и т. Д.) И работающих виртуальных серверов. Таким образом вы получите отказоустойчивость вашего сервера, а также дополнительное преимущество работы виртуальных машин. Тем не менее, рекомендуется держать серверы БД на отдельном оборудовании или, по крайней мере, записывать их в выделенный массив рейдов.
У самого дорогого оборудования есть самые дешевые контракты на 4-часовой ответ.
Самое дорогое устройство, которое я знаю, было самым дешевым с самого начала, но производитель не смог / не захотел починить его, когда он сломался. У них также было продление самых дорогих контрактов на обслуживание (которое оказалось бесполезным).
В гонке за срок службы системы от 3 до 5 лет без серьезных простоев вы не хотите, чтобы ваша запись была помечена как «Не завершена».
Я думаю, это полностью зависит от вашей ситуации ... это зависит от того, хотите ли вы, чтобы кто-то был виноват, или держите техобслуживание дома.
Если вам удобнее обвинять поставщика, заключите контракт на поддержку. Если вы хотите сэкономить деньги и создать группу специалистов по ИТ-поддержке, которые со временем будут стоить намного больше, сделайте собственное оборудование, которое дешевле, но больше оборудования для резервирования.
Вам, вероятно, следует сесть и проанализировать планы действий в случае бедствий и отдельные точки отказа и сравнить их с тем, сколько денег вы можете потерять. Я не знаю, какую нагрузку вы ожидаете на серверах, но могу сказать, что если вашему бизнесу абсолютно необходимы ИТ-услуги для работы, вам нужно спланировать все, что, если вы можете ... диск выходит из строя, резервное копирование вне офиса , пожар в серверной комнате (или отключение электроэнергии ... сколькими способами вы можете получить там питание?), отказ контроллера, отказ материнской платы и т. д. и как долго вы можете обходиться без услуг, прежде чем это нанесет ущерб бизнесу, а затем сколько стоит ли не снижаться (или направлять свои потребности в поддержку) или сколько вы потеряете за время, необходимое для внедрения другой системы?
Если у вас есть хороший персонал, вы можете инвестировать в идентичные серверы и VMWare с помощью решения iSCSI или SAN с RAID плюс хороший сервер резервного копирования для внутреннего хранилища.
Проанализируйте свои потребности, просмотрите все возможные сценарии сбоя, посмотрите, какова стоимость избыточности, и разработайте план действий в этих чрезвычайных ситуациях, а затем посмотрите, хотите ли вы доверять поставщику гарантированное обслуживание для этих проблем или хотите ваши штатные сотрудники должны быть к этому готовы.
Честно говоря, мне важно сначала проверить это на практике с точки зрения бизнеса. Это технический вопрос, который зависит от бизнес-требований.
Так что задайте себе вопрос. Что для вас важнее: доступность системы или снижение стоимости? Если требуется, чтобы эта система работала без простоев, то, безусловно, в ваших интересах взглянуть на оборудование премиум-класса. Однако, если вы беспокоитесь о том, чтобы сэкономить на своем бюджете, то, безусловно, второй вариант использования систем более низкого уровня также имеет смысл. Я использовал рабочие станции в качестве серверов, чтобы снизить затраты, и просто приобрел привычку строить их, чтобы, если сервер, работающий на рабочей станции, выйдет из строя, его можно было быстро перенести на другой резервный сервер. Хотя это не принесет награды демона скорости. Это позволит преодолеть разрыв между первым днем и временем, когда у вас будет достаточный денежный поток для инвестирования в соответствующие отраслевые стандартные решения.
Еще одна вещь, которую следует учитывать, - это то, во что вам будет стоить обслуживание оборудования, которое с большей вероятностью потерпит неудачу в людях и материалах? Иногда имеет смысл сделать решительный шаг, если вы знаете, что поддержка оборудования более низкого уровня поставит вас за рамки 8.
Всего лишь мои 0,02 доллара ... Надеюсь, это даст вам повод пережевывать.
Размещение, безусловно, является одним из наиболее важных факторов, влияющих на потребление энергии и, следовательно, на стоимость вычислений. Есть места с более прохладным климатом, чем в континентальной части США, и с более доступным экологически чистым электричеством. Я бы порекомендовал всем, кто рассматривает возможность размещения центра обработки данных, взглянуть на финский веб-сайт по этим вопросам: http://www.fincloud.freehostingcloud.com/