Как стать DevOps-инженером в 2022 году: дорожная карта
Из статьи вы узнаете, как стать DevOps-инженером, что изучать в 2022 году и в каком порядке. Вооружайтесь наглядным планом развития.
50К открытий51К показов
Как стать DevOps-инженером в 2022 году и в каком направлении развиваться? Поможет понять дорожная карта:
Чтобы разобраться в обязанностях такого специалиста, почитайте нашу статью о том, кто такой DevOps-инженер.
Язык программирования
Изучение хотя бы одного языка программирования из представленных обязательно. Порой нелегко отбросить мысль, что программирование нужно только разработчикам. Суть в том, что DevOps-специалисту необязательно получать профессиональные знания в области разработки, и не столь важно, какой язык программирования вы выберете. Главное, уметь использовать знание языка для автоматизации ряда процессов.
DevOps-инженеры обычно изучают Python, Ruby, Node.js, Go, Rust, C или C++.
Операционные системы
Данную специальность часто называют симбиозом разработчика и сисадмина. В какой-то степени это так. Что касается операционных систем, вам следует знать принципы их работы, стандарты POSIX, концепции построения сети, потоки и параллелизм, уметь работать с файловой системой, виртуализацией, сокетами, управлять памятью, процессами, вводом и выводом (I/O).
Кроме того, нужен навык работы с терминалом на разных операционных системах. Чтобы лучше понять, как стать DevOps engineer и что следует знать об ОС, загляните в открытые вакансии. Часто компании работают в Linux-среде, так что в требованиях нередко указывается опыт работы с Linux-администрированием и Bash-скриптами.
Полезные материалы:
- Как отсюда выйти: шпаргалка по Vim
- Руководство по Windows PowerShell для начинающих
- Руководство по созданию скриптов для Bash
Сеть, безопасность и протоколы
Сетевые протоколы для передачи электронной почты, криптографические протоколы SSL/TLS, понимание разницы между HTTP и HTTPS, протокол передачи файлов по сети FTP, протокол удалённого управления сервером SSH, а также технология Port Forwarding.
Помимо перечисленного, следует понимать сетевую модель OSI и разбираться в её уровнях:
Также обратите внимание на SaltStack — опенсорсный инструмент, использующий push-модель для выполнения команд по протоколу SSH. В нём предусмотрена поддержка шаблонов YAML, а также горизонтального и вертикального масштабирования.
Инфраструктура как код
Согласно модели IaC (Infrastructure as Code), процесс настройки инфраструктуры схож с процессом разработки ПО. Вам предстоит работать с контейнеризацией, оркестрацией контейнеров, обеспечивать инфраструктуру и управлять конфигурацией с помощью специальных инструментов.
Об одном из наиболее популярных инструментариев в области контейнеризации Docker вы можете узнать из данного видео:
Всего полтора часа, которые заменят дни поиска в Google, раскуривания мануалов, проб, ошибок и походов на Stack Overflow.
Облачные провайдеры и шаблоны проектирования для облачных сред
Ну и как стать DevOps-инженером в 2022 году, если не знать о таких популярных провайдерах, как AWS (Amazon Web Services), Heroku, Azure, Google Cloud и DigitalOcean? Кстати, мы уже рассказывали, как настроить сервер для сайта на примере Tproger, используя DigitalOcean и Ubuntu 20.04 LTS: заходите, там интересно.
Что же касается Cloud Design Patterns, то здесь важно разбираться в проблемах, с которыми приходится сталкиваться при разработке облачных приложений:
- Доступность — процент времени непрерывной работы системы, на который могут повлиять атаки, нагрузка, системные ошибки и проблемы инфраструктуры.
- Управление данными — важный элемент облачных приложений. Данные часто разбросаны по нескольким серверам, что обеспечивает лучшую производительность и доступность, но также может стать причиной ряда сложностей вроде синхронизации.
- Проектирование и реализация — это решения, которые затрагивают согласованность в создании и развёртывании, обслуживание, администрирование, повторное использование компонентов и подсистем.
- Управление и мониторинг — обязательные действия, направленные на отслеживание и контроль системы при условии, что облачные приложения выполняются удалённо, где полный контроль над инфраструктурой отсутствует.
Дополнительно
Отдельно следует упомянуть работу с прокси, файрволом, различными веб-серверами, балансировкой нагрузки, кэшированием, а также инструментами CI/CD и мониторинга. Всё это подробнее отражено в дорожной карте.
Заключение
Так как стать DevOps-инженером в 2022 году? Следует знать хотя бы один язык программирования, что позволит автоматизировать процессы, разбираться в нюансах различных операционных систем и уметь работать с терминалом, знать о протоколах шифрования и передачи данных, иметь навык работы с популярными инструментами контейнеризации и оркестрации, а также разбираться в нюансах разработки облачных приложений.
50К открытий51К показов