Slurm DevOps - uzoq kelajakdagi go'zal krandan ko'ra 3 kun ichida yaxshiroq ishlaydigan tit

Men bir haftalik loyihani yaxshi ko'raman va men bir yillik loyihalardan qo'rqaman. Agile-da menga MVP va o'sish kontseptsiyasi juda yoqdi, bu shunchaki mening ishim: ishlov beradigan buyum yasang, uni amalga oshiring va davom eting.

Shu bilan birga, DevOps-ni kitoblarda va konferentsiyalarda muhokama qilinadigan shaklda o'zgartirish faqat bir yillik loyihadir. Yoki yillar ichida.

Biz DevOps kursimizni “bir sprintda MVP DevOps” va “oʻsishga tayyorlik” paradigmasida qurdik. Va agar insoniy nuqtai nazardan bo'lsa, unda "ishtirokchi qaytib kelgandan so'ng darhol uyda biron bir narsani amalga oshirishi va undan foyda olishi uchun".

MVP DevOps: Kursda asosiy DevOps jarayonlari uchun vositalar mavjud. Biz o'z oldimizga barcha CI/CD tizimlarini ko'rib chiqish va solishtirish yoki Kodeks yondashuvi sifatida infratuzilmaning chuqurligini ochib berish vazifasini qo'yganimiz yo'q. Biz bitta aniq stekni taqdim etamiz: Gitlab CI/CD, Ansible, Terraform va Packer, Molecule, Prometey, EFK. Siz kurslardan kelib, o'quv materiallaridan pilot loyiha uchun infratuzilmani to'plashingiz va unda ishlashingiz mumkin.

Slurm DevOps - uzoq kelajakdagi go'zal krandan ko'ra 3 kun ichida yaxshiroq ishlaydigan tit

O'sishga tayyorlik: biz har bir elementni ko'plab amaliyot va misollar bilan ta'minlaymiz. Siz bitta vositani olishingiz va uni o'quv chizmalaridan foydalanib amalga oshirishni boshlashingiz mumkin. Masalan, ishlab chiquvchi muhitlarni ishlab chiqarish uchun Ansible o'yin kitobini yozing yoki botni ulang va serverni telefoningizdan boshqaring. Ya'ni, bir hafta ichida aniq amaliy natijaga erishing. Bu butun kompaniyaning DevOps transformatsiyasidan cheksiz uzoqda bo'lishi mumkin, lekin u bor, u shu erda, ishlaydi va foyda keltiradi.

Slurm DevOps mavzulari

Mavzu №1: Gitning eng yaxshi amaliyotlari - o'zi uchun gapiradi.
Mavzu №2: Ilova bilan rivojlanish nuqtai nazaridan ishlash — muhandisga administrator va dasturchining malakasi kerak, shuning uchun biz administratorlarga rivojlanish haqida gapirib beramiz.

Mavzu №3: CI/CD asoslari

  • CI/CD avtomatizatsiyasiga kirish
  • Gitlab CI asoslari
  • Gitlab-runner bilan eng yaxshi amaliyotlar
  • Bash, make, gradle tools as CI/CD va boshqalar
  • Docker CI muammolarini hal qilish usuli sifatida

Mavzu №4: Gitlab CI/CD ishlab chiqarishda

  • Ishni boshlashda raqobat
  • Ijro nazorati va cheklovlar: faqat, qachon
  • Artefaktlar bilan ishlash
  • Shablonlar, o'z ichiga va mikroservislar: joylashtirishni soddalashtirish

Biz talabalarni CI/CD-ning asosiy tushunchalari va tushunchalari va CI/CDni amalga oshirish vositalari bilan tanishtiramiz. Natijada, talaba mustaqil ravishda CI/CD dizayn namunasini va mos amalga oshirish vositasini tanlash imkoniyatiga ega bo'ladi.

Keyin biz Gitlab-da CI/CD-ni amalga oshirishni ko'rsatamiz va Gitlab CI-dan foydalanishning ilg'or usullarini ko'rib chiqamiz. Natijada, talaba o'z loyihalari uchun Gitlab CI ni mustaqil ravishda sozlash imkoniyatiga ega bo'ladi.

Birinchi DevOps Slurm bilan solishtirganda, biz nazariyani 2 marta qisqartirdik (har bir mavzu uchun bir soat), barcha tizimlarni ko'rib chiqishdan uzoqlashdik va faqat Gitlab CI-ni qoldirdik. Biz amaliyotga e'tibor qaratdik va ko'plab eng yaxshi amaliyotlarni qo'shdik.

Mavzu №5: Infratuzilma kod sifatida

  • IaC: Infratuzilmaga kod sifatida yondashish
  • Infratuzilma provayderlari sifatida bulutli provayderlar
  • Tizimni ishga tushirish vositalari, tasvirni yaratish (paker)
  • Misol sifatida Terraform yordamida IaC
  • Konfiguratsiyani saqlash, hamkorlik, ilovalarni avtomatlashtirish
  • Ansible o'yin kitoblarini yaratish amaliyoti
  • Idepotentlik, deklarativlik
  • Misol sifatida Ansible-dan foydalangan holda IaC

Biz UI va openstack cli bo'yicha nazariy qismni qisqartirdik va amaliyotga e'tibor qaratdik.
Keling, bir xil dasturdan foydalangan holda ikkita IaC yondashuvini ko'rib chiqaylik, har bir yondashuvning ijobiy va salbiy tomonlarini ko'rsatamiz. Natijada talaba qayerda qanday yondashuvdan foydalanishni tushunadi va Terraform va Ansible bilan ham ishlay oladi.

Terraform mavzusida biz amaliyotda jamoaviy ish va holatni ma'lumotlar bazasida saqlashni ko'rib chiqamiz. Modullar bilan ishlashda talaba modulni o'zi yozadi va sozlaydi, u bilan ishlashni o'rganadi: uni qayta ishlatadi, versiyasini yaratadi. Keling, Konsul bilan ishlashni qo'shamiz, qaysi hollarda zarurligini va uni qanday qilib to'g'ri ishlatishni ko'rsatamiz.

Mavzu №6: Infratuzilmani sinovdan o'tkazish

  • Keling, nima uchun ular testlarni yozmasliklarini aniqlaylik?
  • IaCda qanday testlar mavjud?
  • Statik analizatorlar, ular haqiqatan ham foydasizmi?
  • Misol sifatida ansible + molekulasi yordamida IaC ning birlik sinovi
  • ci qismi sifatida sinov
  • Ukol bo'yicha testlar yoki IaC testlari tugashi uchun 5 soat kutmaslik kerak

Biz nazariy qismni qisqartirdik, Vagrant/Molekula haqida kamroq hikoyalar, ko'proq amaliyot va to'g'ridan-to'g'ri testlar, asosiy e'tibor linterlarga va ular bilan ishlashga qaratilgan. Bunga CI nuqtai nazaridan qarash
testni qanday tezroq qilish kerak. Amalda bo'ladi:

  • rolga qarab xost uchun majburiy o'zgaruvchilar mavjudligini tekshiradigan o'z-o'zidan yozilgan linter;
  • Biz CI testiga faqat o'zgargan rollarni qo'shamiz, bu esa testni bajarish vaqtini sezilarli darajada qisqartirishi mumkin;
  • stsenariy testini qo'shish. Biz butun dasturni integratsiya testi sifatida joylashtiramiz.

Mavzu №7: Prometey yordamida infratuzilma monitoringi

  • Sog'lom monitoring tizimini qanday qurish mumkin
  • Monitoring tahlil qilish, ishlab chiqish samaradorligi va kod barqarorligi uchun vosita sifatida, hatto sotishdan oldin ham
  • Prometey + alertmanager + grafana o'rnatilmoqda
  • Resurs monitoringidan ilovalar monitoringiga o'tish

Mikroservislarni monitoring qilish haqida ko'p gaplashamiz: so'rov identifikatorlari, api monitoringi vositasi. Ko'plab ilg'or tajribalar va ko'plab mustaqil ishlar bo'ladi.

Keling, o'zimizning eksportchimizni yozaylik. Biz nafaqat ishlab chiqarish infratuzilmasi va ilovalari, balki Gitlabda yig'ilishlar monitoringini o'rnatamiz. Keling, muvaffaqiyatsiz testlar bo'yicha statistik ma'lumotlarni ko'rib chiqaylik. HealthChecksiz va u bilan monitoring qanday ko'rinishini amalda ko'rib chiqaylik.

Mavzu № 8. Ilovani ELK bilan qayd qilish

  • Elastik va uning vositalariga umumiy nuqtai
  • ELK/Elastic Stack/x-pack - nima va qanday farq bor?
  • ElasticSearch yordamida qanday muammolarni hal qilish mumkin (qidiruv, saqlash, masshtablash xususiyatlari, konfiguratsiya moslashuvchanligi)
  • Infratuzilma monitoringi (x-pack)
  • Konteyner va dastur jurnallari (x-pack)
  • Bizning ilovamizdan misol sifatida jurnalga kirish
  • Kibana bilan ishlash amaliyoti
  • Amazondan Elasticsearch uchun Distro-ni oching

Mavzu butunlay qayta ishlab chiqilgan, uni Eduard Medvedev boshqaradi, ko'pchilik uni DevOps va SRE-dagi vebinarda ko'rdi. U ta'lim dasturi misolida EFK bilan ishlashning eng yaxshi amaliyotlarini aytib beradi va namoyish etadi. Kibana bilan mashg'ulot o'tkaziladi.

9-mavzu: ChatOps yordamida infratuzilmani avtomatlashtirish

  • DevOps va ChatOps
  • ChatOps: kuchli tomonlar
  • Bo'shashmasdan va muqobil variantlar
  • ChatOps uchun botlar
  • Hubot va muqobillar
  • Xavfsizlik
  • Viktorina
  • Eng yaxshi va eng yomon amaliyotlar

ChatOps huquqlarni ajratish bilan autentifikatsiya amaliyotini, boshqa foydalanuvchi tomonidan harakatlarni tasdiqlashni, Mattermost ko‘rinishidagi Slackga alternativa nazariyasi va amaliyotini, bot uchun birlik nazariyasi va integratsiya testlarini qo‘shdi.

DevOps slurm 30-yanvarda boshlanadi. Narxi - 30.
O'qishni tugatganlar uchun habrapost promo-kodi yordamida DevOps kursiga 15% chegirma taqdim etiladi.

Ro'yxatga olish shu yerda

Sizni Slurmsda ko'rganimdan xursand bo'laman!

Manba: www.habr.com

a Izoh qo'shish