Pull to refresh
824.77
OTUS
Цифровые навыки от ведущих экспертов

Что такое DevOps: подход, который может изменить всё

Reading time 4 min
Views 9.7K
Официальной датой рождения термина DevOps принято считать 2009 год, когда в Бельгии впервые прошла конференция “Devopsdays”. Год спустя желающих наберется уже на 4 подобных события. В 2017 году — 47 конференций по всему миру, в том числе в Москве. Так что такое DevOps?

DevOps это не профессия, а культура, философия, метод — набор практик, объединяющий вместе разработчиков программного обеспечения, тестировщиков и людей, отвечающих за его обслуживание. Отсюда название — акроним от “development” и “operations”. Основная цель — уменьшение разрыва между работой всех IT- подразделений компании, оптимизация ответственности за задачи «на стыке» разработки и эксплуатации, повышение производительности, снижение количества ошибок, и, как следствие, удовлетворение потребностей бизнеса и клиента.

Стандартный процесс делится на 5 этапов:

• анализ требований к проекту;
• проектирование;
• реализация;
• тестирование продукта;
• внедрение и поддержка.

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

DevOps — современное решение данной проблемы. Он меняет указанный подход на циклический и, в тоже время, сквозной. В таком производственном процессе все этапы взаимосвязаны, требуют четкой организации и контроля. То есть разработчики, помимо основной деятельности, должны участвовать в деплое, системщики — в разработке, тестировщики — в настройке и т.д. Реализация методологии DevOps — задача сложная и кропотливая, реализуемая, как при помощи инструментов, так и специалистов. В этом, кстати, ее главное отличие от Agile, где достаточно лишь изменить образ мышления, организацию труда, не обязательно внедряя дополнительный персонал или программные системы.

До России практика внедрения DevOps начала доходить около 5 лет назад, поэтому потребность в DevOps — инженерах неуклонно растет, конкуренция пока еще низкая, а спрос на специалистов еще не сформировался и так же находится на стадии постоянного роста.

Ещё один плюс изучения DevOps — отсутствие фундаментальной подготовки кадров. Несмотря на привлекательность методологии, многие специалисты — бывшие разработчики, желающие расширить фронт работ. Но куда чаще в DevOps идут системщики, которым мало работы с кодом в shell и bash. В целом, для того, чтобы овладеть этой методологией, не надо иметь серьезного бэкграунда. Достаточно иметь опыт работы на одной из степеней жизни ПО и знать хотя бы в теории смежные дисциплины.

Практической стороне вопроса как раз и посвящен наш курс. Программа разбита на 5 логических уровней. На первом акцентируем внимание на базовых вещах DevOps — чаты, системы контроля версий и задач, визуализация рабочего процесса, облачные сервисы, безопасное удалённое подключение. В общем, всё то, без чего сложно представить современное коллективное программирование. Из продуктов познакомимся поближе с Google Cloud Platform, Packer, Slack, HipChat, Rocketchat и конечно же Git.

После того, как заложим основы разработки и администрирования, переходим на второй уровень, где обсудим настройки и конфигурирование инфраструктуры. На примере утилиты Terraform научимся создавать, изменять и присваивать версии компонентам нашей системы и поработаем с remote backends. Кроме того, на первых двух уровнях рассмотрим модель BSA (Base-Service-App): от базового уровня до применения конфигурацией при помощи Ansible.

На третьем уровне начнём работу с Docker — системой для автоматизации и развёртывания приложений, в частности с Dockerfile, Hub, Compose. Здесь же рассмотрим понятия непрерывной интеграции и автоматизированного конвейера поставки, немного затронем тестирование контейнеров. Тем самым уже на этом этапе мы заложим правильную организацию выпуска ПО согласно методологии DevOps.

Уровень четвёртый посвящен такой важной процедуре в жизни каждого изделия, как мониторинг с последующим выявлением и записью ошибок. Для этого сначала определимся, что надо отслеживать, рассмотрим наиболее популярные системы мониторинга, алертинга и логирования. Разумеется, на практике узнаем, как их установить, настроить и поработаем с ними.

На последнем пятом уровне, дойдём до вершины DevOps-мастерства — оркестрированию и стратегии деплоя и масштабирования. Для этого нам потребуются Docker Swarm, Service Discovery, Kubernetes и Gitlab CI.

В нашем курсе мы постарались максимально цельно продемонстрировать именно практику организации производства ПО согласно DevOps, ведь именно здесь, возникает наибольшее количество вопросов. Поэтому если вы заинтересовались этой темой и хотите на практике познакомиться с “правильным” циклом разработки и деплоя ПО, самое время приобщиться к культуре DevOps — добро пожаловать на наш курс.

До старта курса осталось меньше месяца!
Tags:
Hubs:
+2
Comments 7
Comments Comments 7

Articles

Information

Website
otus.ru
Registered
Founded
Employees
101–200 employees
Location
Россия
Representative
OTUS