Слёрм DevOps — лучше работающая синица за 3 дня, чем прекрасный журавль в далеком будущем

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Я люблю проект длиной в неделю, и меня пугают проекты длиной в год. В аджайле мне очень понравилась концепция MVP и инкремента, это прям мое: сделать работоспособный кусок, внедрить его и двинуться дальше.


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


Мы строили свой курс по DevOps в парадигме «MVP DevOps за один спринт» и «готовность к инкрементам». А если по-человечески, то «чтобы участник по возвращении мог немедленно что-то внедрить у себя и получить пользу».


MVP DevOps: в курсе есть инструменты для основных DevOps-процессов. Мы не ставили себе задачу рассмотреть и сравнить все системы CI/CD или раскрыть глубины подхода Infrastructure as Code. Мы даем один понятный стек: Gitlab CI/CD, Ansible, Terraform и Packer, Molecule, Prometheus, EFK. Можно прийти с курсов, собрать из учебных материалов инфраструктуру для пилотного проекта и поработать в ней.



Готовность к инкрементам: каждый элемент мы даем с большим количеством практики и примерами. Можно взять один инструмент и по учебным чертежам заняться его внедрением. Например, написать Ansible-плейбук для раскатки dev-окружений или подключить бота и админить сервер с телефона. То есть за неделю получить конкретный практический результат. Пусть он бесконечно далек от DevOps-трансформации всей компании, но он есть, он здесь, он работает и приносит пользу.


Темы Слёрма DevOps


Тема №1: Git best practices — говорит сама за себя.
Тема №2: Работа с приложением с точки зрения разработки — инженеру нужны компетенции администратора и разработчика, поэтому мы рассказываем админам про разработку.


Тема №3: Основы CI/CD


  • Введение в автоматизацию CI/CD
  • Основы работы с Gitlab CI
  • Лучшие практики с gitlab-runner
  • Инструменты bash, make, gradle как часть CI/CD и не только
  • Docker как способ решения проблем CI

Тема №4: Gitlab CI/CD в продакшен


  • Конкурентность при запуске job
  • Контроль и ограничения выполнения: only, when
  • Работа с артефактами
  • Темплейты, инклюды и микросервисы: упрощаем развертывание

Мы знакомим студентов с основными понятиями и концепциями CI/CD и с тулингом для реализации CI/CD. В результате студент сможет самостоятельно выбрать шаблон проектирования CI/CD и подходящий инструмент реализации.


Затем мы показываем реализацию CI/CD в Gitlab и разбираем настройку, рассматриваем способы продвинутого использования Gitlab CI. В результате студент сможет самостоятельно настроить Gitlab CI для собственных проектов.


По сравнению с первым Слёрмом DevOps мы ужали теорию в 2 раза (по часу на тему), ушли от обзора всех систем и оставили только Gitlab CI. Сосредоточились на практике, добавили много best practices.


Тема №5: Infrastructure as Code


  • IaC: подход к инфраструктуре как к коду
  • Облачные провайдеры как поставщики инфраструктуры
  • Инструменты инициализации систем, сборка образов (packer)
  • IaC на примере Terraform
  • Хранение конфигураций, совместная работа, автоматизация применений
  • Практика создания Ansible плейбуков
  • Идемпотентность, декларативность
  • IaC на примере Ansible

Мы сократили теоретическую часть по UI и openstack cli и сосредоточились на практике.
Рассмотрим два подхода IaC, используя одно и то же приложение, показывая плюсы и минусы каждого подхода. В результате студент поймет, какой подход где применять, и сможет работать как с Terraform, так и с Ansible.


В теме по Terraform рассмотрим на практике командную работу и хранение состояния в базе данных. В работе с модулями студент сам напишет и настроит модуль, научится работать с ним: переиспользовать, версионировать. Добавим работу с Consul, покажем в каких случаях он необходим и как его правильно использовать.


Тема №6: Тестирование инфраструктуры


  • Разбираемся, почему не пишут тесты?
  • Какие существуют тесты в IaC?
  • Статические анализаторы, так ли они бесполезны?
  • Юнит тестирование IaC на примере ansible + molecule
  • Тестирование, как часть ci
  • Тесты на стероидах или как не ждать по 5 часов, окончания тестов для IaC

Мы сократили теоретическую часть, меньше рассказов про Vagrant/Molecule, больше практики и непосредственно тестирования, с фокусом на линтеры и работу с ними. Смотрим с точки зрения CI
как сделать тестирование быстрее. В практике будет:


  • самописный линтер, который проверяет наличие обязательных переменных для хоста в зависимости от роли;
  • добавляем в CI тестирование только тех ролей, которые изменились, что позволяет существенно сократить время выполнения тестов;
  • добавляем тестирование сценариев. Разворачиваем приложение целиком, как интеграционный тест.

Тема №7: Мониторинг инфраструктуры с Prometheus


  • Как построить здоровую систему мониторинга
  • Мониторинг, как инструмент для анализа, эффективности разработки и стабильности кода, еще до прода
  • Настройка prometheus + alertmanager + grafana
  • Переходим от мониторинга ресурсов, к мониторингу приложений

Будем много говорить про мониторинг микросервисов: id запросов, api мониторинг tool. Будет много best practices и много самостоятельной работы.


Напишем свой экспортер. Настроим мониторинг не только продакшен инфраструктуры и приложения, но и сборок в Gitlab. Посмотрим статистику по проваленным тестам. Посмотрим на практике, как будет выглядеть мониторинг без healthCheck и с ним.


Тема №8. Логирование приложения с ELK


  • Обзор Elastic и его инструментов
  • ELK/Elastic Stack/x-pack — что есть что и в чём разница?
  • Какие задачи можно решать с помощью ElasticSearch (поиск, хранилище, особенности масштабирования, гибкость настройки)
  • Мониторинг инфраструктуры (x-pack)
  • Логи контейнеров и приложений (x-pack)
  • Логирование на примере нашего приложения
  • Практики работы с Kibana
  • Open Distro for Elasticsearch от Amazon

Тема полностью переработана, ее ведет Эдуард Медведев, многие видели его на вебинаре по DevOps и SRE. Он расскажет и покажет лучшие практики работы с EFK на примере учебного приложения. Будет практика с Kibana.


Тема №9: Автоматизация инфраструктуры с ChatOps


  • DevOps и ChatOps
  • ChatOps: сильные стороны
  • Slack и альтернативы
  • Боты для ChatOps
  • Hubot и альтернативы
  • Безопасность
  • Тестирование
  • Лучшие и худшие практики

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


Слёрм DevOps стартует 30 января. Цена — 30 000.
Для тех, кто дочитал, скидка 15% на курс по DevOps по промокоду habrapost.


Регистрация здесь


Буду рад видеть вас на Слёрмах!

Источник: https://habr.com/ru/company/southbridge/blog/484302/


Интересные статьи

Интересные статьи

В Слёрме можно получить сертификат по Kubernetes. Рассказываем, какие даём задания и как проверяем, обязательно ли перед сдачей проходить наши курсы и специально готовиться, почему во в...
7 декабря прошла третья конференция DevOpsDays Moscow, организованная московским DevOps-сообществом при поддержке Mail.ru Cloud Solutions. Кроме докладов ведущих практиков DevOps, участники м...
24 ноября закончился Слёрм Мега, продвинутый интенсив по Kubernetes. Следующая Мега пройдет в Москве 18-20 мая. Идея Слёрма Мега: заглядываем под капот кластера, разбираем в теории и на практ...
Кайдзен используют компании самых разных размеров: от стартапов до крупных предприятий вроде Toyota. Рассказываем, чем помогает и как работает этот фреймворк.
На сегодняшний день у сервиса «Битрикс24» нет сотен гигабит трафика, нет огромного парка серверов (хотя и существующих, конечно, немало). Но для многих клиентов он является основным инструментом ...