2021-05-01 14:29:20
#вашивопросы
Здравствуйте! DevOps это сисадмин с элементами знаний программиста, или программист, который полностью может и заменить сисадмина? Или таковыми могут называть всех, кто знает и ту, и другую работу?
Я вижу началась путаница в терминах, всё ж таки «гибрид» программиста с админом - это скорее метафора.
Давайте разберёмся, что значит DevOps. Прежде всего, это не человек и не профессия, DevOps - это
процесс, либо
методика разработки и поставки готовых программ пользователю. Расшифровывается это слово как Development + Operations, development - это собственно разработка программ, а operations - эксплуатация, то есть сборка, поставка в продакшен, мониторинг за работоспособностью программ.
Представим какой-нибудь продукт, например, поисковик яндекса - Dev - это разработчики, которые придумывают алгоритмы поисковика и пишут код, а Ops - это люди, которые получают от разработчиков готовый код, создают из него сборку, готовую для выкладывания в продакшен, собственно релизят новые версии (и тогда у пользователей появляется, например, новые возможности при использовании поисковика). Также эти люди следят за специальными графиками, на которых видно, насколько хорошо работает сайт, сколько там пользователей, хватает ли на всё ресурсов, есть ли какие-то проблемы. И если проблемы есть - оперативно их решают, например, откатывают код до предыдущей версии. В общем, это люди, которые отвечают за работоспособность конечного продукта.
Что же такое DevOps? Девопс - это процесс или идеология или методика, как угодно, которая подразумевает объединение функционала Dev и Ops. Либо сближение и более тесное взаимодействие этих двух областей.
В некоторых компаниях, особенно небольших, это означает, что сами разработчики не только пишут код, но и выкладывают его в продакшен, мониторят производительность и следят за работоспособностью сервисов. Таким образом ответственность не размазывается между разными отделами - отделом Dev и отделом OPs, сам написал программу - сам позаботься, чтобы она работала.
А в других компаниях появляется отдельная профессия, така как DevOps - инженер. Чаще всего это человек, отвечающий за
автоматизацию процесса деплоя программ. То есть его задача - организовать такую инфраструктуру, чтобы новая версия кода автоматически отправлялась на сборку, тестирование и, скажем, по одному нажатию кнопки - обновлялась в продакшене (и так же легко откатывалась обратно в случае неполадок).
Почему DevOps - инженеров называют смесью админов и программистов? Админами потому что - это люди, которые в том числе настраивают железо, а также всю инфраструктуру для того, чтобы на них запускать программы и приложения. А почему они как бы «на полшишечки» программисты - потому что их задача в том числе - собирать, запускать, тестировать и релизить
программы и следить, чтобы эти программы работали. В их обязанность не входит собственно создавать эти программы, писать код для них, но они должны
понимать - что вообще такое программа, как она работает, как из нее собрать и запустить работающий проект и какие при этом могут быть узкие места. Также DevOps-у может потребоваться умение писать хотя бы небольшие скрипты для автоматизации его задач.
Поэтому отвечая на ваш вопрос - DevOps-инженер - это в первую очередь сильный администратор, с глубокими знаниями именно тех технических аспектов, которые нужны для процесса DevOps. А процесс разработки ему требуется знать хотя бы на уровне ликбеза, Senior-программистом быть не обязательно.
И как счас называют сисадминов, что за серверы отвечают? Есть же навен ещё у них свой старший? Наподобие тимлида у программистовАдминов, которые отвечают за сервера, называют администраторами серверов (неожиданно, правда?). А старших среди них называют старшими администраторами, тех, кто руководит командой - называют тимлидами, а самых старших - руководителями отделов. Есть еще технический директор, но это обычно руководитель уже над всем IT в компании, не только над админами.
Задать вопрос автору блога можно здесь: @hum_it_bot
377 views11:29