Слёрм 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 за собствените си проекти.

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

Ще говорим много за мониторинга на микросервисите: id на запитите, инструмент за мониторинг на 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