Почему администрирование серверов ключевых открытых проектов поручают студентам

08.01.2010 23:43

Ланс Альбертсон (Lance Albertson) главный системный адмнистратор лаборатории открытого кода университета штата Орегон (OSU Open Source Lab) рассказал в интервью изданию techtarget.com о том, что большинство системных администраторов в его подчинении студенты возрастом от 18 до 21 года. Именно им поручается управление серверами ключевых открытых проектов, среди которых основной сайт распространения Linux ядра Kernel.org, сайты Linux Foundation, Apache Software Foundation, сообщества Drupal, Mozilla Firefox, One Laptop Per Child, GNOME, PostgreSQL и еще 50 проектов.

По словам Ланса такой подход оправдывает себя, хотя главная причина использования студентов на ответственной работе - это желание свести стоимость обслуживания к минимуму. С другой стороны студентам выпадает редкий шанс получить бесценный опыт, поучаствовав в администрировании крупнейших проектов и поняв как управлять большим числом серверов. Студенты занимаются всеми аспектами деятельности системного администратора, от размещения серверов в стойках и установки ОС, до настройки отдельных приложений, применения обновлений и решения возникающих проблем.

Чтобы такой опыт не был получен ценой проблем на обслуживаемых серверах, предпринято несколько мер. Во первых, студентам поясняется какая ответственность ложится на их плечи и как правило они относятся к своей работе более внимательно, понимая, что от того как они себя зарекомендуют напрямую зависит будущее трудоустройство. Во вторых, новички некоторое время работают под пристальным вниманием наставника (как правило это более опытный студент) и только после полу года стажировки, администратор получает некоторую степень свободы.

С точки зрения тех. процесса, все производимые на серверах действия документированы во внутренней wiki, что позволяет всегда иметь под рукой готовую инструкцию. Все изменения конфигурации отражаются в системе управления исходными текстами Git, что позволяет начинающим администраторам учиться разбирая ранее вносимые изменения, а опытным работникам контролировать работу других сотрудников и при необходимости откатывать внесенные изменения.

Кроме Git, для централизованного управления конфигурацией используется Cfengine, но в настоящий момент данная система не отвечает всем требованиям OSU Open Source Lab и ближайшее время планируется миграция на Puppet. За плечами Puppet стоит обширное сообщество разработчиков, в то время как развитие Cfengine целиком в руках одного человека, который единолично решает какой патч принять, а какой нет. Кроме того, Cfengine изначально развивался как университетский исследовательский проект, в то время как Puppet сразу позиционировался в качестве промышленного решения для управления конфигурацией на большом числе машин. К тому же основные разработчики Puppet находятся в одном городе с OSU Open Source Lab и готовы оказать помощь в любой момент. С технической стороны, Puppet является более гибким решением, позволяющим легко расширять возможности по решению возникающих задач, самостоятельно создавая дополнительные модули на обычном языке программирования. В Cfengine для этих целей используется свой язык с достаточно своеобразным синтаксисом, не предназначенным для решения сложных задач.