Pjesëmarrësi vjen në kurs ose intensives. Shikon rreshtat e organizuar të mbështetjes teknike, kabllot e energjisë të rregullta, rendin e planifikuar të sallës së leksioneve, grafikët dhe diagramet e ndritshme të prezentimeve. Folësit japin informacionin me shaka dhe buzëqeshje, duke të bërë të ndihesh i angazhuar. Pultet janë të vendosura, detyrat praktike realizohen lehtësisht, ndoshta herë pas here nevojitet ndihma e mbështetjes teknike.
Dhe ka gjithashtu pushime për kafe me bashkëpunëtorët, një atmosferë energjike dhe dinamikë, shkëmbim eksperiencash, pyetje shumë nga më të papriturat për folësit. Dhe përgjigje, si dhe informacione që nuk do t'i gjesh në manuale, por vetëm në praktikë.
Sa mendoni se ka marrë kohë, energji dhe nerva që të duket pikërisht kështu?

Faleminderit Volodës Guryanov, administratorit të certifikuar të Kubernetes dhe inxhinierit/udhëheqësit në Southbridge, i cili që në fillim ishte dëshmitar dhe pjesëmarrës aktiv në krijimin e shumë kurseve të Slyermës.
Ai ka parë thellësitë e krijimit të kurseve — vështirësitë dhe pengesat, insightet dhe zgjidhjet e papritura. Dhe intensives të njohura tashmë mbi Kubernetes, si Slyerm Basic dhe Slyerm Mega. Dhe një kurs të ri, në shumë mënyra të rishikuar. , i cili po afrohet pa mëshirë dhe do të fillojë më 19 gusht.

Por, ndoshta, mjaft me lirika, le të kalojmë në vetë historinë. Si nga disa tema të intensives gradualisht u rrit një kurs i plotë e shumëdimensional. . Kështu që do të filloj tregimin, si krijohen dhe zhvillohen kurset — siç thuhet "Një kohë shumë e gjatë në një galaksi shumë të largët…"
Por çfarë ndodh prapa skenave?
Nëse pyesni, si i bëjmë kurset dhe nga çfarë fillon gjithçka, do t'ju përgjigjem thjesht "Gjithçka fillon me një ide".
Zakonisht ideja vjen nga diku — ne nuk qëndrojmë të lidhur me pela në bodrum, derisa të mendojmë: «Po për çfarë teme duhet të bëjmë një kurs?». Ideja vjen vetvetiu nga burime të jashtme. Ndonjëherë njerëzit fillojnë të pyesin aktivisht: «Çfarë dini për një teknologji të tillë të veçantë?». Ose siç ndodhi me Docker-in, që nuk mund të përfshihej në orarin e intensives — ishte evidente që duhej ta nxirrnim jashtë, për të arritur të flisnim për diçka brenda intensives.

Kështu që kjo është si ndodh ideja.
Pasi ajo u shfaq, fillon, sipas mendimit tim, momenti më i vështirë — të kuptohet se çfarë duhet të përfshihet në këtë kurs — kjo është krejtësisht e ngjashme me përgatitjet që bëjnë folësit për konferenca të ndryshme.
Aty është një dhimbje kryesore, kur duket se ke zgjedhur një temë dhe mendon: "Çfarë të tregoj për të? Kjo është shumë e thjeshtë, është e dukshme, këtë gjithkush e di".
Por në të vërtetë, kjo nuk është aspak ashtu. Dhe unë personalisht flas shumë herë se ajo që duket e dukshme për ty, për ata që vijnë të të dëgjojnë ose të ndjekin kursin, nuk është fare e dukshme. Dhe këtu lind një shtresë e madhe punë dhe konflikte të brendshme, se çfarë të përfshihet në kurs. Si rezultat, krijohet një listë kapitujsh me fusha të mëdha, të shumta se për çfarë do të flitet në kurs.
Më pas fillon puna e thjeshtë dhe rutinore:
- Zgjedhja e materialit
- Lexoni me kujdes dokumentacionin e versionit aktual, pasi bota e IT tani po zhvillohet me ritme të jashtëzakonshme. Edhe nëse punoni me diçka dhe krijoni një kurs mbi këtë, duhet të shkoni te dokumentacioni dhe të shihni çfarë ka të re, çfarë është interesante të përmendet, çfarë mund të jetë veçanërisht e dobishme për të theksuar.
- Dhe krijohet një lloj skeleti të kursit, ku pjesa më e madhe e temave, në përgjithësi, është e përshkruar dhe duket se thjesht - regjistro videoklipet dhe nisni në prodhim.
- Por në të vërtetë jo, më pas fillon puna e vështirë, por tashmë jo për autorët e kursit, por për ata që testojnë. Zakonisht, testerët tanë të alfa janë mbështetja teknike, e cila, së pari, lexon kursin për të gjetur çdo lloj gabimi sintaksor dhe gramatikor. Së dyti, ata na godasin fort dhe ndihen të zhgënjyer kur ka ndonjë vend ndonjëherë të paqartë dhe të paqartë. Kur në tekste shfaqen ndonjëherë ndërlikime të ndërlikuara për disa faqesh ose budallallëqe të qarta. Ata të gjithë e lexojnë këtë, e spikasin.
- Më pas fillon faza e testimit të praktikës, ku gjithashtu kapen disa gjëra evidente që nuk funksionojnë dhe tregohen disa momente që mund të komplikohet gjithashtu, sepse bëhet jo shumë interesante — thjesht të ulur dhe të kopjosh — dhe identifikohen vende ku është shumë e vështirë dhe ne kërkojmë shumë nga ata që do të kalojnë këtë kurs. Atëherë vijnë rekomandimet: «Bëni, djem, këtu më të lehta, do të jetë më e lehtë për t'u perceptuar dhe do të ketë më shumë dobi nga kjo».
- Pas kaluara ky volum pune, është shkruar pjesa e lidhur me videon, duket se gjithçka është mirë. Dhe tashmë mund të dorëzohet për publikim, për reklamimin e këtij kursi. Por përsëri, është shumë herët — pasi së fundmi kemi filluar të humbasim besimin në vetvete dhe në përgjithësi kemi filluar të punojmë më shumë me feedback-un. U shfaq një gjë, si testimi beta – kur ftohen njerëz të jashtëm, që nuk kanë asnjë lidhje me kompaninë tonë dhe për disa përfitime, ata shikojnë të gjitha pjesët e kursit, videos, tekstin, detyrat praktike, për t'i vlerësuar cilësinë e materialit, aksesueshmërinë e materialit dhe të na ndihmojnë ta bëjmë kursin sa më të mirë.
- Dhe kur kalojnë disa iteracione të tilla, me folësit, testimin alfa në formën e shërbimit teknik, testimin beta, përmirësimet. Pastaj gjithëçka fillon sërish — shërbimi teknik, testimi beta, përmirësimet.
- Dhe në një moment të caktuar vjen kuptimi se, ose duhet të ndalojmë rindërtimet, sepse është krejt e pamundur të kënaqësh të gjithë, ose duhet të merren disa vendime radikale. Kur shumë shqetësime për disa pika të caktuara janë kritike — është e nevojshme t'i riparosh ato në mënyrë globale, sepse diçka shkoi keq.
- Më pas vjen koha për riparime minore — ndonjëherë një propozim nuk është formuluar shumë bukur, ndonjëherë dikujt nuk i pëlqen fonti, 14.5, ndërsa do të donte 15.7.
- Kur mbeten kështu lloje vërejtjesh, atëherë kursi më në fund hapet më shumë, dhe fillojnë shitjet zyrtare.
Dhe në shikim të parë detyra e shkurtër dhe e thjeshtë për të bërë kurs, duket se nuk është aspak e thjeshtë dhe merr një kohë të jashtëzakonshme.
Dhe ka një pikë tjetër e rëndësishme, që puna me kursin nuk mbaron kur kursi publikohet. Së pari, ne shqyrtojmë me kujdes komentet që lihen për pjesë të caktuara. Dhe përkundër gjithë atyre përpjekjeve që kemi bërë, gjithmonë zbulohet ndonjë mangësi, ndonjë gabim, të cilat gjatë procesit, në kohë reale, korrigjohen dhe përmirësohen, për të siguruar që çdo përdorues i ardhshëm të marrë një shërbim më cilësor.

Çdo kurs ka pronarin e tij të produktit, i cili, përveç përcaktimit të konceptit të përgjithshëm, kontrollon afatet. Ai bën shënime anësore për atë që, kur të vijë koha për ta riparë kursin plotësisht, që patjetër do të ndodhë, pasi pas dy vitesh, ndoshta një viti, një pjesë e asaj që ne kjo diskutojmë do të bëhet e paqëndrueshme thjesht sepse do të jetë moralizisht e vjetruar. Pronari i produktit bën shënime për ato që më së shpeshti njerëzit pyesin, cilat momente ishin të paqarta, cilat detyra u dukën shumë të vështira dhe cilat ishin, përkundrazi, shumë të lehta. Dhe gjithçka merret parasysh gjatë ripërsëritjes së kursit, gjatë ndonjë rikonfigurimi, që çdo iteracion i kursit të bëhet më i mirë, më i përshtatshëm dhe më i rehatshëm.
Kështu lindin kursit.
Si lindi kursi mbi Docker
Kjo është një temë e veçantë dhe madje e pazakontë për ne. Sepse nga njëra anë, ne nuk e planifikuam atë, pasi shumë shkolla online e ofrojnë. Dhe nga ana tjetër, ai vetë kërkoi të lëvizte dhe gjeti një vend logjik në konceptin tonë të trajnimit të specialistëve IT në Kubernetes.
Nëse flasim në një nivel shumë global, gjithçka filloi me kursin për Kubernetes, kur ai u nis, mendoj, pas Sлërm-it të parë. Ne mbledhim komentet dhe pamë se shumë njerëz do të donin të lexonin më shumë për docker dhe që shumë të tjerë vijnë në kursin bazë për Kubernetes pa ditur se çfarë është. .
Prandaj, për Sлërm-in e dytë, bëmë një kurs — ndoshta më saktë, disa kapituj për docker. Ku shpjegoheshin disa nga gjërat më të bazuara, për të siguruar që njerëzit që vijnë në intensiven, nuk ndihen të privuar dhe të kuptojnë se çfarë po ndodh.

Pastaj ngjarjet zhvilloheshin kështu. Sasia e materialit u rrit dhe nuk mund të futeshin në 3 ditë. Dhe lindi një ide logjike dhe e qartë: pse të mos bëjmë nga ajo që flasim në Sлërm Bazë, një kurs të vogël në të cilin mund të dërgojmë njerëzit që duan të shohin diçka për Docker para intensives për Kubernetes.
Sлërm Junior — në fakt, është një bashkim i disa prej këtyre kurseve bazë. Siç ndodhi, kursi për docker u bë një pjesë e Sлërm Junior. Pra, kjo është një shkallë e parë para dhe . Dhe pastaj atje kishte abstrahime shumë bazike.

Në një moment, njerëzit filluan të pyesin: «Djem, kjo është e shkëlqyer, kjo është e mjaftueshme për të kuptuar se çfarë po tregoni në intensivat. Ku mund të lexojmë më shumë në lidhje me atë që mund të bëjë docker dhe si të punojmë me të, dhe çfarë është ai vetë?». Kështu lindi ideja për të krijuar , në mënyrë që, në një anë, të mund të dërgoheshin të gjithë njerëzit që vijnë në Slyrm për Kubernetes, dhe nga ana tjetër, për ata që nuk janë të interesuar në këtë fazë të zhvillimit të Kubernetes. Kështu që një specialist IT mund të vijë të shikojë kursin tonë për docker dhe të fillojë udhëtimin e tij evolucionar thjesht me docker-in e pastër. Në mënyrë që të kishim një kurs të tillë të plotë dhe të mbyllur — dhe shumë më vonë, pas shikimit të këtij kursi dhe punës për pak kohë me docker-in e pastër, ata u rritën deri në atë nivel kur u nevojitet Kubernetes ose ndonjë sistem tjetër orkestrimi. Dhe vinin sidomos te ne.
Nganjëherë parashtrohet pyetja: "Çfarë njerëzish tani mund të mos kenë nevojë për Kubernetes?" Por kjo pyetje nuk ka të bëjë aq me njerëzit, sa me kompanitë. Duhet të kuptohet se Kubernetes ka raste të caktuara ku është i përshtatshëm dhe detyra që e zgjidh mirë, por gjithashtu ka disa skenarë përdorimi ku Kubernetes sjell vetëm dhimbje dhe vuajtje shtesë. Prandaj, kjo nuk varet as nga njerëzit, por nga ajo që dhe si e zhvillojnë kompani për një kohë të gjatë.
Për shembull, një monolit i frikshëm Legacy — ndoshta nuk është e arsyeshme ta shtysh atë në Kubernetes, sepse do të sjellë më shumë probleme sesa përfitime. Ose, për shembull, nëse është një projekt i vogël — me ngarkesa të vogla ose në përgjithësi jo shumë para dhe burime. Atëherë nuk ka asnjë kuptim ta tërheqësh në Kubernetes.
Dhe në përgjithësi, ndoshta, siç e kanë thënë shumë njerëz, nëse po pyesni veten: "Më nevojitet Kubernetes?", atëherë ndoshta nuk ju nevojitet. Nuk e mbaj mend se kush e ka thënë i pari, mendoj se ishte Pasha Selivanov. Unë pajtohem plotësisht me këtë. Duhet të arrini në një pikë ku kuptoni se ju nevojitet pikërisht Kubernetes dhe se kjo është e nevojshme për kompaninë tonë; atëherë ai do t'ju ndihmojë për të zgjidhur disa çështje. Më pas, ndoshta, ka kuptim të shkoni të mësoni dhe të zbuloni se si ta konfiguroni atë siç duhet, në mënyrë që procesi i kalimit në Kubernetes të mos jetë shumë i dhimbshëm.
Disa nga problemet e vogla dhe disa gjëra më të thjeshta, dhe madje edhe jo aq të thjeshta, mund të mësohen nga ne, në vend që të kaloni nëpër pengesa dhe dhimbje të veta.
Shumë kompani kanë kaluar fillimisht nga një Infrastrukturë e thjeshtë pa kontejnerizim. Më pas, ata kaluan në një pikë ku u bë e vështirë ta menaxhonin gjithçka, dhe kaluan në docker, deri në një moment ku kuptuan se ishte ngushtë brenda docker-it dhe se çfarë ofron. Filluan të shikojnë përreth, cilat sisteme e zgjidhin këtë problem, dhe konkretisht Kubernetes është një nga këto sisteme që lejon zgjidhjen e problemeve kur brenda docker-it bëhet ngushtë dhe i mungon funksionaliteti, është një rast i shkëlqyer kur njerëzit kalojnë hap pas hapi, kuptojnë se kjo teknologji është e pamjaftueshme dhe kalojnë në nivelin tjetër. Kanë përdorur diçka, përsëri u bë e pamjaftueshme — dhe ata vazhdojnë më tej.
Ky është një zgjedhje e vetëdijshme — dhe kjo është shumë e shkëlqyer.
Unë në përgjithësi shoh se sistemi ynë po ndërtohet shumë bukur, për shembull, , madje përmes videokurseve. Më pas pas docker-it vjen , pastaj , pastaj . Gjithçka ndërtohet logjikisht — një person kalon dhe krijon një profesion të plotë.
Në thelb, grupi i kurseve lejon mbulimin e shumë rasteve moderne. Ka ende zona që mbeten të paqarta, dhe shpresoj se së shpejti do të krijojmë disa kurse që do t'i mbulojnë këto zona të paqarta, veçanërisht diçka në lidhje me sigurinë. Sepse kjo po bëhet shumë e rëndësishme.
Nëse flasim shkurt, kemi disa zona të paqarta që do të ishte shumë mirë t'i mbulonim, për të pasur një pamje të plotë — që njerëzit të mund të vijnë, dhe siç është vetë Kubernetes një ndërtues lego, mund të bashkohen gjëra të ndryshme, dhe nëse ndonjë gjë mungon — të plotësohet, njësoj si me kurset tona, në mënyrë që njerëzit të kuptojnë se çfarë u nevojitet nga ato, dhe të ndërtojnë një enigmë, një ndërtues nga kurset tona.

Nëse i drejtojmë vetes një pyetje të drejtë dhe të ndershme: “Kush do të ketë nevojë tani për një kurs aktiv për Docker?”, atëherë:
- Studentët që sapo po fillojnë të kuptojnë.
- Puna në departamentin e testimit.
- Në të vërtetë, ka shumë kompani që ende nuk përdorin docker, madje askush nuk ka dëgjuar për këtë teknologji dhe në përgjithësi nuk e dinë si ta përdorin. Dhe unë njoh disa kompani të mëdha në Shën Petersburg që kanë shumë vite që merren me zhvillimin, dhe ato vazhdojnë të përdorin disa teknologji të vjetra. Saktësisht për këto kompani, për inxhinierët në këto kompani, ky kurs mund të jetë shumë interesant, pasi, së pari, do t'u lejojë të thellohen shpejt në këtë teknologji, dhe së dyti, sapo disa inxhinierë të kuptojnë si funksionon e gjithë kjo, ata mund ta sjellin atë brenda kompanisë dhe të zhvillojnë këtë kulturë dhe këto drejtime brenda kompanisë.
- Mendoj se ky kurs mund të jetë i dobishëm edhe për ata që tashmë kanë punuar me Docker, por vetëm pak dhe më shumë në stilin «bëj një, bëj dy» — dhe tani ata po planifikojnë që në një farë mënyre të bashkëpunojnë me Kubernetes, çka i vendos ata në disa angazhime. Nëse kanë vetëm njohuri të thjeshta se çfarë është Docker, si ta nisin, por nuk e dinë se si funksionon nga brenda, nuk e dinë çfarë është më e mira për të bërë me të, atëherë ky kurs do të ndihmojë për sistematizimin dhe thellimin e njohurive.
Por nëse njohuritë tuaja janë në nivelin: «Nuk e di si të shkruaj saktë skedarët e Docker-it, kam një ide se çfarë janë namespaces, si funksionojnë kontejnerët, si janë realisht implementuar në nivelin e sistemit operativ» — atëherë saktësisht nuk ka kuptim të vini te ne, nuk do të mësoni asgjë të re dhe do të ndiheni pak të trishtuar për paratë dhe kohën e shpenzuar.
Nëse e formuloni se cilat janë përparësitë e kursit tonë, atëherë:
- Ne kemi tentuar ta bëjmë këtë kurs me një numër të mjaftueshëm rastesh praktike, që do t'ju lejojnë jo vetëm të kuptoni pjesën teorike që ekziston, por edhe të kuptoni se përse ju nevojitet kjo, dhe si do ta përdorni atë në të ardhmen;
- Atje ka disa seksione që takohen shumë rrallë — dhe në përgjithësi nuk ka aq shumë materiale për to. Ato lidhen me ndërveprimin e Docker-it me sistemin operativ, madje edhe pak ndryshe. Cilat mekanizma ka marrë Docker-i nga sistemi operativ për të zbatuar sistemin e kontenerizimit — kjo ofron një kuptim më të thellë të gjithë çështjes së nisjes së kontejnerëve brenda sistemit operativ Linux. Si funksionon, si ndërvepron me njëri-tjetrin brenda sistemit operativ, jashtë dhe kështu me radhë.
Kjo është një pamje shumë e thellë, që ndodh mjaft rrallë, dhe sipas mendimit tim është shumë e rëndësishme. Nëse dëshiron të kuptosh mirë ndonjë teknologji dhe të dish se çfarë të presësh nga ajo, duhet të kesh të paktën një përfaqësi të përgjithshme se si funksionon në nivelin e ulët.
Kursi ynë tregon dhe shpjegon se si funksionon nga pikëpamja e sistemit operativ. Nga njëra anë, të gjitha sistemet e konteinerizimit përdorin të njëjtat mekanizma të sistemit operativ. Nga ana tjetër, ato marrin atë që tashmë ekziston në sistemin operative Linux, si docker. Sistemet e tjera të konteinerizimit nuk kanë shpikur asgjë të re — ato e morën atë që është tashmë në Linux dhe shkruan thjesht një mbështjellës të përshtatshëm që e lejon atë të thirret, të lancojë ose të ndërveprojë me të shpejt. Po ashtu, docker-i është një ndërmjetës i vogël mes sistemit operativ dhe komandës, një utilitare që lejon që të mos shkruani tonelata komandash, ose ndonjë kodi në C për të krijuar një kontejner, por ta bëni këtë duke futur disa rreshta në terminal.
Dhe plus, nëse flasim pikërisht për docker, ajo që vërtet ka sjellë docker-i në botën e IT është standardet. Si duhet të startohet një aplikacion, si duhet të funksionojë, cilat janë kërkesat për log-at, cilat janë kërkesat për shkallën dhe konfigurimin e vetë aplikacionit.
Në shumë aspekte, docker-i është në lidhje me standardet.
Standardet gjithashtu kalojnë në Kubernetes — dhe aty janë nd exactly ato standarde; nëse dini të shkruani aplikacionin tuaj mirë në Docker, atëherë 99% do të funksionojë po aq mirë dhe në Kubernetes.
Nëse ju intereson jo vetëm si u krijua kursi Docker, por edhe kurset e tjera, dhe përveç kësaj jeni të interesuar për kursin nga ana praktike, atëherë
Do të jemi të lumtur t'ju shohim!
Burimi: habr.com
