Sahna ortida. Kurslar qanday yaratiladi?

Ishtirokchi kurs yoki intensiv kursga keladi. U tartibli texnik yordam qatorlarini, chiroyli tarzda o'tkazilgan elektr kabellarini, ma'ruza zalining shaxmat sxemasini, yorqin rasmlar va diagrammalarni ko'radi. Hazil va tabassumli ma'ruzachilar ma'lumotni shunday tarqatadilarki, siz uni tushunishga vaqt topasiz. Stendlar o'rnatildi, mashq vazifalari shunchaki barmoqlaringizdan uchib ketadi, faqat ba'zida sizga texnik xodimlarning yordami kerak bo'ladi. qo'llab-quvvatlash.

Shuningdek, hamfikrlar bilan kofe-breyklar, quvnoq va baquvvat muhit, tajriba almashish, ma'ruzachilar uchun eng kutilmagan savollar. Qo'llanmalarda topa olmaydigan javoblar ham, ma'lumotlar ham amalda.

Sizningcha, uni aynan shunday qilish uchun qancha vaqt, kuch va asab kerak bo'ldi?

Sahna ortida. Kurslar qanday yaratiladi?

Kubernetes sertifikatlangan administratori va Southbridgedagi muhandis/guruh rahbari Volodya Guryanovga rahmat, u boshidanoq ko'plab Slurm kurslarini yaratishda guvoh bo'lgan va faol ishtirok etgan.

U, albatta, yaratilishning pastki qismini ko'rdi - murakkabliklar va tikanli tirmalar, tushunchalar va kutilmagan echimlar. Va allaqachon tanish bo'lgan Kubernetes intensivlari, masalan, Slurm Basic va Slurm Mega. Va yangi, asosan qayta ko'rib chiqilgan kurs Slurm DevOps: Tools & Cheats, bu muqarrar ravishda yaqinlashmoqda va 19 avgustda boshlanadi.

Sahna ortida. Kurslar qanday yaratiladi?

Ammo, ehtimol, qo'shiq matni etarli, keling, hikoyaning o'ziga o'taylik. Qanday qilib bir nechta intensiv mavzulardan butunlay o'zini o'zi ta'minlaydigan va ko'p qirrali Docker kursi. Shunday qilib, men kurslar qanday yaratilgani va rivojlanishi haqidagi hikoyani boshlayman - xuddi "Uzoq, uzoq galaktikada..."

Sahna ortida nima bor?

Kurslarni qanday tashkil qilamiz va hammasi qaerdan boshlanadi deb so'rasangiz, men shunchaki javob beraman: "Hammasi g'oyadan boshlanadi".

Odatda g'oya qayerdandir keladi - biz: "Qaysi mavzu bo'yicha kurs o'tkazishimiz kerak?" degan fikrga kelmagunimizcha, biz podvalda qo'limizga kishan bog'lab o'tirmaymiz. G'oyalar tashqi manbalardan o'z-o'zidan paydo bo'ladi. Ba'zan odamlar faol ravishda so'rashni boshlaydilar: "Siz falon va falon texnologiya haqida nima bilasiz?" Yoki Doker bilan qanday qilib uni intensiv kurs vaqtiga moslashtirib bo'lmasdi - intensiv kurs davomida biror narsa aytishga vaqt topish uchun uni tashqariga olib chiqish kerak edi.

Sahna ortida. Kurslar qanday yaratiladi?

Fikr shunday paydo bo'ladi.

Bu e'lon qilingandan so'ng, menimcha, eng qiyin payt boshlanadi - umuman olganda, ushbu kursga nimani kiritish kerakligini tushunish - bu ma'ruzachilarning har qanday konferentsiyaga qanday tayyorlanishi bilan solishtirish mumkin.

Mavzuni tanlagandek va o'ylaganingizda bitta asosiy og'riq bor: “Bu haqda nima deyishim mumkin? Bu juda oddiy, bu ochiq-oydin, buni hamma biladi”.

Lekin, aslida, bunday emas. Va shaxsan o‘zim ko‘p joylarda aytamanki, sizga, sizni tinglashga yoki kurs o‘qishga kelganlarga ayon bo‘lib ko‘ringan narsa umuman ko‘rinmaydi. Va bu erda bunday katta ish qatlami va ichki ziddiyat paydo bo'ladi, kursga nimani kiritish kerak. Natijada, biz bunday katta zarbalar bilan bo'limlar ro'yxatini olamiz, kurs nima haqida bo'ladi.

Va keyin oddiy muntazam ish boshlanadi:

  • Materialni tanlash
  • Joriy versiya uchun hujjatlarni diqqat bilan o'qing, chunki IT olami hozir qandaydir kosmik tezlikda rivojlanmoqda. Agar biror narsa bilan ishlasangiz va bu haqda kurs tuzsangiz ham, siz hujjatlarga borishingiz va u erda nima yangilik borligini, nima haqida gaplashish qiziqligini va ayniqsa nimani eslatish foydali bo'lishi mumkinligini ko'rishingiz kerak.
  • Va kursning ma'lum bir skeleti paydo bo'ladi, u erda mavzularning aksariyati, umuman olganda, allaqachon yoritilgan va u erda nima bo'lishidan qat'i nazar - videolarni yozib oling va ularni ishlab chiqarishga kiriting.
  • Lekin, aslida, yo'q, keyin qiyin ish boshlanadi, lekin kurs mualliflari uchun emas, balki sinovdan o'tganlar uchun. Odatda bizning alfa testerlarimiz texnik yordam bo'lib, ular birinchi navbatda har qanday sintaktik va grammatik xatolar uchun kurslarni tekshiradi. Ikkinchidan, ular bizni tayoq bilan og'riqli urishadi va umuman ko'rinmas, tushunarsiz joylar mavjud bo'lganda so'kinadilar. Matnlarda bir-ikki sahifadan iborat murakkab tuzilgan bo'ysunuvchi jumlalar yoki ochiq-oydin bema'nilik paydo bo'lganda. Ular hammasini o'qiydilar, unga e'tibor bering.
  • Keyin amaliyotni sinovdan o'tkazish bosqichi boshlanadi, unda ba'zi aniq ishlamaydigan narsalar ham qo'lga olinadi va ba'zi lahzalar ko'rsatiladi, ularni qiyinlashtirish mumkin, chunki bu unchalik qiziq emas - shunchaki o'tirish va nusxalash - va u juda ko'p bo'lgan joylar aniqlanadi. qiyin va biz bu kursni o'tadigan odamlardan juda ko'p narsa istaymiz. Va keyin tavsiyalar keladi: "Yigitlar, bu erda oddiyroq qiling, buni tushunish osonroq bo'ladi va undan ko'proq foyda bo'ladi."
  • Bu hajmdagi ishlar bajarilgandan so'ng, videoga tegishli qism yoziladi, hammasi yaxshi bo'lib tuyuladi. Va siz uni allaqachon ishlab chiqarish uchun, ushbu kursni reklama qilish uchun berishingiz mumkin. Ammo yana, yo'q, hali erta - chunki yaqinda biz o'zimizga ozgina ishonishni to'xtatdik va printsipial ravishda fikr-mulohazalar bilan ko'proq ishlay boshladik. Beta-test kabi narsa bor - bu bizning kompaniyamiz bilan hech qanday aloqasi bo'lmagan begona odamlardan taklif qilinganida va ba'zi yaxshiliklar uchun ularga kursning barcha qismlari, videolar, matnlar, amaliy topshiriqlar ko'rsatiladi, shunda ular materialning sifatini, materialning mavjudligini baholang va kursni iloji boricha yaxshi qilishimizga yordam berdi.
  • Va bir nechta bunday iteratsiyalar o'tganda, ma'ruzachilar, texnik yordam ko'rinishidagi alfa sinovlari, beta-testlar, yaxshilanishlar. Va keyin hamma narsa qaytadan boshlanadi - texnik yordam, beta-test, yaxshilanishlar.
  • Va ma'lum bir nuqtada, biz o'zgartirishlar bilan tugatdik, chunki buni hamma yoqtirishiga ishonch hosil qilish mutlaqo haqiqiy emas yoki ba'zi keskin qarorlar qabul qilinadi. Muayyan joylardagi ko'plab sharhlar muhim bo'lsa, ularni global miqyosda qayta bajaring, chunki nimadir noto'g'ri ketdi.
  • Keyin kichik tahrirlar vaqti keladi - qaerdadir jumla unchalik yaxshi tuzilmagan, qaerdadir kimdir shriftni yoqtirmaydi, 14,5, lekin 15,7 ni xohlaydi.
  • Qachonki bu turdagi sharhlar qolgan bo'lsa, unda bu, kurs ozmi-ko'pmi ochiladi, rasmiy sotuvlar boshlanadi.

Va bir qarashda, kursni yaratishning qisqa va oddiy vazifasi unchalik oddiy emas va nihoyatda uzoq vaqt talab etadi.

Yana bir muhim jihat borki, kurs chiqarilganda kurs bilan ishlash tugamaydi. Birinchidan, biz ba'zi qismlarda qoldirilgan sharhlarni diqqat bilan o'qiymiz. Va biz qilgan barcha sa'y-harakatlarga qaramay, ba'zi kamchiliklar hali ham aniqlanmoqda, ba'zi xatolar yo'lda, real vaqt rejimida tuzatilmoqda va takomillashtirilmoqda, shunda har bir keyingi foydalanuvchi yaxshiroq xizmat ko'rsatadi.

Sahna ortida. Kurslar qanday yaratiladi?

Har bir kursning o'z mahsulot egasi bor, u umumiy kontseptsiyani belgilashdan tashqari, muddatlarni tekshiradi, u kursni butunlay qayta yozish vaqti kelganida va bu albatta kelishini qayd qiladi, chunki ikki yildan keyin yoki hatto bir yil o'tgach, biz aytgan ba'zi narsalar axloqiy jihatdan eskirganligi sababli ahamiyatsiz bo'lib qoladi. Mahsulot egasi ko'pincha odamlar qaysi nuqtalar noaniq ekanligini, qaysi vazifalar juda qiyin bo'lib tuyulganini va aksincha, juda oddiy bo'lib tuyulganini so'raydigan yozuvlarni yozib qo'yadi. Va bularning barchasi kursni qayta yozishda, qandaydir refaktoring paytida hisobga olinadi, shunda global kursning har bir iteratsiyasi yaxshiroq, qulayroq va qulayroq bo'ladi.

Kurslar shunday paydo bo'ladi.

Docker kursi qanday paydo bo'lgan

Bu biz uchun alohida va hatto g'ayrioddiy mavzu. Chunki, bir tomondan, biz buni qilishni rejalashtirmagan edik, chunki ko'plab onlayn maktablar buni taklif qilishadi. Boshqa tomondan, uning o'zi erkinlik so'radi va Kubernetesda IT mutaxassislarini tayyorlash konsepsiyamizda mantiqiy o'rin topdi.

Juda global miqyosda gapiradigan bo'lsak, dastlab hammasi Kubernetes kursidan boshlandi, menimcha, birinchi Slurmdan keyin boshlangan. Biz fikr-mulohazalarni to'pladik va ko'p odamlar Docker haqida qo'shimcha ma'lumotni boshqa joyda o'qishni xohlashlarini ko'rdik va umuman olganda, ko'pchilik Kubernetes-ning asosiy kursiga bu nima ekanligini bilmasdan keladi. Docker.

Shuning uchun, ikkinchi Slurm uchun ular kurs o'tkazdilar - aniqrog'i, hatto kurs ham emas, balki Dockers bo'yicha bir nechta bo'limlar yaratdilar. Qaerda ular eng oddiy narsalarni aytib berishdi, shunda intensiv terapiyaga kelgan odamlar o'zlarini mahrum his qilmasliklari va umuman nima bo'layotganini tushunishlari uchun.

Sahna ortida. Kurslar qanday yaratiladi?

Va keyin voqealar taxminan shunday rivojlandi. Materiallar miqdori o'sib bordi va 3 kun ichida sig'ishni to'xtatdi. Va mantiqiy va ravshan fikr paydo bo'ldi: nima uchun biz Slurm Basic-da ko'rib chiqayotgan narsalarni Kubernetes-da intensiv kursni o'tashdan oldin Docker haqida biror narsa tomosha qilishni xohlaydigan odamlarni yuborishingiz mumkin bo'lgan kichik kursga aylantirmasligingiz kerak.

Slurm Junior, aslida, bir nechta shunday asosiy kurslarning kombinatsiyasi. Natijada, Docker kursi Slurm Juniorning bir qismiga aylandi. Ya'ni, bu avvalgidek nol qadam Asosiy и Mega. Va keyin juda oddiy abstraktsiyalar bor edi.

Sahna ortida. Kurslar qanday yaratiladi?

Bir payt odamlar: “Bolalar, bularning hammasi zo'r, intensiv kurslarda nima haqida gapirayotganingizni tushunish uchun buning o'zi kifoya. Docker nima qilishi mumkinligi va u bilan qanday ishlash mumkinligi va bu nima haqida batafsilroq qaerda o'qsam bo'ladi? Shunday qilib, uni to'g'rilash g'oyasi paydo bo'ldi Docker bo'yicha to'liq kurs, shunday qilib, birinchidan, Kubernetes yordamida Slurmga kelgan odamlar hali ham unga yuborilishi mumkin, boshqa tomondan, rivojlanishning ushbu bosqichida hatto Kubernetesga qiziqmaydiganlar uchun. Shunday qilib, IT mutaxassisi kelib Docker bo'yicha kursimizni tomosha qilishi va o'zining evolyutsion yo'lini oddiy Docker bilan boshlashi mumkin. Shunday qilib, bizda shunday to'liq, to'liq kurs bor - va keyin ko'pchilik ushbu kursni tomosha qilib, sof Docker bilan bir muncha vaqt ishlagan holda, Kubernetes yoki boshqa orkestratsiya tizimiga muhtoj bo'lgan darajaga etishdi. Va ular bizga ayniqsa kelishdi.

Ba'zida savol tug'iladi: "Hozir qanday odamlar Kubernetesga muhtoj bo'lmasligi mumkin?" Ammo bu savol odamlar haqida emas, balki kompaniyalar haqida. Bu erda siz Kubernetesning ba'zi holatlari borligini tushunishingiz kerak, u juda mos keladi va u yaxshi hal qiladigan vazifalar, lekin aksincha, Kubernetes qo'shimcha og'riq va qo'shimcha azob-uqubatlarga sabab bo'lganda foydalanishning ba'zi stsenariylari mavjud. Shuning uchun, bu hatto odamlarga bog'liq emas, balki qaysi kompaniyalar va qancha vaqt davomida rivojlanayotganiga bog'liq.

Misol uchun, qandaydir dahshatli Legacy monolit - ehtimol siz uni Kubernetesga surmasligingiz kerak, chunki u foydadan ko'ra ko'proq muammolarni keltirib chiqaradi. Yoki, masalan, agar bu kichik loyiha bo'lsa, u kichik yukga ega yoki printsipial jihatdan ko'p pul va resurslarga ega emas. Uni Kubernetesga sudrab borishning ma'nosi yo'q.

Va umuman olganda, ehtimol, umuman olganda, ko'pchilik allaqachon aytganidek, agar siz "Menga Kubernetes kerakmi?" Degan savolni bersangiz, unda sizga kerak emas. Men buni birinchi bo'lib kim o'ylab topganini eslay olmayman, mening fikrimcha, Pasha Selivanov. Men bu fikrga 100% qo'shilaman. Va siz Kubernetesgacha o'sib ulg'ayishingiz kerak - va men Kubernetesga muhtojligim va bizning kompaniyamizga kerakligi allaqachon aniq bo'lsa va u shunga o'xshash va shunga o'xshash muammolarni hal qilishda yordam beradi, ehtimol o'rganish va qanday sozlashni aniqlab olish mantiqiydir. Kubernetes-ga o'tish jarayoni juda og'riqli bo'lmasligi uchun uni yaxshilang.

Ba'zi bolalar kasalliklari va ba'zi oddiy narsalarni, hatto unchalik ham oddiy bo'lmagan narsalarni, ayniqsa, bizdan bilib olish mumkin va o'z raki va og'rig'ingizdan o'tmaydi.

Ko'pgina kompaniyalar dastlab konteynerizatsiyasiz qandaydir infratuzilma mavjud bo'lgan yo'ldan borishdi. Keyin ular hamma narsani boshqarish qiyin bo'lgan darajaga yetdi, ular Docker-ga o'tishdi va bir nuqtada ular Docker va u taklif qiladigan narsalar doirasida tor bo'ladigan darajaga etishdi. Va ular atrofdagi narsalarni ko'rib chiqishni boshladilar, bu muammolarni qanday tizimlar va xususan Kubernetes hal qiladi - bu sof Docker gavjum bo'lganda va funksionallik yo'q bo'lganda muammolarni hal qilishga imkon beradigan tizimlardan biri, bu odamlar uchun juda yaxshi holat. Ular pastdan yuqoriga bosqichma-bosqich boradi, bu texnologiya yetarli emasligini tushunadi va keyingi bosqichga o'tadi. Ular bir narsadan foydalanishdi, u yana kam bo'lib qoldi va ular harakat qilishdi.

Bu ongli tanlov - va bu juda zo'r.

Umuman olganda, bizning tizimimiz juda chiroyli qurilganini ko'raman, masalan, doker kursi, hatto video kurslar orqali ham. Keyin dockerdan keyin ketadi asosiy Kubernetes, keyin Mega Kubernetes, keyin Kef. Har bir narsa mantiqan bir qatorda - odam o'tadi va mustahkam kasb paydo bo'ladi.

Asosan, kurslar to'plami ko'plab ishlarni, hatto zamonaviylarni ham qamrab olishga imkon beradi. Hali ham kulrang maydon bo'lib qolayotgan joylar bor, umid qilamanki, biz tez orada bu kulrang joylarni yopishga imkon beradigan kurslarni yaratamiz, xususan, biz xavfsizlik haqida biror narsa o'ylab topamiz. Chunki bu juda dolzarb bo'lib bormoqda.

Muxtasar qilib aytganda, bizda kulrang joylar bor, ularni yopish juda yaxshi bo'lardi, shunda u to'liq, to'liq rasm bo'lar edi - va odamlar kelishi mumkin va xuddi Kubernetesning o'zi Lego konstruktoriga o'xshab, siz turli xil narsalarni yasashingiz mumkin. Agar u hali ham etarli bo'lmasa, to'playdi - bizning kurslarimiz bilan bir xil, odamlar bundan o'zlariga nima kerakligini tushunishlari uchun; ular bizning kurslarimizdan qandaydir jumboq, o'ziga xos qurilish to'plamini yig'ishlari kerak.

Sahna ortida. Kurslar qanday yaratiladi?

Agar siz o'zingizga umuman to'g'ri va halol savol bersangiz: "Hozir kim faol Docker kursidan foydalanishi mumkin?", keyin:

  • Unga endigina kirishni boshlagan talabalar uchun.
  • Sinov bo'limi xodimlari.
  • Darhaqiqat, ko'plab kompaniyalar borki, ular nafaqat Docker-dan foydalanmaydi, balki hech kim bunday texnologiya haqida eshitmagan va printsipial ravishda undan qanday foydalanishni bilmaydi. Va men Sankt-Peterburgda ko'p yillar davomida rivojlanayotgan bir nechta yirik kompaniyalarni bilaman va ular ba'zi eski texnologiyalardan foydalanganlar, ular bu yo'nalishda harakat qilmoqdalar. Xususan, bunday kompaniyalar uchun, bunday kompaniyalardagi muhandislar uchun, bu kurs juda qiziqarli bo'lishi mumkin, chunki, birinchidan, bu sizga tezda ushbu texnologiyaga sho'ng'ish imkonini beradi, ikkinchidan, bularning barchasini tushunadigan bir nechta muhandislar paydo bo'lishi bilanoq. ishlaydi, ular uni kompaniyaga olib kelishlari va kompaniya ichida ushbu madaniyat va ushbu yo'nalishlarni rivojlantirishlari mumkin.
  • Menimcha, bu kurs allaqachon docker bilan ishlaganlar uchun foydali bo'lishi mumkin, lekin juda kam va ko'proq "bir marta bajaring, ikki marta bajaring" uslubida - va endi ular qandaydir tarzda xuddi shu Kubernetes bilan o'zaro aloqada bo'lishadi va bu ularga ma'lum majburiyatlarni yuklaydi, agar siz docker nima ekanligini, uni qanday boshqarishni juda yuzaki bilsangiz, lekin shu bilan birga siz uning ichidan qanday ishlashini bilmasangiz, nima qilish kerakligini bilmaysiz. u va nima qilmaslik yaxshiroq, Keyin bu kurs bilimlarni tizimlashtirish va chuqurlashtirish uchun juda mos keladi.

Ammo agar sizda: "Men bir xil Docker fayllarini qanday qilib to'g'ri yozishni bilmayman, men nomlar maydoni nima ekanligini, konteynerlar qanday ishlashini, ular operatsion tizim darajasida qanday amalga oshirilishini tasavvur qila olaman" darajasida bilimga ega bo'lsangiz. Albatta, bizga borishdan ma'no yo'q, siz yangi hech narsa o'rganmaysiz va sarflangan pul va vaqt uchun biroz xafa bo'lasiz.

Agar kursimizning qanday afzalliklari borligini aniqlasak, unda:

  • Biz ushbu kursni etarli miqdordagi amaliy holatlar bilan bajarishga harakat qildik, bu sizga nafaqat mavjud bo'lgan nazariy qismni tushunishga, balki sizga nima uchun kerakligini va kelajakda undan qanday foydalanishni tushunishga imkon beradi;
  • har qanday joyda juda kam uchraydigan bir nechta bo'limlar mavjud - va umuman ularda unchalik ko'p material yo'q. Ular Docker-ning operatsion tizim bilan o'zaro ta'siri bilan bog'liq, hatto biroz boshqacha. Docker konteynerlashtirish tizimini amalga oshirish uchun operatsion tizimdan qanday mexanizmlarni oldi - bu Linux operatsion tizimida konteynerlarni ishga tushirish masalasini chuqurroq tushunish imkonini beradi. U qanday ishlaydi, operatsion tizim ichida, tashqarisida va hokazo.

Bu shunday chuqur ko'rinishki, bu juda kamdan-kam hollarda sodir bo'ladi va shu bilan birga, menimcha, bu juda muhim. Agar siz har qanday texnologiyani yaxshi tushunmoqchi bo'lsangiz va undan nimani kutish kerakligini tushunmoqchi bo'lsangiz, hech bo'lmaganda uning past darajada ishlashi haqida umumiy tasavvurga ega bo'lishingiz kerak.

Bizning kursimiz operatsion tizim nuqtai nazaridan bu qanday ishlashini ko'rsatadi va aytadi. Bir tomondan, barcha konteynerlashtirish tizimlari bir xil operatsion tizim mexanizmlaridan foydalanadi. Boshqa tomondan, ular docker kabi Linux operatsion tizimidagi narsalarni olishadi. Boshqa konteynerlashtirish tizimlari hech qanday yangilik bilan chiqmadi - ular Linuxda mavjud bo'lgan narsalarni oldilar va shunchaki uni tezda chaqirish, ishga tushirish yoki qandaydir tarzda u bilan o'zaro aloqada bo'lish imkonini beruvchi qulay o'ramni yozishdi. Xuddi shu Docker operatsion tizim va buyruq qatori o'rtasidagi unchalik katta qatlam emas, bu sizga konteyner yaratish uchun kilotonlar buyruqlar yoki qandaydir C kodini yozishga emas, balki buni kiritish orqali amalga oshirishga imkon beradigan yordamchi dastur turidir. terminalda bir nechta qator.

Yana bir narsa, agar biz Docker haqida gapiradigan bo'lsak, Docker haqiqatan ham IT olamiga olib kelgan narsa standartlardir. Ilova qanday ishga tushirilishi kerak, u qanday ishlashi kerak, jurnallarga qanday talablar qo'yiladi, masshtablash, dasturning o'zini sozlash uchun qanday talablar mavjud.

Ko'p jihatdan, docker standartlar haqida.

Standartlar ham Kubernetesga o'tmoqda - va aynan bir xil standartlar mavjud; agar siz ilovangizni Docker-da qanday yaxshi ishga tushirishni bilsangiz, u holda vaqtning 99% Kubernetes ichida ham ishlaydi.

Agar siz nafaqat Docker kursi qanday yaratilganiga, balki boshqa kurslarga ham qiziqsangiz, balki amaliy nuqtai nazardan ham kursning o'ziga qiziqsangiz, unda 5000-iyulgacha 30 rubl chegirma bilan uni sotib olish uchun hali vaqt bor.

Sizni ko'rishdan xursand bo'lamiz!

Manba: www.habr.com

a Izoh qo'shish