{"id":14275,"url":"\/distributions\/14275\/click?bit=1&hash=bccbaeb320d3784aa2d1badbee38ca8d11406e8938daaca7e74be177682eb28b","title":"\u041d\u0430 \u0447\u0451\u043c \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u0430\u0432\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f72066c6-8459-501b-aea6-770cd3ac60a6"}

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

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

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

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

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

Git

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

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

Ansible

Так выглядит интерфейс Ansible Tower — продвинутой платной версии. В бесплатной нужно работать по хардкору — в командой строке и текстовом редакторе. Источник: Ansible.com.

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

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

Docker

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

Интерфейс Docker с запущенными контейнерами. Источник: Docker.com.

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

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

Kubernetes

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

Так выглядит веб-интерфейс Kubernetes с дашбордами. Источник: Kubernetes.com

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

Prometheus + Grafana

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

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

Grafana — это красиво и информативно. Источник: Grafana.com.

Terraform

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

Интерфейс Terraform. Источник: Terraform.io

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

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

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

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

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

0
Комментарии
-3 комментариев
Раскрывать всегда