Как научить разработчиков ПО разрабатывать инфраструктуру ЦОДа за шесть месяцев: опыт компании Google
27 июля 2016 г. | Категория: Мир
Если вы являетесь разработчиком программного обеспечения Google, то компания не только захочет, чтобы вы разбирались в инфраструктуре, для которое его разрабатываете, компания захочет, чтобы вы этой инфраструктурой могли управлять. Google внедряет программу обучения на шесть месяцев для разработчиков ПО в команде из коллег-инженеров в собственных и арендованных ЦОДах компании.
Программа была заимствована у НАСА и была названа «Mission Control». Ее цель – донести до инженеров-разработчиков, как строится инфраструктура дата-центров Google и как эксплуатируются высоконадежные услуги компании по всему миру.
Когда «студенты» попадают в команду к своим коллегам, которые, по расхожему мнению, находятся по другую сторону баррикад, они неожиданно понимают, что говорят с этими людьми на одном языке, как утверждает один из инженеров, прошедший программу. Как уже не раз заявляли в компании Google, у них отсутствуют системные администраторы в общедоступном понимании. Компания нанимает инженеров-программистов для разработки и запуска программного обеспечения, которое впоследствии управляет инфраструктурой в ЦОДах, потому что уверена, что они справятся лучше любого сисадмина.
«Оказывается, сервисы работают лучше, когда люди, которые понимают, как работает ПО для инфраструктуры, также умеют этой инфраструктурой управлять», - заявляет директор проекта «Site Reliability Engineering» Мелисса Байнд. «У них есть глубокое понимание того, как «часы тикают», как вообще происходит все взаимодействие».
В Google считают, что такое объединение разработчиков и инженеров пойдет только на пользу. Проблема их взаимодействия зачастую заключается в том, что при четком разделении на группы «по обязанностям», они не заинтересованы помогать друг другу, скорее наоборот.
Как поясняет Мелисса Байнд, девелоперы в рамках программы получают определенные бонусы за разработку новых функций для инфраструктуры, сисадмины же зарабатывают очки за поддержание ее бесперебойной работы. Чем чаще появляются новые функции, тем сложнее поддерживать инфраструктуру и наоборот. Программа Google нацелена на то, чтобы сисадмины научились предотвращать падения инфраструктуры фактически на уровне программирования, а девелоперы – разрабатывать и модернизировать инфраструктуру с учетом полученных знаний о «механике» ее работы.
Термин «Site Reliability Engineering» появился всего пару лет назад, но успел закрепиться в некоторых технологических компаниях, которые хотят следовать примеру Google. Последние же в марте этого года выпустили книгу «Site Reliability Engineering. How Google Runs Production Systems», где подробно рассказано об их программе и о том, насколько она эффективна. Теги: Google, Site Reliability Engineering
|