Эпос о системных администраторах как вымирающем виде
Системные администраторы всего мира, поздравляем вас с профессиональным праздником!
У нас системных администраторов не осталось (ну почти). Однако предание о них еще свежо. В честь праздника мы подготовили этот эпос. Устраивайтесь поудобней, дорогие читатели.
Once upon a time мир Dodo IS был в огне. В то тёмное время главной задачей наших системных администраторов было пережить еще один день и не заплакать.
Давным-давно программисты писали код мало и медленно, а выкладывали его на прод всего раз в неделю. Вот и проблемы возникали всего раз в семь дней. Но потом они стали писать больше кода и выкладывать его чаще, проблем стало прибавляться, иногда всё стало разваливаться, а откатываться стало хуже. Системные администраторы страдали, но терпели этот балаган.
Сидели они по вечерам дома с тревогой на душе. И каждый раз случалось «никогда не было, и вот опять мониторинг шлёт сигнал о помощи: Чувак, мир в огне!». Тогда наши сисадмины надевали свои красные плащи, трусы поверх лосин, делали кудряшку на лбу и летели спасать Dodo мир.
Внимание, небольшое пояснение. Классических системных администраторов, которые обслуживают железо, в Dodo IS не было никогда. У нас сразу были продвинутые на облаках Azure.
Чем же они занимались:
- если что-то ломалось, делали так, чтобы чинилось;
- жонглировали серверами на экспертном уровне;
- отвечали за виртуальную сеть в Azure;
- отвечали за низкоуровневые вещи, например, взаимодействия компонентов (*шепотом* в которых иногда нихрена не шарили);
- реконнектами серверов;
- и многим другим диким.
Жизнь команды инженеров инфраструктуры (так мы звали наших сисадминов) тогда состояла из тушения пожаров и вечно ломающихся тестовых стендов. Жили они и тужили, а потом решили задуматься: что ж так плохо-то, а может сделаем лучше? Например, не будем разделять людей на программистов и сисадминов?
Задачка
Дано: есть сисадмин, у которого в зоне ответственности серверы, сеть, которая соединяет его с другими серверами, программы уровня инфраструктуры (веб-сервер, который хостит приложение, система управления базами данных и т.д.). И есть программист, у которого зона ответственности — работающий код.
А есть вещи, которые находятся на стыке. Это чья получается ответственность?
Обычно как раз на этом стыке встречались наши сисадмины и программисты и начиналось:
— Чуваки, ниче не работает, наверное из-за инфраструктуры.
— Чуваки, да нет, дело в коде.
Однажды в этот момент между ними начал расти забор, через который они радостно бросались какашками. Задачу, как какашку, перекидывали с одной стороны забора на другую. При этом к разрешению ситуации никто не приближался. Грустный смайл.
Луч солнца пронзил пасмурное небо, когда несколько лет назад в Google придумали не перекидываться задачами, а вместо этого делать общее дело.
А что если описать всё как код?
В 2016 году Google выпустил книжечку «Site Reliability Engineering» про трансформацию роли системного администратора: от магистра магии к формализованному инженерному подходу в использовании ПО и автоматизации. Они сами прошли через все тернии и препятствия, наловчились и решили поделиться этим с миром. Книжка в открытом доступе лежит тут.
В книге заложены простые истины:
- делать всё как код — хорошо;
- использовать инженерный подход — хорошо;
- делать хороший мониторинг — хорошо;
- не давать выпуститься сервису, если у него нет понятного логирования и мониторинга — тоже хорошо.
Эти практики прочитал наш Глеб (entropy), и понеслось. Внедряем! Сейчас мы находимся в переходной стадии. Команда SRE сформирована (есть 6 готовых спецов, еще 6 проходят онбоардинг) и готова менять мир, полностью состоящий из кода, к лучшему.
Мы создаем нашу инфраструктуру таким образом, чтобы дать возможность разработчикам полностью самостоятельно менеджить свои окружения и заниматься коллаборацией с SRE.
Вангуем вместо выводов
Системный администратор — достойная профессия. Но к знаниям системной части также нужны отличные навыки software engineering.
Системы становятся проще и проще, а суперуникальные знания по администрированию железных серверов с каждым годом становятся менее востребованными. Облачные технологии вытесняют потребность в этих знаниях.
Хороший сисадмин в ближайшем будущем должен будет обладать неплохими навыками software engineering. А еще лучше, чтобы он обладал хорошими навыками в этой сфере.
Никто не умеет предсказывать будущее до момента его наступления, но мы считаем, что со временем будет всё меньше и меньше компаний, которые захотят увеличивать бесконечно раздувающийся штат системных администраторов. Хотя, конечно, любители останутся. Немногие же сегодня ездят на лошадях, в основном пользуются автомобилями, хотя находятся любители…
Всех с днём сисадмина, всем код!