Найти тему
Поясни за DevOps

Что такое DevOps и чем занимаются DevOps-инженеры?

Учитывая тот факт, что слово «DevOps» присутствует в названии канала, считаю преступлением не поговорить о том, что же это такое, зачем нужно и что за звери такие эти DevOps-инженеры.

Само слово «DevOps» является сокращением от сочетания «Development Operations». Если коротко, то это сочетание культурных принципов, подходов и средств, которое улучшает способность компаний создавать приложения и сервисы на высокой скорости. Возникло это движение, если верить различным источниками, где-то в 2007-2008г. Почему же оно возникло? Все очень просто: разработчики ПО (т.е. те, кто пишут код) работали независимо от инженеров по эксплуатации (т.е. тех, кто занимается развертываниеи и поддержкой этого кода), из-за чего возникали проблемы во взаимодействии команды разработки и команды эксплуатации. Разработчики считали, что если код у них локально работает, то его можно запускать в продакшен. В случае возникновения проблем и ошибок команда эксплуатации сразу переводила стрелки на разработчиков, мол, «ошибки в коде, пусть авторы и разбираются». При таком подходе срывы сроков релиза продукта и снижение качества его работы неизбежны.

DevOps позволяет решить эти проблемы, т. к. в его модели границы между группами разработки и эксплуатации стираются. Иногда две эти группы объединяются в одну общую, где инженеры работают над всем жизненным циклом приложения – от разработки и тестирования до развертывания и эксплуатации – и развивают целый ряд навыков, не ограничиваясь узкой специализацией. В некоторых моделях DevOps группы контроля качества и безопасности также более активно взаимодействуют с группами разработки и эксплуатации на протяжении всего жизненного цикла приложения. В случаях, когда безопасность является приоритетом для всех участников группы DevOps, такой подход могут называть DevSecOps.

Чем же в итоге занимается DevOps-инженер? В предыдущем посте была опубликована ссылка на roadmap, в котором можно увидеть много «страшных» слов. Могу сказать, что не просто так приводится такой обширный перечень навыков, которыми должен владеть DevOps-инженер, т. к. по сути он должен разбираться и в программировании, и в инфраструктуре, более того, он еще должен суметь объединить эти знания для оптимальной работы бизнеса. DevOps-специалист должен обладать действительно хорошим кругозором и постоянно его расширять, занимаясь постоянным изучением и тестированием новых проектов и технологий. DevOps-инженер должен постоянно задавать себе вопрос: улучшит ли данная технология наш проект? Какой язык выбрать: Ruby, Python, Go или написать на чистых плюсах? Как доставить изменения в продакшен, чтобы не сломать работающие сервисы?

Стать DevOps-инженером с нуля не так просто, «золотого ключика» не существует. Но «золотого ключика» не существует и ни в какой другой области — везде нужно учиться, читать, пробовать, снова читать и т. д. В определенный момент станет интересно и будет уже сложно остановиться. Ну а данный канал, надеюсь, будет полезным ресурсом, который поможет вам в этом нелегком деле 😉

#ПоясниЗаDevOps #DevOps #DevOpsИнженер