Слёрм DevOps — по-добре работеща синя птица за 3 дни, отколкото прекрасен жираф в далечното бъдеще.

Обичам проекти, които продължават седмица, а ме плаши идеята за проекти, които траят година. В Agile ми харесва концепцията за MVP и инкременти — точно такова е моето: да направя работеща част, да я внедря и да продължа напред.

Въпреки това, DevOps трансформацията в такъв вид, в който я обсъждат в книги и на конференции, е точно проект, който трае година или години.

Създавахме курса си по DevOps в парадигмата “MVP DevOps за един спринт” и “готовност за инкременти”. А ако го кажем нормално, означава “участникът да може веднага след завръщането си да внедри нещо и да извлече ползи от него”.

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

Слёрм DevOps — по-добре работеща синя птица за 3 дни, отколкото прекрасен жираф в далечното бъдеще.

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

Темите на Slurm DevOps

Тема №1: Най-добри практики с Git — говори сама за себе си.
Тема №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 за собствените си проекти.

В сравнение с първия Slurm DevOps, намалихме теорията наполовина (по час на тема), изоставихме прегледа на всички системи и оставихме само GitLab CI. Съсредоточихме се върху практиката, добавихме много добри практики.

Тема №5: Инфраструктура като код

  • 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
  • Преминаваме от мониторинг на ресурси към мониторинг на приложения

Ще говорим много за мониторинг на микросервиси: идентификатори на заявки, инструменти за мониторинг на API. Ще има много най-добри практики и много самостоятелна работа.

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

Регистрация тук.

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

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster