Должность "DevOps-инженер" подразумевает наличие знаний и практики. Мы подготовили для вас план получения правильных и нужных навыков.
Специалисты, желающие изменить направление своей работы, часто задаются вопросами “как стать инженером DevOps”, “какие инструменты изучать”, “каких практик придерживаться”, “изучать ли Maven и Jenkins, Docker и Kubernetes” . И это лишь толика того, что продолжает пользоваться популярностью. Давайте разбираться.
DevOps-инженер в 2018
Теперь пройдемся по схеме шаг за шагом, чтобы понять, как развиваться оперативно, и какие основные навыки нужны.
Изучение языка программирования
Необходимо знать один из трех основных языков программирования: Java, Python или JavaScript. Если у вас с этим проблемы, не волнуйтесь: вооружайтесь книгами/курсами и вперед. Настоятельно рекомендуем вам изучить по крайней мере один из основных языков общего назначения.
Java
Несколько материалов, необходимых для изучения этого языка:
- Большая подборка книг, видео и статей для Java Junior
- ТОП-20 полезных материалов по Java за июнь 2018
- 8 крутых Youtube-каналов, которые помогут изучить Java
Python
Материалы для легкого изучения Python:
- Свежая подборка материалов и полезностей по Python
- Помнить все: делимся лучшей шпаргалкой по Python
- Крупнейшая подборка Python-каналов на Youtube
JavaScript
И немного образовательных вещей по JS:
- 12 вещей, которые нужно учесть при оценке библиотеки JavaScript
- Шаблон подписки-публикации для начинающих фронтендеров
- Шаблоны проектирования в JavaScript простыми словами
Понимание концепций различных ОС
Давным-давно эта обязанность была исключительно на плечах сисадминов, ответственных за все тайные уголки любой ОС и аппаратных средств. Но с приходом DevOps инженерам этого направления понадобилось быть в курсе всех нюансов.
Вам нужно изучить управление процессами, потоки, параллелизм, сокеты, I/O Management, виртуализацию, работу с памятью и ФС, а остальное придет с опытом.
Книги по теме:
Работа с консолью
DevOps-инженер должен хорошо ориентироваться в командной строке, особенно если он работает в *nix. Знание некоторых оболочек Linux вроде Bash или Ksh, инструментов find, grep, awk, sed, lsof и сетевых команд nslookup и netstat, является обязательным.
Дополнительные материалы:
Сеть и безопасность
В современном мире, где все подключено к сети, и все манипуляции проходят через нее, требуются особые знания по безопасности.
Чтобы носить звание DevOps-инженер, стоит получить хотя бы базовые знания о работе сетей, а также понимать, что такое DNS, модель OSI, HTTP, HTTPS, FTP, SSL, TLS и т. д.
Дополнительные материалы:
Что установить и как настроить
Вам нужно быть в курсе, что используется в компании из софта, как все это настроить, и заранее подумать об автоматизационных мероприятиях.
Самое распространенное, что DevOps-инженер должен делать – настройка веб-сервера, например, IIS, Nginx, Apache и Tomcat.
Вам также придется разбираться с кеширующим сервером, балансировкой нагрузки, обратным прокси, фаерволом и т. д.
Инфраструктура на уровне кода
Это, наверное, самое главное в DevOps. Как DevOps-инженер, вы должны знать:
- Docker и Kubernetes;
- инструменты управления конфигурациями Ansible, Chef, Salt и Puppet;
- управление инфраструктурой через Terraform и Cloud formation.
Дополнительные материалы:
Continuous и Delivery Integration (CI/CD)
Это еще одна очень важная вещь для гуру DevOps – создание конвейера для непрерывной интеграции и доставки. В области CI/CD существует масса инструментов, например, Jenkins, TeamCity, Drone и т. д.
Настоятельно рекомендуем изучить хотя бы Jenkins, поскольку он широко используется и является наиболее зрелым инструментом на рынке CI/CD. Если вы не знаете Jenkins, то лучше всего начать c этого курса.
Мониторинг инфраструктуры и ПО
Помимо настройки и развертывания мониторинг является еще одним важным аспектом DevOps. Есть много инструментов в этом пространстве: Nagios, Icing, Datadog, Zabbix, Monit, AppDynanic, New Relic и т. д.
Вы можете освоить некоторые из них в зависимости от того, что используется в вашей компании.
Дополнительные материалы:
Cloud провайдеры
Рано или поздно вам придется переместить свое приложение в облако, поэтому важно знать о некоторых популярных облачных провайдерах и их основах.
Хотя AWS является лидером на этом рынке, Google Cloud и Azure медленно его догоняют. А также есть другие игроки такие как Heroku, Cloud Foundry и Digital Ocean.
Дополнительные материалы:
Комментарии