Девопсы, расскажите о своей работе

Здесь есть так называемые "девопс-инженеры"? Как вкатились в профессию, как проходит ежедневная рутина? Можно ли освоить профессию, имея только базовые знания в пайтоне и администрировании линукса? Необходимый стек технологий я понимаю(который различается от компании к компании).

44

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

Девопсы получаются из админов, которым интересно в разработку или разработчиков, которым интересно в администрирование/инфраструктуру.
Понимание круга обязанностей девопс инженера сильно варьируется от одной компании к другой.

В целом все хотят рабочий CI/CD и автоматические тесты кода, но разделение обязанностей у разных компаний происходит по разному.
Где-то разработчики сами следят за интеграцией кода и сборкой, отдавая условным админам/девопсам уже готовые билды, а те уже настраивают автоматический деплой на серверы.
Где-то разрабы только пишут код, а девопсу уже приходится билдить его и дальше выкатывать на сервера.
Где-то от девопса могут хотеть ещё и написание автотестов.
Плюс чисто админские вещи - разворачивание серверов, мониторинг и т.д.

В целом освоить профессию можно и без знания пайтона - всё зависит от возложенного круга обязанностей. Наверное её (профессию) стоит воспринимать как построение платформы самообслуживания для команды разработки.
Что касается вопроса как вкатывался - мне повезло прийти в компанию админом, а через пару лет мы стали сильно много потеть выкатывая код вручную и захотели автоматизацию по максимуму. Как-то так получилось что из 4х админов наибольший интерес проявил я - и на меня это всё свалилось. Без опыта мне пришлось потратить года три (это было на windows стэке, тулзов ещё не было, девопс на линуксе был ещё в диковинку, а с виндой вообще было всё грустно - только успели в европах придумать термин winops)

В linux стеке стоит освоить такие вещи:
хранилища кода: git (почти все хранят код в разных вариациях гита)
сборка (или билд или компиляция): teamcity, jenkins, maven - тут всё зависит от языка на котором будут разрабатывать в компании. В этом языке придётся разобраться что означают сообщения об ошибках, до обретения это скилла мифическая стена преодолевается походом к разрабам с вопросами.
провиженинг серверов - ansible, terraform
Как обычно, все стараются использовать возможности железа полностью, что вызвало сперва переход на виртуализацию, а теперь и на контейнерзацию - тут стоит освоить docker/kubernetes/rancher, посмотреть в сторону rkt
Ещё любят всякие chef/puppet для управления конфигурациями.

 
Для винды стоит смотреть всё тот же teamcity для сборки кода или msbuild/tfs.
git/tfs version control для хранения кода.
octopus deploy для разворачивания.
провиженить сервера можно хоть wds с кастомными скриптами.

Знание баз данных весьма актуально. В первую очередь конечно реляционные БД - всевозможные варианты SQL. Дальнейший шаг в изучении - это NoSQL базы, например Apache Cassandra
Как сказали в посте выше - очень полезные штуки Redis, RabbitMQ/Apache Kafka, Haproxy.

От себя добавлю наверное пару инструментов от Hashicorp: Consul, Vault.

Всевозможных инструментов огромное количество и стоит их изучать "от задачи" ибо всё подряд в голову не поместится. Я наверное не описал тут и 20% от всего разнообразия - только то, что мне показалось наиболее распространённым.

Запихать всё в один курс или книгу вряд-ли получится, но постараюсь дать ориентиры:

В качестве литературного вкатывания в курс дела стоит посмотреть книжку "Проект феникс"
Чуть более серьёзно (но тоже обзорно) можно глянуть в книге "Философия DevOps" (Дэвис, Дэниелс)
Неплохое ориентирование в теме может дать курс devops от otus (я в первый раз пишу комментарий на этом ресурсе, прошу не убивать сразу если подобные вещи запрещено озвучивать - типа реклама)


При поиске работы рекомендую оценивать общую адекватность вакансии. Часто пишут что хотят видеть опыт использования инструмента едва ли не дольше чем инструмент существует.

Вот интересно оформленный список всевозможных тулзов "для девопса": https://xebialabs.com/periodic-table-of-devops-tools/

2
Ответить