Кто такой девопс инженер?
DevOps Engineer — на рынке IT так называют айтишника, который занимается на стыке разработки и эксплуатации.
Вообще DevOps (DEVelopment + OPerationS) — это методология (т.е. не специальность человека) непрерывной разработки программного обеспечения:
- Основная идея DevOps — объединение команды разработки (программисты, тестировщики, продакты, сис-админы) в единый котел.
- Цель — ускорить разработку, повысить стабильность систем и быстрее реагировать на изменения в бизнес-требованиях. За счет общего "языка" и задач.
Почему появились Devops'ы?
В 90-ые и нулевые начали активно расти требования пользователей IT-продуктов. Уже было недостаточно "сделать хорошо", требовалось "сделать быстро". А использованная в те времени схема, когда разработка разрабатывает и ничего не знает про эксплуатацию, а системные админстраторы развертывают и эксплуатируют, но ничего не знают про внутренности, не позволяла заметно ускориться.
Это, а также заметное снижение стоимости оборудования, привело к появлению множества решений по автоматизации по эксплуатации, которые позволили снизить ресурсоемкость поддержки.
Так, в конце нулевых, стали зарождаться основы для методологии и затем появления на рынке такого зверя как "девопс", а иногда и "дЭвопс".
Девопсы — это не "новые" системные админстраторы. Потому что первые смотрят шире. База сис. админа (сети, администрирование linux, windows, etc) расширяет возможности девопса.
Что делают?
Типичные задачи для девопса это:
- Автоматизация процессов развертывания — создает скрипты и настраивает CI/CD pipeline для автоматического развертывания
- Управление инфраструктурой — настраивает ПО на серверах, облаках, описывает Dockerfile для приложений
- Мониторинг и логирование — настаривает мониторинг, алерты, анализирует сбои
- Масштабирование — помогает команде разработки понять узкие места, подсказывает как их обойти.
Примеры конкретных задач
- Напиши Dockerfile для сборки Python приложения (FastAPI)
- Настрой автоматическую сборку docker образа по этому Dockerfile при помощи Gitlab
- Разверни rabbitmq из helm chart bitnami с 3 нодами
- Настрой графики для мониторинга nginx ingress
- Напиши helm chart для развертывания приложения
Основные инструменты devops
Значимая часть применяемых инструментов можно посмотреть в Cloud Native Landspace. Например:
- Для настройки CI/CD — Gitlab, Github actions
- Для сборки приложений — Docker, Werf
- Для экплуатации серверов — Kubernetes, OpenShift
- Для настройки серверов и ПО на них — Terraform, Ansible, Chef
- Для мониторинга — VictoriaMetrics, Grafana, Prometheus, Loki, alert manager
Что нужно, чтобы стать devops?
Хороший девопс развил/имеет в себе ряд вещей:
- Сильное желание развиваться — в работе требуется использовать множество разных решений, которые нужно изучать постоянно.
- Готовность общаться — к тебе будут обращаться по множеству вопросов, каждый день
- Стрессоустойчивость — IT ломается, а иногда твои ошибки могут стоить компании много денег. Нужно продолжать
Как Incidenta может помочь с этим
В нашем тренажере IT-инцидентов ты можешь проверить свою стрессоустойчивость. Выбирай одну из тренировок на странице и сможешь "сломать продакшн" в безопасной среде.