DevOps инженер за работой

Кто такой девопс инженер?

DevOps Engineer — на рынке IT так называют айтишника, который занимается на стыке разработки и эксплуатации.

Вообще DevOps (DEVelopment + OPerationS) — это методология (т.е. не специальность человека) непрерывной разработки программного обеспечения:

  • Основная идея DevOps — объединение команды разработки (программисты, тестировщики, продакты, сис-админы) в единый котел.
  • Цель — ускорить разработку, повысить стабильность систем и быстрее реагировать на изменения в бизнес-требованиях. За счет общего "языка" и задач.

Почему появились Devops'ы?

В 90-ые и нулевые начали активно расти требования пользователей IT-продуктов. Уже было недостаточно "сделать хорошо", требовалось "сделать быстро". А использованная в те времени схема, когда разработка разрабатывает и ничего не знает про эксплуатацию, а системные админстраторы развертывают и эксплуатируют, но ничего не знают про внутренности, не позволяла заметно ускориться.

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

Так, в конце нулевых, стали зарождаться основы для методологии и затем появления на рынке такого зверя как "девопс", а иногда и "дЭвопс".

Девопсы — это не "новые" системные админстраторы. Потому что первые смотрят шире. База сис. админа (сети, администрирование linux, windows, etc) расширяет возможности девопса.

Что делают?

Типичные задачи для девопса это:

  • Автоматизация процессов развертывания — создает скрипты и настраивает CI/CD pipeline для автоматического развертывания
  • Управление инфраструктурой — настраивает ПО на серверах, облаках, описывает Dockerfile для приложений
  • Мониторинг и логирование — настаривает мониторинг, алерты, анализирует сбои
  • Масштабирование — помогает команде разработки понять узкие места, подсказывает как их обойти.

Примеры конкретных задач

  1. Напиши Dockerfile для сборки Python приложения (FastAPI)
  2. Настрой автоматическую сборку docker образа по этому Dockerfile при помощи Gitlab
  3. Разверни rabbitmq из helm chart bitnami с 3 нодами
  4. Настрой графики для мониторинга nginx ingress
  5. Напиши helm chart для развертывания приложения

Основные инструменты devops

Значимая часть применяемых инструментов можно посмотреть в Cloud Native Landspace. Например:

  1. Для настройки CI/CD — Gitlab, Github actions
  2. Для сборки приложений — Docker, Werf
  3. Для экплуатации серверов — Kubernetes, OpenShift
  4. Для настройки серверов и ПО на них — Terraform, Ansible, Chef
  5. Для мониторинга — VictoriaMetrics, Grafana, Prometheus, Loki, alert manager

Что нужно, чтобы стать devops?

Хороший девопс развил/имеет в себе ряд вещей:

  1. Сильное желание развиваться — в работе требуется использовать множество разных решений, которые нужно изучать постоянно.
  2. Готовность общаться — к тебе будут обращаться по множеству вопросов, каждый день
  3. Стрессоустойчивость — IT ломается, а иногда твои ошибки могут стоить компании много денег. Нужно продолжать

Как Incidenta может помочь с этим

В нашем тренажере IT-инцидентов ты можешь проверить свою стрессоустойчивость. Выбирай одну из тренировок на странице и сможешь "сломать продакшн" в безопасной среде.