Chef управляет серверами Facebook


Сервера внутри дата-центра Facebook в городе Прайнвиль, штат Орегон.

Три года назад, онлайн-империя Facebook насчитывала 30 000 компьютерных серверов. Сегодня, судя по большому количеству потребляемой энергии дата-центрами Facebook, число серверов составляет более 150 000 – и это не предел.

Трудно себе даже представить – такое огромное количество машин. А теперь представьте загрузку, на каждую из этих 150 000 машин, программного обеспечения, необходимого для обслуживания нескончаемого потока фотографий, видео, сообщений и лент новостей более миллиарда пользователей по всему миру. А потом представьте, повторение этой задачи всякий раз, когда программное обеспечение нуждается в изменении. А такое случается часто – несколько раз в час.

Нет, это не возможно сделать самостоятельно. Джереми ЛаТрасс (Jeremy LaTrasse), который когда-то руководил дата-центром Twitter, а теперь управляет почтовым онлайн- сервисом MessageBus, сравнивает эту задачу с мойкой автомобилей. «Если у вас в гараже три машины, то вы можете вымыть их вручную», — говорит он. «Но если у вас тысячи машин, то вам нужно прибегнуть к помощи автоматизированной мойки. Мыть их вручную — это не вариант «. То же самое касается и 150 000 автомобилей. Сервис MessageBus использует Chef для развертывания программного обеспечения на виртуальных серверах, установленных на нескольких облачных сервисах.

Традиционно, сетевые гиганты – Google, Amazon и Facebook – создают свои собственные инструменты для автоматического развертывания и настройки программного обеспечения.

На этой неделе Facebook стала использовать новую версию Chef.

Chef — это инструмент «DevOps», позволяющий автоматизировать операции дата-центров с помощью небольших программ. Chef — это не новый инструмент, но он был недавно переработан согласно потребностям Facebook. Компания Facebook помогла разработать новую версию инструмента Chef говорит Адам Джейкоб (Adam Jacob), создателя Chef и сооснователь компании Opscode, продающей этот инструмент.

Chef — платформа с открытым исходным кодом, упрощающая процессом развертывания серверов. Работает на операционных системах Windows, Unix и Linux.

Facebook отказалась обсуждать использование Chef. В конце этого года Facebook планирует рассказать все подробности на пресс-конференции. Компания Facebook подтверждает, что работала с компанией Opscode над новой версией инструмента, и что они «довольны тем, как идут дела».

Dreamhost — лос-анджельский облачный сервис — также использует новую версию Chef в своих трех дата — центрах. Карл Пери (Carl Perry), курирующий разработку сети Dreamhost, считает, участии Facebook в разработке Chef — вехой в эволюции программного обеспечения DevOps.

Люк Канис (Luke Kanies) — основатель компании Puppet Labs, чья Puppet платформа конкурирует с Chef, утверждает, что Puppet уже готовое решение для массивных серверных ферм. «Впечатляет, что Opscode достигла такого масштаба», — говорит он, «но мы достигли такого масштаба уже как четыре года назад». Люк Канис говорит, что инструмент Puppet работает на 50 000 серверов игровой компании Zynga — и на 300 000 серверных кластеров Европейского Центра ядерных исследований (ЦЕРН) в Швейцарии.

Благодаря Chef, администраторы дата-центров могут писать небольшие программы на популярном языке программирования Ruby. Эти программы могут устанавливать программное обеспечение — например, операционную систему, а также обновлять и настраивать существующее программное обеспечение. Скажем, установить патч или изменить параметры безопасности.

Puppet работает аналогичным образом, — кроме того, вы создаете программы на собственном специализированном языке программирования. Оба инструмента также могут быть использованы для установки программного обеспечения на виртуальных серверах, и облачных сервисах, как Amazon EC2 — или на настольных компьютерах и ноутбуках, работающих в вашей офисной сети.

Раньше сервер Chef был написан на Ruby. В компании Opscod, для улучшение работы, переписали сервер на язык Erlang. В настоящее время компания использует базу данных PostgresSQL для развертывания программного обеспечения.

Карл Пери считает, что: «Ruby отлично работает с сервером. Но, как только вы добавляете больше клиентов, вы начинаете сталкиваться с непредсказуемостью на сервере. С Erlang, этой проблемы нет. Самое хорошее в Erlang, что вы можете добавлять дополнительные серверы и легко распределять нагрузку между этими серверами».

Теперь Chef может управлять сайтом размером с Facebook.

Источник: www.wired.com, 8 февраля 2013; Автор:Cade Metz


Перевод выполнен abv24.com




Опубликовано 10.02.2013 в 12:15 дп · Автор abv24 · Ссылка
Рубрики: Социальные медиа · Теги: 

@Mail.ru