Дорожная карта DevOps 2023
Подробное пошаговое руководство для DevOps на 2023 году
DevOps сейчас очень популярен, и большинство моих друзей, коллег и старших разработчиков, которых я знаю, усердно работают над тем, чтобы стать инженерами DevOps и позиционировать себя как DevOps специалистов в своей организации. Хотя я действительно понимаю преимущества DevOps, которые напрямую связаны с качественной разработкой и развертыванием программного обеспечения, исходя из моего ограниченного опыта, я могу сказать, что это непростая работа.
@DevOPSitsec – наш телеграм канал с лучшими материалами и практиками DevOPS.
Трудно выбрать правильный путь, имея в виду такое количество инструментов и практик. Многие мои читатели также задают мне этот вопрос, как стать инженером DevOps, что я должен учить? Каким практикам я должен следовать? Является ли изучение Maven и Jenkins обязательным для инженеров DevOps?
Как насчет Docker и Kubernetes? Является ли автоматизация инфраструктуры частью DevOps? Должен ли я изучать Chef, Puppet или Ansible — это лишь некоторые из тех вопросов, которые постоянно возникают у меня.
Я постарался ответить тем, у кого минимальный опыт. Сегодня я собираюсь поделиться с вами замечательным ресурсом, который поможет вам стать инженером DevOps, которым вы всегда мечтали быть, интерактивная Дорожная карта DevOps 2023.
Вчера я случайно просматривал Интернет, когда наткнулся на эту прекрасную страницу GitHub от Kamranahmedse, которая показывает пару полезных дорожных карт, чтобы стать фронтенд-разработчиком, бэкенд-разработчиком, веб-разработчиком с полным стеком и, наконец, не по крайней мере, инженер DevOps.
Эта дорожная карта фантастична во всех смыслах, поскольку она не только подробно описывает роль инженера DevOps, но и рассказывает, какой инструмент вам нужно изучить, чтобы охватить эту область. Кроме того, он действительно визуально привлекателен красивыми цветами, поэтому вы можете просто взять распечатку и прикрепить ее на свой стол для удобства использования.
Чтобы завершить дорожную карту, я также поделился некоторыми полезными онлайн-курсами, чтобы вы могли изучить и улучшить инструмент или область, которую вы хотите.
Дорожная карта DevOps Engineer 2023 для разработчиков
В любом случае, вот полная дорожная карта DevOps, о которой я говорю:
Дорожная карта DevOps на 2021 год — ваш путеводитель, чтобы стать инженером DevOps
Теперь давайте шаг за шагом пройдемся по дорожной карте и выясним, как мы можем освоить основные навыки, необходимые для того, чтобы стать гуру DevOps в 2023 году:
1. Изучите язык программирования
Очевидно, я предполагаю, что вы, ребята, определенно знаете один из трех основных языков программирования, то есть Java, Python или JavaScript. Если вы не знаете, не волнуйтесь, вы можете просмотреть курсы ниже, чтобы изучить выбранный вами язык, хотя я настоятельно рекомендую вам изучить хотя бы один из этих трех основных языков программирования общего назначения.
Если вы хотите изучать Java, то Masterclass — отличные книги список , которых таке недавно был обновлен https://github.com/kamranahmedse/developer-roadmap.
А вот список лучших бесплатных курс по изучению Java для devops-инженеров
Если вы хотите изучить Python, то это мой любимый ресурс, который стоит изучить
лучший курс для изучения Python для devops
И, если вы хотите изучить JavaScript, вам не следует смотреть дальше курса Моша Хамдани на Udemy.
лучший курс для изучения JavaScript для devops
Если вам нужно больше вариантов и вы хотите учиться на бесплатных ресурсах, вы всегда можете взглянуть на мой список бесплатных курсов.
2.Понимание различных концепций ОС
Вот тут-то и появилась часть Ops, раньше она поддерживалась исключительно парнями и сисадминами, которые отвечали за знание ОС и оборудования, но с DevOps теперь их должен знать и разработчик.
Вам как минимум нужно знать об управлении процессами, потоках и параллелизме, сокетах, управлении вводом-выводом, виртуализации, хранении памяти и файловых системах, как это предлагается в дорожной карте.
Поскольку большинство из нас работает в Linux, я предлагаю вам почитать материал @linuxkalii на, чтобы лучше изучить и понять ОС Linux.
А вот, на мой взгляд лучшие бесплатные курсы для изучения Linux для devops http://www.java67.com/2018/02/5-free-linux-unix-courses-for-programmers-learn-online.html
3. Учитесь жить в терминале
Для специалиста по DevOps важно хорошо разбираться в командной строке, особенно если он работает в Linux. Знание некоторых оболочек Linux, таких как Bash или Ksh, и инструментов, таких как find, grep, awk, sed, lsof, и сетевых команд, таких как nslookup и netstat, является обязательным.
Если вы чувствуете, что вам нужно обновить эти команды и инструменты, вам следует посмотреть на этот список курсов https://javarevisited.blogspot.com/2018/02/5-courses-to-learn-shell-scripting-in-linux.html .
лучший курс для освоения команд Linux для devops
Это хорошее обновление как для начинающих, так и для опытных пользователей Linux. Для доступа к курсу вам понадобится членство в Pluralsight, которое стоит около 29 долларов в месяц или 299 долларов в год, но оно того стоит.
Pluralsight похож на Netflix для разработчиков; в нем более 6000 качественных курсов по новейшим технологиям, а это значит, что учиться можно чему угодно и где угодно. В основном я учусь во время путешествий и поездок на работу.
4. Сеть и безопасность
Прошли дни изоляции; в современном мире все связано со всем, что делает сеть и безопасность очень важными. Чтобы стать хорошим инженером DevOps, вы должны знать об основных концепциях сети и безопасности, таких как DNS, модель OSI, HTTP, HTTPS, FTP, SSL, TLS и т. д.
Советуем курс – Кибербезопасность, EdApp Этот курс по кибербезопасности призван помочь вам защитить себя и компанию от кибер-атак и угроз. Этот курс, состоящий из 9 частей, призван предоставить учащимся актуальное руководство о том, как распознавать и смягчать любые потенциальные киберугрозы. Курс начинается с представления инъекционных атак, объяснения нарушения аутентификации и управления сессиями, межсайтового скриптинга, обзора 3 наиболее распространенных атак, нарушения контроля доступа, раскрытия конфиденциальных данных, подделки межсайтовых запросов, использования компонентов с известными уязвимостями и недостаточно защищенных API.
5. Сервера.
Как специалист DevOps, вы должны знать, что настроено на вашей машине и как вы можете это настроить, и только то, что вы можете думать об автоматизации. В общем, инженер DevOps должен знать, как настроить веб-сервер, такой как IIS, Apache и Tomcat. Он также должен знать о кэширующем сервере, балансировщике нагрузки, обратном прокси-сервере, брандмауэре и т. д. Советуем курсы от stepik https://www.udemy.com/topic/server-administration/?locale=ru_RU.
5. Изучите инфраструктуру кода
Это, пожалуй, самое главное для DevOps-инженера, и это очень обширная область. Будучи инженером DevOps, вы должны знать о таких контейнерах, как Docker и Kubernetes, инструментах управления конфигурацией, таких как Ansible, Chef, Salt и Puppet, средствах обеспечения инфраструктуры, таких как Terraform и формирование облака. Вот некоторые из моих рекомендуемых курсов для изучения этих инструментов.
Если вы хотите изучить Docker, то лучше всего начать с репозитория . Он обеспечивает исчерпывающий охват всех инструментов, Docker которые потребуются инженеру DevOps.
7. Изучите некоторые инструменты непрерывной интеграции и доставки (CI/CD)
Это еще одна очень важная вещь для гуру и чемпионов DevOps, т. е. создание конвейера для непрерывной интеграции и доставки. В области CI/CD есть много инструментов, таких как Jenkins, TeamCity, Drone и т. д. Но я настоятельно рекомендую изучить хотя бы Jenkins, так как это наиболее широко используемый и, вероятно, самый сложный инструмент CI/CD на рынке. Если вы не знаете Дженкинса, то лучше всего начать с этой статьи . Если вы хотите изучить Jenkins, то нет лучшего курса, чем классический курс Jenkins from Zero to Hero: The DevOps Jenkins Master на Udemy. Это лучший курс, и я также изучил большую часть своих навыков Дженкинса из этого курса.
8. Научитесь мониторингу программного обеспечения
Помимо настройки и развертывания, мониторинг является еще одним важным аспектом DevOps, поэтому для инженера DevOps важно узнать об инфраструктуре и мониторинге приложений.
В этой области есть много инструментов, таких как Nagios, Icing, Datadog, Zabbix, Monit, AppDynanic, New Relic и т. д. Вы можете выбрать некоторые из них в зависимости от того, какой из них используется в вашей компании, например AppDynamic и Nagios.
9. Изучите облачные сервисы
Облако — это следующая большая вещь, и рано или поздно вам придется перенести свое приложение в облако; поэтому инженеру DevOps важно знать хотя бы о некоторых популярных облачных провайдерах и их основах.
Хотя AWS явно лидирует в облаке, он не одинок, Google Cloud и Azure постепенно догоняют, а затем у нас есть другие игроки, такие как Heroku, Cloud Foundry и Digital Ocean.