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

    Официальной датой рождения термина 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 — добро пожаловать на наш курс.

    До старта курса осталось меньше месяца!
    OTUS. Онлайн-образование
    Цифровые навыки от ведущих экспертов

    Комментарии 7

    • НЛО прилетело и опубликовало эту надпись здесь
        0
        Уже не продается.
        +2
        «На последнем пятом уровне, дойдём до вершины DevOps-мастерства — оркестрированию и стратегии деплоя и масштабирования. Для этого нам потребуются Docker Swarm, Service Discovery, Kubernetes и Gitlab CI. „

        Ну все же это не вершина мастерства)
          0
          До России практика внедрения DevOps начала доходить около 5 лет назад...

          и до сих пор не дошла.
          За статью спасибо! Перешёл по ссылке из статьи. Правильно понимаю, что вы обучаете основам DevOps даже людей с нулевыми знаниями разработки, т.е. требований к обучающимся нет?

            0
            Думаю, что с начальными знаниями будет сложновато. Лучше начать курс с некоторым опытом разработки
            0
            Выглядит как джуниор курс, а джуниор девопс не бывает.
            прошел начальное тестирование, почему то сразу прошел. Ошибок типа не было, хотя я не очень силен в линуксе. Посмотреть на ошибки не могу.
            Далее. Телефона у конторы не нашел. После обучение никакой сертификации нет. прошел и все. окончательного тестирование нет чтобы понять уложилось или нет.
            надоели такие шаражки в которых просто прослушиваешь чела которому удалось реализовать один проект и возомнить себя гуру.
              0
              спасибо за мнение. мы обязательно его учтем. шаражкой не будем. обещаем.

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

            Самое читаемое