Я люблю проект длиной в неделю, и меня пугают проекты длиной в год. В аджайле мне очень понравилась концепция 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
- စီမံကွပ်ကဲမှုနှင့် ကန့်သတ်ချက်များ- သာလျှင်၊ ဘယ်အချိန်
- ပစ္စည်းများနှင့်အတူအလုပ်လုပ်
- Темплейты, инклюды и микросервисы: упрощаем развертывание
Мы знакомим студентов с основными понятиями и концепциями CI/CD и с тулингом для реализации CI/CD. В результате студент сможет самостоятельно выбрать шаблон проектирования CI/CD и подходящий инструмент реализации.
Затем мы показываем реализацию CI/CD в Gitlab и разбираем настройку, рассматриваем способы продвинутого использования Gitlab CI. В результате студент сможет самостоятельно настроить Gitlab CI для собственных проектов.
По сравнению с первым Слёрмом DevOps мы ужали теорию в 2 раза (по часу на тему), ушли от обзора всех систем и оставили только Gitlab CI. Сосредоточились на практике, добавили много best practices.
ခေါင်းစဉ် 5- အခြေခံအဆောက်အဦ Code အဖြစ်
- IaC- အခြေခံအဆောက်အအုံကို ကုဒ်အဖြစ်ချဉ်းကပ်ခြင်း။
- အခြေခံအဆောက်အဦပံ့ပိုးပေးသူများအဖြစ် Cloud ပံ့ပိုးပေးသူများ
- စနစ်စတင်ခြင်း ကိရိယာများ၊ ရုပ်ပုံတည်ဆောက်ခြင်း (packer)
- ဥပမာအနေဖြင့် Terraform ကိုအသုံးပြု၍ IaC
- ဖွဲ့စည်းမှုသိုလှောင်မှု၊ ပူးပေါင်းဆောင်ရွက်မှု၊ အပလီကေးရှင်းအလိုအလျောက်စနစ်
- Ansible playbooks ဖန်တီးခြင်း အလေ့အကျင့်
- စိတ်ဓာတ်ကျခြင်း၊ ထုတ်ဖော်ပြောဆိုခြင်း
- ဥပမာအနေဖြင့် Ansible ကိုအသုံးပြု၍ IaC
Мы сократили теоретическую часть по 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- အားသာချက်များ
- အားမနာနှင့် အခြားရွေးချယ်စရာများ
- ChatOps အတွက် ဘော့တ်များ
- Hubot နှင့် အခြားရွေးချယ်စရာများ
- လုံခွုံမှု
- စမ်းသပ်ခြင်း
- အကောင်းဆုံးနှင့် အဆိုးဆုံး အလေ့အကျင့်များ
В ChatOps добавили практику аутентификации с разделением прав, подтверждение действий другим пользователем, теорию и практику альтернативы Slack в виде Mattermost, теорию юнит и интеграционных тестов для бота.
Слёрм DevOps стартует 30 января. Цена — 30 000.
Для тех, кто дочитал, скидка 15% на курс по DevOps по промокоду habrapost.
မှတ်ပုံတင်
Буду рад видеть вас на Слёрмах!
source: www.habr.com