Что должен уметь девопс и где этому учиться?  Публичный пост

Занимаюсь разработкой, девопсов у нас нет и CI в гитлабе, k8s кластер настраиваем сами. Вроде бы уже изучил основы, для того же gitlab CI всегда можно почитать документацию, но всё равно чувствую себя неуверенно. А тут ещё друг решил перейти из администрирования Windows в девопсы, и его внезапно взяли на работу в крупную компанию, где до этого не было ни одного девопса, теперь он там самый опытный :)
Встает вопрос быстрого и качественного обучения.
В общем, посоветуйте пожалуйста платные/бесплатные курсы/менторство/книги, что помогло именно вам в освоении профессии?
Что вообще должен уметь девопс? CI понятно. А сентри развернуть и настроить? Сборку логов?

17 комментариев 👇
Nikolay Markov, Principal Architect 25 июля 2020

Выше уже было упомянуто, но да, вот три книги про DevOps:

  1. https://www.amazon.com/Phoenix-Project-DevOps-Helping-Business/dp/0988262592
  2. https://www.amazon.com/Unicorn-Project-Developers-Disruption-Thriving/dp/1942788762/
  3. https://www.amazon.com/DevOps-Handbook-World-Class-Reliability-Organizations/dp/1942788002/

Первые две рассказывают в художественной форме, как люди пришли к этой методологии, третья - это описание в подробностях самой методологи в сочетании с примерами. Кроме того, может быть интересно почитать про SRE (это, по сути, расширение DevOps):

  1. https://www.amazon.com/Site-Reliability-Engineering-Production-Systems/dp/149192912X/
  2. https://www.amazon.com/Site-Reliability-Workbook-Practical-Implement/dp/1492029505/
  3. https://www.amazon.com/Building-Secure-Reliable-Systems-Implementing/dp/1492083127/ + https://www.amazon.com/Software-Engineering-Google-Lessons-Programming/dp/1492082791/

(все три книжки - от инженеров из гугла)

Если совсем в двух словах - то, что пишут в вакансиях DevOps Engineer, часто не имеет ВООБЩЕ никакого отношения к реальности, потому что каждая компания крутит, как хочет. А вот что имеет и что действительно значит DevOps - в этих книжках.

  Развернуть 1 комментарий

Вот только развернуть кластер в k8s мне эти книги не помогут, да ведь? И знание того, что девопс это не то и не это. Хотелось как раз очертить круг, что большинство компаний имеют в виду, когда пишут слово «DevOps» в вакансии, и как этому учиться. Но спасибо за рекомендации и более широкий ответ.

  Развернуть 1 комментарий

@worldhe, большинство компаний понятия не имеет, и скидывает в вакансию вообще всю инфраструктурщину. Если у компании кубернетес - то там будет он, если опенстек - то можно и его, если у них сервера на фряхе - то, в их понимании, "девопс должен" это все уметь. Но это полный буллшит, вот недавно даже был плач Ярославны на эту тему https://habr.com/ru/post/511314/

  Развернуть 1 комментарий
Kirill Sotnikov, Solution Architect 26 июля 2020

В идеальном мире идеальных технологий девопс это методология (кек). К сожалению, мы живем не в идеальном мире. Значение слова девопс очень сильно отличается от компании к компании. Очень многие начали спекулировать на этом слове и добавлять его себе в тайтл или резюме поднимая себе зарплатку/ожидания.

В реальном мире, девопс это в первую очередь админ. Который умеет

  • настраивать дженкинс
  • настраивать облака (амазон, гугл, ажура)
  • настраивать кубернетес
  • настраивать докер
  • "программирует" на ямле

Существует подвид называемый SRE - это подвид админов работающих с продакшеном. Мониторят, настраивают всякие отказоустойчивые системы, балансеры и тд.

Поэтому если есть желание погрузиться в девопс:

  • уметь линукс
  • разобраться что такое CI/CD зачем и как
  • всякие хитрые схемы деплоя аля блугрин или канареечное
  • научиться в дженкинс и его плагины (дженкинс пайплайн)
  • осилить сертификацию одного из облачных провайдеров (солюшон архитект обычно)
  • разобраться что такое докер и кубернетес, как работает, как настраивать, зачем вообще оно нужно. (тоже есть сертификации)

Я со своей колокольни рекомендую лучше потратить время на изучение одного из мейнстримовых языка программирования - джава, питон, плюсы. А девопс обходить стороной, ибо это надутый пузырь и хайп. (а еще в 90 процентах скучно).

  Развернуть 1 комментарий

Рекоммендую прочитать "проект Феникс". Инструменты можно быстро изучить, книг и курсов полно на любой вкус. Но девопс это не про инструменты. Понимание зачем их применять приходит только с опытом.

Эта книга не поможет с настройкой CI\CD или сборкой логов, но даст базовое понимание зачем вообще компании нужно внедрять девопс. Для начала - самое то.

  Развернуть 1 комментарий

Спасибо за рекомендацию!

  Развернуть 1 комментарий

У каждого своё понимание слова «девопс» для кого-то это сисадмин на стероидах, для кого-то software developer с уклоном в инфраструктуру, а для кого-то менеджер который помогает быстрее релизить и деплоить.

  Развернуть 1 комментарий

А по факту это - методология, а не человек. Просто у нас повсеместно неправильно используют термин, к сожалению. Отсюда и проистекает непонимание - это все равно, как сделать позицию Agile Engineer, а потом пытаться придумать, что писать в требования.

  Развернуть 1 комментарий

@enchantner, Agile не инженерная практика, а управленческая, поэтому не agile engineer, а agile manager..и это, внезапно, вполне себе и scrum master, и pm.

  Развернуть 1 комментарий

@romangoward, понятие "методология разработки" покрывает и то, и другое. Это не только руководство для менеджеров, как тикеты перевешивать и джиру настраивать, это описание подхода к процессу в целом и для менеджеров, и для разработчиков. Но даже в этом определении DevOps Master или Agile Master - это, скорее, DevRel и специалист по процессам, нежели настройщик CI/CD. А те, кого у нас называют DevOps'ами - по факту Operations/Deployment инженеры.

  Развернуть 1 комментарий

Да, то что девопс это набор практик, а не какая-то профессия – меня это тоже сбивало с толку поначалу. Но потом привык понимать примерно то, что под этим сейчас понимается во многих компаниях.

  Развернуть 1 комментарий

@romangoward, agile это вообще не практика, а набор ценностей :)

  Развернуть 1 комментарий

@angelooooook, сам манифест? Да, но он абастрактный. Мы всё таки подразумеваем под гибкими методологиями вполне себе конкретные наборы практик.

  Развернуть 1 комментарий

@enchantner, я лишь указал, что пример с Agile плохой, поскольку в компании/команде, всегда есть человек, который отвечает за выполнение данной практики.

  Развернуть 1 комментарий

@romangoward, вообще ни разу не всегда. А даже если есть - от него не всегда есть польза. Не вижу проблемы в качестве примера сравнивать разные методологии, есть там специальные выделенные люди или нет.

  Развернуть 1 комментарий

Уже кидал ссылку на этот репо в одном из соседних постов (на карту развития бэкендера), но в нем есть и такая же неплохая карта развития девопса, где в виде майндмапа перечислены ключевые технологии/инструменты/области знаний для девопсера: DevOps Roadmap.

  Развернуть 1 комментарий
Andrey Ruban, Красивый DevOops 29 июля 2020

Со своей стороны скажу что книги на почитать уже скинули и все они достойны внимания.

что еще нужно знать:
https://hackernoon.com/the-must-know-checklist-for-devops-site-reliability-engineers-update-8ba44dbc824

На послушать:
https://devopsdeflope.ru/

Курсы и тренинги ( сам проходил некоторые  темы на ресурсах - дают быстрое вхождение в тему и понимание общей сути, но для глубины = только своя практика):

https://slerm.io ( обширно и на русском - хороший уровень)
https://linuxacademy.com/
https://acloud.guru/ ( по облакам #1 ресурс)

А вообще для прокачки надо придумывать себе таску типа сделать CI/CD для блога на WordPress - и идти педалить с проектами из 

https://landscape.cncf.io/

Так что с учетом инфы от ребят выше и моей - тут работать и работать на много месяцев.  Тут уже на вчера надо знать дофига и трошки. 
Но самое главное сейчас - что DevOps это швец/жнец и на дуде игрец, типа как универсальный солдат ( он и стрелять умеет и знает как минировать, и в рукопашку может втащить, но эта универсальность является его же и слабым местом. Стреляет хуже чем снайпер, знание минирования и взрывчатки естественно хуже сапера)

В реальном мире это дает конечно много преимуществ с одной стороны ( вроде зп неплохих и востребованности) но и минусы тоже есть (  очень обширная сфера и нельзя вот так взять закончить курс за 3 месяца и ты девопс) плюс тут идет пересечение многих сфер ( администрирование/сети/программирование и т.д) 
Но именно эти моменты дают преимущество когда идет разработка  - т/к есть понимание многих процессов.  Но все это опыт, который приходит со временем. И всегда надо помнить что с большой силой приходит и большая ответственность - когда что то падает/не работает - все бегут к devops"y. А еще будучи одним девопсом на проекте не получится уехать спокойно в отпуск - как говорится always be ready. Таков путь.

В конце лишь добавлю что надо решить для себя - что больше нравится - programming or devops, но люди всегда могут сделать смену направления и как показывает Гугл и их подход по поиске SRE ( site reliability engineer ) - это вполне годное решение.

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб