Дорожная карта того, как стать инженером DevOps в 2021 году
Что на самом деле имеют в виду DevOps? А что такое инженер DevOps? 🤔
DevOps — это подход к разработке программного обеспечения, включающий непрерывное развитие, непрерывное тестирование, непрерывную интеграцию, развертывание и мониторинг.
Вышеуказанный процесс охватывает традиционно олицетворенные команды развития и операций, а также DevOps пытается устранить барьеры между ними.
Итак, инженер DevOps работает в основном с Dev Elopment и Op Команда эрорации. Это связь между этими двумя основными частями.
Концепции и инструменты 👀
DevOps включает в себя такие понятия, как автоматизация сборки, CI/CD, инфраструктура как код и т. Д. И есть множество инструментов, которые позволяют реализовать эти концепции. И из -за этого огромного количества инструментов это может стать запутанным и подавляющим.
Самое главное, чтобы понять понятия и изучить 1 конкретный инструмент для каждой категории. Например. Когда вы уже знаете, что такое CI/CD, и знаете, как использовать Jenkins, также будет легко выучить альтернативный инструмент.
⭐ Дорожная карта DevOps, чтобы начать работу как инженер DevOps ⭐
Давайте прямо в дорогу того, какие навыки вам нужно выучить.
⭐ 1) Концепции разработки программного обеспечения
Как инженер DevOps, вы не будете программировать приложение, но, поскольку вы тесно сотрудничаете с командой разработчиков, чтобы улучшить и автоматизировать для них задачи, вам необходимо понять концепции:
- Как работают разработчики
- Какой рабочий процесс git они используют
- Как настроены приложения
- Автоматизированное тестирование
⭐ 2) Операционные системы и основы Linux 🐧
Как инженер DevOps, вы несете ответственность за подготовку инфраструктуры (серверов), на которой развертывается приложение.
А поскольку большинство серверов являются серверами Linux, вам нужно знать ОС Linux и чувствовать себя комфортно, используя интерфейс командной строки. Итак, вам нужно знать:
- Основные команды оболочки
- Файловая система Linux
- Основы, как администрировать сервер
- Управление ключами SSH
- Установка различных инструментов на серверах
⭐ 3) Сеть и безопасность
Вам также необходимо знать основы сети и безопасности, чтобы настроить инфраструктуру, например:
- Настройка брандмауэров для обеспечения приложения
- понять, как IP -адреса, порты и DNS работает
- Балансировщики нагрузки
- Прокси-сервер
- Http/https
Однако, чтобы провести черту здесь между DevOps и ИТ -операциями: вы не Сисадмин. Так что вам не нужны расширенные знания здесь. Этого достаточно, чтобы понять и узнать основы, потому что есть собственные профессии, такие как Sysadmins, сетевые инженеры или инженеры по безопасности
⭐ 4) Контейнеризация — Docker 🐳
Поскольку контейнеры становятся новым стандартом, вы, вероятно, запустите свое приложение в качестве контейнера. Это означает, что вам нужно в целом понять:
- Концепции виртуализации
- Концепции контейнеров
Какой инструмент учиться? Docker — самая популярная технология контейнеров сегодня
⭐ 5) Непрерывная интеграция и развертывание (CI/CD) 🔁
В DevOps все изменения кода, такие как новые функции и исправления ошибок разработчиков, должны быть интегрированы в существующее приложение и развернуты для конечного пользователя непрерывно и в автоматизированный способ. Отсюда термин: непрерывная интеграция и непрерывное развертывание.
А настройка полного трубопровода CI/CD является основной задачей и ответственностью инженера DevOps.
Поэтому, когда функция или ошибка выполняются, трубопровод, работающий на сервере CI (например, Jenkins), должен быть запускается автоматически, который:
- запускает тесты
- Пакеты приложения
- строит изображение Docker
- Толкает изображение Docker в репозиторий артефакта и в конце концов
- Развертывает новую версию на сервер (который может быть сервером разработки, тестирования или производства)
Так что навыки вам нужны здесь:
- Настройка сервера CI/CD
- Инструменты сборки и инструменты диспетчера пакетов для выполнения тестов и упаковки приложения
- Настройка репозитории артефакта (например, Nexus)
Конечно, может быть больше интегрированных шагов, но этот поток представляет собой ядро трубопровода CI/CD и является сердцем задач и обязанностей DevOps.
Какой инструмент учиться? Дженкинс является одним из самых популярных. Другие: бамбук, Гитлаб, TeamCity, Circleci, Travisci
⭐ 6) Облачный провайдер ⛅
В настоящее время многие компании используют виртуальную инфраструктуру в облаке, вместо того, чтобы управлять собственной инфраструктурой. Это инфраструктура как платформы услуг (IAAS), которые предлагают ряд услуг, такие как резервное копирование, безопасность, балансировка нагрузки и т. Д.
Эти услуги Платформа-спецификация Анкет Таким образом, вам нужно выучить услуги этой конкретной платформы. Например. Для AWS вы должны знать основы:
- IAM Service — Управление пользователями и разрешением
- VPC Service — ваша личная сеть
- Служба EC2 — виртуальный сервер
AWS имеет гораздо больше услуг, но вам нужно только изучить услуги, которые вам/вашей компании действительно нужны. Например. Когда кластер K8s работает на AWS, вам также нужно выучить сервис EKS.
AWS — самый мощный и наиболее широко используемый, но также и самый сложный.
Какой инструмент учиться? AWS — самый популярный. Другие популярные: Azure, Google Cloud
⭐ 7) Оркестровка контейнера — kubernetes ⎈
Как я уже упоминал ранее, контейнеры широко используются, и в крупных компаниях сотни или тысячи контейнеров работают на нескольких серверах. Это означает, что этими контейнерами нужно каким -то образом управлять.
Для этой цели есть инструменты оркестровки контейнеров, а наиболее популярным является Kubernetes. Итак, вам нужно учиться:
- Как работает Kubernetes
- Администрирование и управление кластером Kubernetes
- а также развертывание приложений в нем
Какой инструмент учиться? Kubernetes — самый популярный
⭐ 8) Мониторинг и управление журналами 🔍
После того, как программное обеспечение находится в производстве, важно контролировать его, чтобы отслеживать производительность, обнаружите проблемы в вашей инфраструктуре, а также применение. Таким образом, одна из ваших обязанностей в качестве инженера DevOps — это:
- Настройка мониторинга программного обеспечения
- Настройка мониторинга инфраструктуры, например, для вашего кластера Kubernetes и основных серверов.
Какой инструмент учиться? Прометей, Нагиос …
⭐ 9) Инфраструктура в качестве кода
Вручное создание и поддержание инфраструктуры занимает много времени и подвергается ошибкам. Особенно, когда вам нужно повторить инфраструктуру, например, Для разработки, тестирования и производственной среды.
Снова в DevOps мы хотим автоматизировать как можно больше, и именно тогда инфраструктура в качестве кода входит в картинку. С IAC мы используем код для создания и настройки инфраструктуры, и есть 2 типа инструментов IAC, которые вам нужно знать:
- Инфраструктура обеспечивает
- Управление конфигурацией
С этими инструментами легко воспроизвести и восстановить инфраструктуру. Таким образом, вы должны знать 1 инструмент в каждой категории, чтобы сделать вашу собственную работу более эффективной, а также улучшить сотрудничество с вашими коллегами.
Какой инструмент учиться? Подготовка инфраструктуры: Terraform — самый популярный Управление конфигурацией: Ansible, Puppet, Chef
👉🏼 Terraform объяснил 👉🏼 Ansible объяснил
⭐ 10) Язык сценариев 👩🏻 💻
Поскольку вы тесно сотрудничаете с разработчиками и системными администраторами, чтобы также автоматизировать задачи для разработки и операций, вам необходимо будет писать сценарии и небольшие приложения для автоматизации задач.
Чтобы иметь возможность сделать это, вам нужно знать сценарий или язык программирования. Это может быть ОС-специфический язык сценариев Как Bash или PowerShell.
Но то, что требуется, это ОС-независимый язык Как Python, Ruby или Go. Эти языки более мощные и гибкие. Если вы знаете один из них, это сделает вас гораздо более ценным на рынке труда.
Какой инструмент учиться? Python: в настоящее время самый потребованный, который легко выучить, легко читать и имеет много библиотек. Другие: Ruby, Go, Nodejss
⭐ 11) Управление версией — git
Вы пишете всю эту логику автоматизации, упомянутая выше как код. Так же, как код приложения разработчиков, вы управляете этим кодом и файлами конфигурации также с помощью инструмента управления версиями, например GIT.
Какой инструмент учиться? Git — самый популярный и широко используемый
Удачи в вашем путешествии DevOps! 🎉 💪
Завершите Bootcamp DevOps, чтобы начать свою карьеру в качестве инженера DevOps 🚀
► Больше Infos здесь: https://bit.ly/3gewf4v ► Снижение ранних цен на птицы до 28 февраля 🎉
Поскольку весь процесс является ошеломляющим, мы построили Эта программа Учитывая вышеуказанную дорожную карту с акцентом, чтобы подготовить вас к работе и помочь вам Узнайте эти концепции и инструменты быстрее и эффективнее Анкет
Bootcamp фокусируется на Практические практические демонстрации Следуйте и действительно уверен в том, чтобы использовать эти инструменты.
Мол, поделиться и следуй за мной 😍 Для большего содержания:
Оригинал: «https://dev.to/techworld_with_nana/devops-roadmap-2021-how-to-become-a-devops-engineer-1n9p»