Я люблю праект даўжынёй у тыдзень, і мяне палохаюць праекты даўжынёй у год. У аджайле мне вельмі спадабалася канцэпцыя 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. Будзе шмат лепшых практык і шмат самастойнай працы.
Напішам свой экспарцёр. Наладзім маніторынг не толькі прадакшэны інфраструктуры і прыкладанні, але і зборак у 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