Шпаргалка по инструментам DevOps

В сферу Devops часто приходят разработчики и системные администраторы, у которых уже есть опыт инженеринга и знания о разработке и сетях. Но им приходится осваивать DevOps-инструменты. В этой статье расскажем о самых распространённых из них.

Шпаргалка по инструментам DevOps

Важно понимать, что это далеко не все инструменты, но это типичный стек. Знания и опыт работы с ними щедро оплачиваются работодателями. Зарплаты могут начинаться от 300 и 400 тысяч рублей.

Какие задачи решает DevOps-инженер

DevOps инженер — это специалист, который объединяет задачи разработки (Development) и операционной поддержки (Operations). Его задача — сделать разработку и эксплуатацию эффективнее. Для этого он занимается автоматизацией процессов, устраняет проблемы между разработчиками и системными администраторами, создает системы мониторинга сервисов. У него может быть большой стек инструментов и технологий, связанных с каждой из этих задач. Рассмотрим его подробнее: от самых базовых, до продвинутых.

Git

Так выглядит хранилище исходного кода самого Git на веб-платформе Github.
Так выглядит хранилище исходного кода самого Git на веб-платформе Github.

Git — это система управления версиями кода, которая хранит историю изменений. Она позволяет вернуться к предыдущим версиям файлов и работать с ними всей командой специалистов. Простая аналогия: вы и ваши коллеги работаете в одном Google Docs, где тоже можно вносить изменения и отслеживать кто и какие правки вносил, чтобы не испортить всю работу.

Ansible

Так выглядит интерфейс Ansible Tower — продвинутой платной версии. В бесплатной нужно работать по хардкору — в командой строке и текстовом редакторе. Источник: <a href="https://docs.ansible.com/ansible-tower/latest/html/userguide/main_menu.html" rel="nofollow noreferrer noopener" target="_blank">Ansible.com</a>.
Так выглядит интерфейс Ansible Tower — продвинутой платной версии. В бесплатной нужно работать по хардкору — в командой строке и текстовом редакторе. Источник: Ansible.com.

Ansible — это инструмент автоматизации задач по развёртыванию и настройке систем. С помощью него один DevOps-инженер может в короткий срок поднять больше сотни серверов с заранее сконфигурированными настройками.

DevOps-инженеры следят за работой над кодом и с помощью Git и Ansible разворачивают его на серверах. Многочисленные скрипты развёртывания, файлы конфигураций и другие настройки — это тоже код, который является частью IT-инфраструктуры. За него отвечают DevOps-инженеры.

Docker

Docker — это инструмент контейнеризации. С помощью него код упаковывают в контейнеры и разворачивают на сервере.

Интерфейс Docker с запущенными контейнерами. Источник: <a href="https://www.docker.com/blog/docker-desktop-4-21/" rel="nofollow noreferrer noopener" target="_blank">Docker.com</a>.
Интерфейс Docker с запущенными контейнерами. Источник: Docker.com.

Для чего нужна контейнеризация? Представьте, что вы пересаживаете цветы. Сейчас они хорошо растут в своем горшке на подоконнике: у них оптимальная почва, им достаточно света и влаги. Но когда вы их пересадите в другую почву и в другие условия, они могут погибнуть. Поэтому нужно оставить ту же землю и дать столько же влаги и света. То же самое происходит и с приложением: если не создать такие же условия, как и были при разработке, то приложение может сбоить или вообще не запуститься. Контейнеры позволяют безопасно переносить сервисы, чтобы их можно было запустить на других компьютерах.

Умение работать с контейнерами в Docker становится все более важным навыком для любого IT-специалиста: и разработчика и тестировщика. Для DevOps-инженера — это мастхэв. Он должен уметь создавать и собирать контейнеры, локально тестировать, развёртывать на серверах и управлять ими. Уверенное знание Git, Ansible и Docker уже может дать старт в профессии.

Kubernetes

Если приложение из множества микросервисов быстро растёт, то нужен Kubernetes. Его часто называют оркестратором, потому что он позволяет управлять большим количеством контейнеров и масштабировать приложение. Например, когда количество запросов к приложению растет, Kubernetes запустит дополнительные мощности. В нём можно реализовывать сложные сценарии управления, балансировки и мониторинга.

Так выглядит веб-интерфейс Kubernetes с дашбордами. Источник: <a href="https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/" rel="nofollow noreferrer noopener" target="_blank">Kubernetes.com</a>
Так выглядит веб-интерфейс Kubernetes с дашбордами. Источник: Kubernetes.com

При работе с Kubernetes в задачи DevOps-инженера может входить создание архитектуры микросервисов, настройка Kubernetes, отладка и обновление. Это сложный, но очень востребованный инструмент. Зарплаты специалистов со знанием Kubernetes в России по данным HH в среднем начинаются от 150 тысяч рублей.

Prometheus + Grafana

DevOps-инженеры следят за состоянием и работоспособностью приложений. Для этого настраивают целую систему мониторинга и визуализации, которая состоит из стека инструментов.

Одно из самых распространённых решений для мониторинга — связка Prometheus + Grafana. Prometheus собирает данные о системе. Но эти метрики сохраняются в сыром виде. Человеку их сложно анализировать. Поэтому нужна Grafana, которая позволяет их визуализировать. С помощью неё можно строить информативные и наглядные дашборды из графиков, чартов, таблиц, статусов и т.д. Рабочий день многих DevOps-инженеров начинается именно того, что они смотрят в дашборд — всё ли в порядке с системой.

Grafana — это красиво и информативно. Источник: <a href="https://grafana.com/" rel="nofollow noreferrer noopener" target="_blank">Grafana.com</a>.
Grafana — это красиво и информативно. Источник: Grafana.com.

Terraform

Terraform — инструмент для автоматизации настройки серверной инфраструктуры. Он совместим с популярными облачными провайдерами и позволяет одной кнопкой развернуть любые доступные там сервисы: от баз данных до балансировщиков.

Интерфейс Terraform. Источник: <a href="https://www.terraform.io/" rel="nofollow noreferrer noopener" target="_blank">Terraform.io</a>
Интерфейс Terraform. Источник: Terraform.io

Terraform и Ansible дополняют друг друга и могут быть использованы вместе. Terraform помогает с развертыванием инфраструктуры, а Ansible настраивает и управляет операционной системой, приложениями и сервисами инфраструктуры.

Как все это изучить

Все эти инструменты можно освоить в Слёрме на курсе DevOps Upgrade. Вы получите фундаментальные представления и первый опыт, после которого поймёте, что изучать дальше и в какой конкретно сфере лучше специализироваться. Другими словами, этот курс помогает быстро прокачать hard skills. После его окончания можно найти первую работу в DevOps, подготовиться к сложному техническому интервью и повысить свою стоимость на рынке труда. Ознакомиться с программой и оставить заявку можно на нашем сайте.

DevOps Upgrade подходит для системных администраторов, разработчиков, которые хотят перейти в DevOps. То есть для тех, кто уже имеет опыт в IT-сфере. Новичкам рекомендуем начать с азов. Например, с бесплатного курса Git для начинающих.

Успехов в учёбе!

13
Начать дискуссию