Slurm DevOps - як синаи беҳтар коркунанда дар 3 рӯз назар ба кран зебо дар ояндаи дур

Ман як лоиҳаи якҳафтаинаро дӯст медорам ва аз лоиҳаҳои яксола метарсам. Дар Agile, ба ман консепсияи MVP ва афзоиш хеле писанд омад, ин танҳо кори ман аст: як порчаи коршаванда созед, онро амалӣ кунед ва идома диҳед.

Дар айни замон, табдилдиҳии DevOps дар шакле, ки дар он дар китобҳо ва конфронсҳо муҳокима карда мешавад, танҳо як лоиҳаи яксола аст. Ё дар солҳо.

Мо курси DevOps-и худро дар парадигмаи "MVP DevOps дар як спринт" ва "тайёрӣ ба афзоиш" сохтем. Ва агар ба истилоҳи инсонӣ бошад, пас «то иштирокчӣ ҳангоми баргаштан дар хона чизеро амалӣ карда, аз он баҳра барад».

MVP DevOps: Курс дорои асбобҳо барои равандҳои асосии DevOps мебошад. Мо дар назди худ вазифа нагузоштаем, ки ҳама системаҳои CI/CD-ро баррасӣ ва муқоиса кунем ё умқи инфрасохторро ҳамчун равиши Кодекс ошкор кунем. Мо як стеки равшанро пешниҳод мекунем: Gitlab CI/CD, Ansible, Terraform ва Packer, Molecule, Prometheus, EFK. Шумо метавонед аз курсҳо омада, инфрасохтори лоиҳаи озмоиширо аз маводи таълимӣ ҷамъ кунед ва дар он кор кунед.

Slurm DevOps - як синаи беҳтар коркунанда дар 3 рӯз назар ба кран зебо дар ояндаи дур

Омодагӣ ба афзоиш: мо ҳар як элементро бо таҷриба ва мисолҳои зиёд пешниҳод мекунем. Шумо метавонед як асбобро гиред ва ба татбиқи он бо истифода аз расмҳои таълимӣ шурӯъ кунед. Масалан, барои паҳн кардани муҳити таҳиякунанда як китоби бозии Ansible нависед ё ботро пайваст кунед ва серверро аз телефони худ идора кунед. Яъне дар як ҳафта натиҷаи амалии мушаххас ба даст оред. Он метавонад аз табдили 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 дар истеҳсолот

  • Рақобат ҳангоми оғози кор
  • Назорати иҷро ва маҳдудиятҳо: танҳо, вақте ки
  • Кор бо артефактҳо
  • Шаблонҳо, дар бар мегирад ва хидматрасониҳои хурд: соддагардонии ҷойгиркунӣ

Мо донишҷӯёнро бо мафҳумҳо ва консепсияҳои асосии CI/CD ва асбобҳо барои татбиқи CI/CD шинос мекунем. Дар натиҷа, донишҷӯ метавонад мустақилона намунаи тарҳрезии CI/CD ва абзори мувофиқро интихоб кунад.

Сипас, мо татбиқи CI/CD-ро дар Gitlab нишон медиҳем ва аз танзимот гузашта, роҳҳои пешрафтаи истифодаи Gitlab CI-ро дида мебароем. Дар натиҷа, донишҷӯ метавонад мустақилона Gitlab CI-ро барои лоиҳаҳои худ танзим кунад.

Дар муқоиса бо аввалин DevOps Slurm, мо назарияро 2 маротиба коҳиш додем (як соат дар як мавзӯъ), аз баррасии ҳама системаҳо дур шудем ва танҳо Gitlab CI-ро тарк кардем. Мо ба амалия диккат дода, бисьёр тачрибаи пешкадамро илова кардем.

Мавзӯи №5: Инфрасохтор ҳамчун Кодекс

  • IaC: Муносибат ба инфрасохтор ҳамчун Кодекс
  • Провайдерҳои абрӣ ҳамчун провайдерҳои инфрасохтор
  • Воситаҳои оғозкунии система, сохтани тасвир (пакер)
  • IaC бо истифода аз Terraform ҳамчун намуна
  • Нигоҳдории конфигуратсия, ҳамкорӣ, автоматикунонии барнома
  • Таҷрибаи эҷоди китобҳои бозикунии Ansible
  • Эъломиявӣ, декларативӣ
  • IaC ҳамчун намуна Ansible-ро истифода мебарад

Мо қисми назариявиро дар UI ва openstack cli кам карда, ба амалия тамаркуз кардем.
Биёед ду равиши IaC-ро бо истифода аз як барнома дида бароем, ки мусбат ва манфии ҳар як равишро нишон медиҳанд. Дар натиҷа, донишҷӯ мефаҳмад, ки кадом равишро дар куҷо истифода бурдан лозим аст ва метавонад бо Terraform ва Ansible кор кунад.

Дар мавзӯи Terraform, мо ба кори дастаҷамъӣ ва нигоҳдории ҳолат дар пойгоҳи додаҳо дар амал дида мебароем. Ҳангоми кор бо модулҳо донишҷӯ худаш модулро менависад ва танзим мекунад, тарзи кор карданро бо он меомӯзад: аз нав истифода баред, версияи он. Биёед бо Консул кор илова кунем, нишон диҳем, ки дар кадом ҳолатҳо он зарур аст ва чӣ гуна онро дуруст истифода бурдан мумкин аст.

Мавзӯи №6: Санҷиши инфрасохтор

  • Биёед бифаҳмем, ки чаро онҳо санҷиш наменависанд?
  • Дар IaC кадом озмоишҳо мавҷуданд?
  • Анализаторҳои статикӣ, оё онҳо дар ҳақиқат ин қадар бефоидаанд?
  • Санҷиши воҳиди IaC бо истифода аз молекулаи ansible + ҳамчун намуна
  • Санҷиш ҳамчун қисми 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)
  • Сабт кардан бо истифода аз барномаи мо ҳамчун намуна
  • Амалияи кор бо Кибана
  • Дистроро барои Elasticsearch аз Amazon кушоед

Мавзӯъ комилан аз нав тарҳрезӣ шудааст, онро Эдуард Медведев баргузор мекунад, бисёриҳо ӯро дар вебинар дар DevOps ва SRE диданд. Вай таҷрибаҳои беҳтарини кор бо EFK-ро бо истифода аз мисоли барномаи таълимӣ нақл мекунад ва нишон медиҳад. Бо Кибана машқ карда мешавад.

Мавзӯи №9: Автоматикунонии инфрасохтор бо ChatOps

  • DevOps ва ChatOps
  • ChatOps: Қувваҳо
  • Камбудӣ ва алтернативаҳо
  • Ботҳо барои ChatOps
  • Hubot ва алтернативаҳо
  • Амният
  • санҷиши
  • Таҷрибаҳои беҳтарин ва бадтарин

ChatOps амалияи аутентификатсияро бо ҷудокунии ҳуқуқҳо, тасдиқи амалҳо аз ҷониби корбари дигар, назария ва амалияи алтернатива ба Slack дар шакли Mattermost, назарияи воҳид ва санҷишҳои ҳамгироӣ барои бот илова кард.

slurm DevOps 30 январ оғоз меёбад. Нархи - 30.
Барои онҳое, ки хонданро тамом кардаанд, дар курси DevOps бо истифода аз рамзи таблиғотии habrapost 15% тахфиф мавҷуд аст.

бақайдгирии дар ин ҷо

Ман аз дидани шумо дар Slurms шодам!

Манбаъ: will.com

Илова Эзоҳ