До перехода через Рубикон девелоперы работали отдельно от спецов по эксплуатации, которые их код развертывали и поддерживали. Подружить два разных отдела смогла не совместная пьянка, а целая методология. Она поставила в красный угол инструменты автоматизации и ускорения процессов вместо пасхальных яичек.
Феномен девопс-инженерии
DevOps (комбо-вомбо английских терминов development & operations) — концепция реактивная. Она сформировалась не по желанию дяди Васи, а в качестве ответа на громадный пласт накопившихся проблем. Следи за руками:
- На дворе мрачные 2000-е — ленивые прогеры обновляют свои поделки раз в полгода, если не реже. Каждый релиз включает в себя много изменений, а следующая за датой его выпуска ночь — веселый аврал по исправлению глюков, нахрюков, багов и тормозов.
- За работоспособность программ отвечают не только кодеры, но и системные администраторы. Цели у чумб разные. Первые хотят все побыстрее сделать, и чтобы от них отстали. Вторые — не сидеть с красными глазами за мониторами до ночи, поднимая обвалившийся прод.
- Бизнес, заказывающий музыку, от творящейся вакханалии впадает в ступор и начинает задавать вполне логичные вопросы. Почему все делается так долго? С какого бока все постоянно ломается? Когда вы, бедолаги, наконец договоритесь, кто и за что отвечает?
Умы тысячелетия поднатужились и явили миру чудо — «дергопс», решивший все проблемы разом. Людей, взявших на себя ответственность за внедрение методологии, стали называть девопс-инженерами. Освоить такую профессию можешь и ты — после соответствующего курса в IT-школе TeachMeSkills.
Одно из первых нововведений, привнесенных «девопсерами» — практика CI/CD. До ее появления любые обновления заставляли специалистов обрубать доступ к сервису. Соответственно, бизнес терял клиентов и деньги — люди не желали ждать окончания технических работ и уходили к конкурентам. С приходом CI/CD все стало проще — продукт работает и обновляется в реалтайм-режиме, без перекрытия кислорода.
Детские болезни концепции DevOps
Как только методология приобрела популярность, на рынок прискакали зачаточные инфоцыгане. Ушлые ребята обещали «внядрыт эти ваши дергопсы» за два дня и несколько тысяч вечнозеленых. Владельцы фабрик «ООО Рога и Копыта» им, конечно же, поверили, что привело к появлению новых проблем:
- никто не понимал, о чем идет речь — вся суть внедрения сводилась к автоматизации простейших тасков типа обновления винды;
- никто не хотел изучать новые материалы — после задач вроде «подготовить виртуалку» и «поставить апач» спецов приобнимал дедушка Кондратий;
- никто не желал разбираться в легаси — старом коде, на котором продукты работали приблизительно со времен Брежнева.
Неприятностей доставляли и кровавые энтерпрайзы. Безопасники банков, страховых и финансовых контор били тревогу, рассматривая новую концепцию через стандартную для себя призму «как бы чего не вышло». Все пробелы, связанные с внедрением методологии, экспертам удалось устранить за пару лет.
Чем девопсы занимаются сейчас
Создать большой сайт, игру или приложение в одиночку сложно. Конечно, существуют уникумы, ваяющие проекты аки многорукие многоноги, но здесь речь идет скорее об исключении. Тем более, что даже небольшой портал необходимо поддерживать — обновлять, мониторить и защищать от вирусняка. Тут прогеры объединяются в команды и взаимодействуют друг с другом по концепции DevOps.
Трудятся они под руководством девопс-инженера, который:
- обеспечивает процесс непрерывной разработки;
- создает среду для нормальной координации между спецами и отделами;
- ускоряет и автоматизирует процессы;
- устраняет жесткую зависимость от отдельных людей и узких решений.
Все это позволяет повысить удовлетворенность продуктом — как на стороне команды, так и в кругах клиентов-потребителей.
Как стать DevOps-инженером без СМС и регистрации
В некрономиконе девопс-инженера — горы заклинаний, состав которых меняется от проекта к проекту. Тулзы поделены на три группы — «Линукс», «Виндовс» и «макОС» соответственно. Скиллами, которые пригодятся и «мелкомягким», и «линуксоидам», и «яблочникам», становятся:
- понимание принципов устройства и работы компьютерных сетей;
- умение работать с языками сценариев вроде PowerShell и Bash;
- глубокие знания всего, что связано с веб-серверами;
- готовность использовать технологии виртуализации;
- понимание оркестрации и способов управления сложными системами;
- навык обращения с базами данных во всех их проявлениях.
Операционные системы и сети, системы виртуализации и скрипты на Bash или Shell, система контроля версий Git и сертификаты SSL/TLS — хардовых скиллов у девопса должно быть много. Желательно отполировать список базами данных PostgreSQL и MySQL, контейнеризатором приложений Docker, языком Python, инструментами CI/CD, облачными службами GCP и оркестрацией на Kubernetes.
Не стоит забывать об Amazon Web Services, мониторинге на Grafana и Zabbix или логировании. Финальный штрих профессионального портрета — понимание методологий Agile и Scrum, хорошо сочетающихся с самой концепцией DevOps.
Изучить направление с нуля — реально. Специальность не требует отменных скиллов в программировании, а с сетками и «осями» можно разобраться с помощью книжек и лекций. Единственное исключение — люди, уважающие манную кашу с комочками и окрошку на кефире. Они необучаемые в принципе.
Ценник на услуги девопса — термоядерный. Парниша средней руки начнет чесаться за зарплату от 200 000 вечнодеревянных. Хочешь освоить профессию и получить ЧСВ размером с Луну? Добро пожаловать на курсы в школу TeachMeSkills. Мы сделаем из тебя не столько DevOps-инженера, сколько матерого айтишника, готового и рыбок есть, и ноги не мочить.