KĂŒpsetamine. Kuidas kursused sĂŒnnivad?

Osaleja tuleb kursusele vĂ”i intensiivile. NĂ€eb korrastatud tehnilise toe ridasid, korralikult paigaldatud elektrikaableid, korralikke loengusaali jĂ€rjestusi, erksaid pilte ja slide scheeme. Esinejad jagavad infot naljade ja naeratustega, et see jĂ”uaks kergesti kohale. Stendid on seadistatud, praktilised ĂŒlesanded lahenevad kiiresti, kui aeg-ajalt on vajalik tehnilise toe abi.

Ja veel kohvipausid samamĂ”tlejatega, energiline ja elav Ă”hkkond, kogemuste vahetus, kĂ”ige ootamatumad kĂŒsimused esinejatele. Ja vastused, teave, mida kĂ€siraamatutes ei leia, vaid ainult praktikas.

Kuidas arvate, kui palju aega, vaeva ja nÀrve kulus, et see vÀlja nÀeks just nii?

KĂŒpsetamine. Kuidas kursused sĂŒnnivad?

AitÀh Volodja Gurjanovile, sertifitseeritud Kubernetes administraatorile ja insenerile/tiimijuhile Southbridgest, kes oli alates algusest pealtnÀgija ja aktiivne osaleja paljude Slyerma kursuste loomisel.

Ta on nĂ€inud kursuste loomise tagamaid — raskusi ja pettumusi, sisekaemusi ja ootamatuid lahendusi. Ja juba tuttavaid intensiive Kubernetesest, nagu Slyerma Basic ja Slyerma Mega. Ja uut, suures osas ĂŒmbertöötatud kursust Slyerma DevOps:Tools&Cheats, mis lĂ€heneb kiiresti ja algab 19. augustil.

KĂŒpsetamine. Kuidas kursused sĂŒnnivad?

Aga ilmselt on piisavalt luulet, liikume edasi loo juurde. Kuidas paar intensiivset teemat jĂ€rk-jĂ€rgult kasvas tĂ€iesti iseseisvaks ja mitmekesiseks Docker kursuseks. Nii et hakkan jutustama, kuidas kursusi luuakse ja arendatakse — justkui "A long time ago in a galaxy far, far away..."

Aga mis siis toimub kulisside taga?

Kui kĂŒsite, kuidas me kursusi teeme ja kust kĂ”ik alguse saab, vastan lihtsalt "KĂ”ik algab ideest".

Tavaliselt tuleb idee kuskilt — me ei istu kĂ€ed raudrakkudega kinni kelderis, oodates, et mĂ”tleme, millest kursust teha: «Millise teema peaksime kursusele valima?». Ideed tulevad iseenesest kuskilt vĂ€listest allikatest. MĂ”nikord hakkavad inimesed aktiivselt kĂŒsima: «Mida te sellisest konkreetsest tehnoloogiast teate?». VĂ”i nagu Dockeriga oli, see ei mahtunud intensiivse ajakava sisse — seda pidi ilmselgelt vĂ€lja tooma, et intensiivis midagi rÀÀkida.

KĂŒpsetamine. Kuidas kursused sĂŒnnivad?

Nii sĂŒnnib idee.

PĂ€rast selle vĂ€ljakuulutamist algab, minu arvates, kĂ”ige keerulisem hetk — aru saada, mida siis kursusele kaasata — see on vĂ€ga vĂ”rreldav sellega, kuidas valmistuvad esinejad erinevatele konverentsidele.

Seal on ĂŒks peamine valu, kui sa just nagu valid teema ja mĂ”tled: „Aga mida sellest rÀÀkida? See on liiga lihtne, see on ilmselge, kĂ”ik teavad seda.”

Aga tegelikult ei ole see sugugi nii. Ja ma isiklikult rÀÀgin vĂ€ga palju, et see, mis sulle tundub ilmne, ei ole sugugi ilmselge neile, kes tulevad sind kuulama vĂ”i kursust lĂ€bima. Siin tekib suur hulk tööd ja sisemist konflikti, et mida kursusele lisada. Tulemuseks on nimekiri peatĂŒkkidest, mis on koostatud suuremate joontega, millest kursus rÀÀgib.

Edasi algab lihtne rutiinne töö:

  • Ainete kogumine
  • Praeguse versiooni dokumentatsiooni hoolikas lugemine, kuna IT-maailm areneb praegu kosmilise kiirusel. Isegi kui sa töötad millegagi ja teed sellest kursuse, pead sa minema dokumentatsiooni ja vaatama, mis on uut, millest tasub rÀÀkida, ja millest tasub eraldi mainida.
  • Ja tekib kursuse skelet, kus enamik teemasid on juba sisuliselt vĂ€lja kirjutatud ja nagu ei jÀÀgi muud, kui salvestada videod ja viia see tootmisse.
  • Aga tegelikult ei, edasi algab raske töö, kuid seekord mitte kursuse autorite jaoks, vaid testijate jaoks. Meie alfa-testijad on tavaliselt tehniline tugi, kes ĂŒhtlasi toimetab kursusi, et seal ei oleks mingeid sĂŒntaktilisi vĂ”i grammatikavead. Teiseks, nad löövad meid raskelt ja vinguvad, kui on mĂ”ned sellised tĂ€iesti mitteilmsed, arusaamatud kohad. Kui tekstides tekivad keeruliselt vormistatud laused mitme lehekĂŒlje ulatuses vĂ”i silmnĂ€htav nonsenss, siis nad kĂ”ik selle lĂ€bi vaatavad ja tuvastavad.
  • Siis algab praktilise testimise etapp, kus pannakse tĂ€hele ka mingeid ilmselgeid mittefunktsionaalseid asju ja nĂ€idatakse ĂŒles mĂ”ned hetked, mida saab vastupidi keerulisemaks muuta, kuna lihtsalt istuda ja kopeerida on vĂ€hem huvitav – tuvastatakse kohad, kus kĂŒsime inimestelt, kes seda kursust lĂ€bivad, liiga palju. Ja siis tulevad soovitused: „Tehke, sĂ”brad, siin lihtsamalt, see on lihtsamini tajutav ja sellest on rohkem kasu.”
  • PĂ€rast seda, kui see töömaht on Ă€ra tehtud, on kirjutatud osa, mis puudutab videot, nĂ€ib kĂ”ik olevat korras. Ja saame selle juba vĂ€lja anda, kursuse reklaami jaoks. Kuid jĂ€lle ei, on liiga vara — kuna viimasel ajal oleme hakanud rohkem kahtlema endas ja hakkanud rohkem töötama tagasisidega. On tekkinud selline asi nagu beetatesting — see on siis, kui kutsutakse inimesi, kes ei ole kuidagi seotud meie ettevĂ”ttega, ja mingite hĂŒvede eest nĂ€idatakse neile kursuse kĂ”iki osi, videoid, tekste, praktilisi ĂŒlesandeid, et nad hindaksid materjali kvaliteeti, kĂ€ttesaadavust ja aitaksid meil kursuse maksimaalselt heaks muuta.
  • Ja kui selliseid iteratsioone lĂ€bib mitu korda, esinejad, alfa-testeerimine tehnilise toe nĂ€ol, beetatesting, tĂ€iendused. Ja siis algab kĂ”ik uuesti — tehniline tugi, beetatesting, tĂ€iendused.
  • Ja mingil kindlal hetkel tuleb arusaam, et kas lĂ”petame juba tĂ€iendustega, kuna teha nii, et see meeldiks kĂ”igile – on tĂ€iesti ebareaalne, vĂ”i tehakse mĂ”ningaid radikaalseid otsuseid. Kui vĂ€ga paljusid mĂ€rkusi teatud kohtade kohta peetakse kriitilisteks — tuleb need ulatuslikult ĂŒle vaadata, kuna midagi on valesti lĂ€inud.
  • SeejĂ€rel tuleb aeg vĂ€ikesteks parandusteks — kuskil on lause ebaĂŒhtlaselt sĂ”nastatud, kuskel ei meeldi kellelegi fondi suurus 14,5, kuid soovitakse 15,7.
  • Kui jÀÀvad sellised mĂ€rkused, siis on igaĂŒhel kursus enam-vĂ€hem avatud, ametlikud mĂŒĂŒgitegevused algavad.

Ja esmapilgul tundub lĂŒhike ja lihtne ĂŒlesanne teha kursus, see osutub siiski tĂ€iesti mitte lihtsaks ja vĂ”tab uskumatult palju aega.

Ja on veel ĂŒks oluline aspekt, et töö kursusega ei lĂ”ppe, kui kursus on vĂ€lja antud. Esiteks, me loeme hoolikalt kommentaare, mis jÀÀvad teatud osade kohta. Ja isegi hoolimata kĂ”ikidest nendest pingutustest, mis me oleme teinud, ilmnevad ikkagi mingid vead, mingi jooksud, mis muudetakse jooksvalt, et iga jĂ€rgmine kasutaja saaks kvaliteetsemat teenust.

KĂŒpsetamine. Kuidas kursused sĂŒnnivad?

Iga koolil on oma tootejuht, kes lisaks ĂŒldise kontseptsiooni mÀÀratlemisele jĂ€lgib tĂ€htaegu ja teeb endale mĂ€rkmeid, et kui tuleb aeg kursuse tĂ€ielikuks ĂŒmberkirjutamiseks, siis see kindlasti tuleb, sest kahe aasta vĂ”i vĂ”ib-olla aasta pĂ€rast osa sellest, mida me rÀÀgime, muutub ajakohatuks lihtsalt seetĂ”ttu, et see muutub moraalselt vananenuks. Tootejuht teeb mĂ€rkmeid, kuidas inimesed tihti kĂŒsivad, millised hetked olid ebaselged, millised ĂŒlesanded tundusid vĂ€ga keerulised ja millised seevastu vĂ€ga lihtsad. Ja seda kĂ”ike arvestatakse kursuse korduvatel salvestustel, mingisuguste refaktorite tegemisel, et iga globaalne kursuse iteratsioon muutuks paremaks, mugavamaks ja komfortsemaks.

Nii tekivadki kursused.

Kuidas sĂŒndis kursus Dockerist

See on eraldi ja isegi meie jaoks ebatavaline teema. Sest ĂŒhel pool ei plaaninud me seda teha, kuna paljud veebikoolid pakuvad seda. Teiselt poolt tuli see ise vĂ€lja ja leidis loogilise koha meie IT-spetsialisti ettevalmistuse kontseptsioonis Kuberneteses.

Kui rÀÀkida vĂ€ga globaalsetest asjadest, siis kĂ”ik algas algselt Kubernetesest, kui seda just alustati, pĂ€rast esimest SƂörmi, arvan ma. Korjasime tagasisidet ja nĂ€gime, et vĂ€ga paljud soovivad veel kuskil midagi Dockerist lisaks lugeda ja ĂŒldiselt tulevad paljud Kubernetesega seotud pĂ”hikursusele, teadmata, mis see tĂ€hendab. Docker.

SeetĂ”ttu tegime teise SƂörmi jaoks kursuse — tegelikult ei olnud see isegi kursus, vaid tegime paar peatĂŒkki docker’itest. Kus rÀÀkisime kĂ”ige pĂ”hialustest, et inimesed, kes tulevad intensiivkursusele, ei tunneks end ilmtingimata puudutatuna ja mĂ”istaksid, mis toimub.

KĂŒpsetamine. Kuidas kursused sĂŒnnivad?

Ja seejĂ€rel lĂ€ksid sĂŒndmused umbes nii. Materjali hulk kasvas ja ei mahtunud enam kolme pĂ€eva sisse. Ja tekkis loogiline ja ilmne idee: miks mitte teha meie rÀÀkidest SƂörm Baasi baasil mingisugune vĂ€ike kursus, kuhu vĂ”iks saata inimesi, kes soovivad enne Kubernetesest intensiivkursust natuke Dockerist vaadata.

SƂörm Junior on tegelikult mitme sellise pĂ”hikursuse ĂŒhendamine. LĂ”ppkokkuvĂ”ttes sai Dockerikursus SƂörm Juniori osaks. Nii et see on selline nulltaseme kursus enne PĂ”hikursust ja Mega. Ja seal olid ka tĂ€iesti pĂ”hialused.

KĂŒpsetamine. Kuidas kursused sĂŒnnivad?

Kuskil hetkel hakkasid inimesed kĂŒsima: „Poisid, see on kĂ”ik tore, sellest piisab, et aru saada, millest te intensiivide ajal rÀÀgite. Kuid kus saab lugeda rohkem sellest, mida docker suudab ja kuidas sellega töötada, ja mis ta endast kujutab?“. Nii sĂŒndis idee teha sellest tĂ€isvÀÀrtuslik Docker kursus, et esiteks saaksime sinna saata inimesi, kes tulevad meie Kubernetes koolitusele, aga teisest kĂŒljest ka neile, kelle jaoks Kubernetes ei ole praegu huvipakkuv. Et IT-spetsialist saaks tulla vaatama meie docker kursust ja alustada oma arenguteed alates puhtast docker’ist. Et meil oleks selline tĂ€ispikk kursus — ja paljud, kes vaatavad selle kursuse, töötavad mĂ”nda aega puhta docker’iga, jĂ”uavad tasemeni, kus neile on vajalik juba Kubernetes vĂ”i mĂ”ni muu orkestreerimissĂŒsteem. Ning nad tulevad ka meie juurde.

MĂ”nikord kĂŒsitakse: „Kellele ei ole praegu Kubernetes vajalik?“. Kuid see kĂŒsimus ei ole inimestest, pigem on see kĂŒsimus ettevĂ”tetest. Siin tuleb mĂ”ista, et Kubernetesel on konkreetsed juhtumid, kus see sobib hĂ€sti ja ĂŒlesanded, mida ta hĂ€sti lahendab, kuid on ka vastupidiseid stsenaariume, kus Kubernetes toob juurde ainult valu ja kannatusi. Seega ei sĂ”ltu see isegi inimestest, vaid sellest, mida ja kui kaua ettevĂ”tted arendavad.

NĂ€iteks, kui tegemist on mĂ”ne hirmuĂ€ratava Legacy monoliidiga — siis ilmselt ei tasu seda Kubernetesesse suruda, sest see toob rohkem probleeme kui eeliseid. VĂ”i nĂ€iteks, kui tegemist on vĂ€ikese projektiga — seal on vĂ€iksed koormused vĂ”i ĂŒldiselt ei ole palju raha ja ressursse. Sel juhul ei ole mĂ”tet seda Kubernetesesse viia.

Ja ĂŒldiselt, nagu on juba palju kordi öeldud, kui te kĂŒsite endalt: „Kas mul on vaja Kubernetes?“ siis tĂ”enĂ€oliselt ei ole seda vaja. Ma ei mĂ€leta, kes selle esimesena vĂ€lja mĂ”tles, arvatavasti Pasha Selivanov. Olen sellega 100% nĂ”us. Ja enne Kubernetesesse kasvamist — ja kui tekib arusaam, et mulle on just Kubernetes vajalik ja meie ettevĂ”ttele on see vajalik, et see aitab lahendada teatud kĂŒsimusi, siis ilmselt on mĂ”tet minna Ă”ppima ja aru saama, kuidas seda Ă”igesti seadistada, et ĂŒleminek Kubernetesesse ei oleks vĂ€ga valus.

MÔningaid lastehaigusi ning ka mÔned vÀga lihtsad asjad ja isegi mitte nii lihtsad, on vÔimalik teada saada just meie kÀest, mitte lÀbi oma omad tagasilöögid ja valu.

Paljud ettevĂ”tted on lĂ€inud sel teekonnal, et alguses oli lihtsalt mingi infrastruktuur ilma konteineriseerimiseta. Siis nad lĂ€ksid selle juurde, et kĂ”ike oli keeruline hallata, nad lĂ€ksid Docker'isse ja mingil hetkel jĂ”udsid sellesse seisu, et Docker'is ja selle vĂ”imalustes hakkas ruumi kitsaks jÀÀma. Nad hakkasid vaatama, mis on ĂŒmberringi, millised sĂŒsteemid lahendavad neid probleeme ja eelkĂ”ige Kubernetes – see on ĂŒks neist sĂŒsteemidest, mis vĂ”imaldab lahendada probleeme, kui lihtsalt Docker'is hakkab kitsaks minema ja funktsionaalsus ei piisa, see on tĂ”eliselt hea juhtum, kui inimesed tĂ”usavad alt ĂŒles, saavad aru, et sellest tehnoloogiast ei piisa ja liiguvad jĂ€rgmisele tasemele. Nad on midagi kasutanud, jĂ€lle on muutunud kitsaks — ja nad lĂ€hevad edasi.

See on teadlik valik — ja see on vĂ€ga Ă€ge.

Mulle tundub, et meil on vĂ€ga ilus sĂŒsteem vĂ€lja kujunenud, nĂ€iteks Docker'i kursus, isegi videokursused. Siis Docker'ile jĂ€rgneb pĂ”hitase Kubernetes, siis Mega Kubernetes, siis Ceph. KĂ”ik on loogiliselt ĂŒles ehitatud — inimene lĂ€bib ja moodustab tervikliku ametikoha.

Tegelikult kursuste komplekt vÔimaldab katta vÀga palju juhtumeid, tegelikult kaasaegseid. On veel alasid, mis jÀÀvad halliks alaks, loodan, et me peagi loome mingeid kursusi, mis aitavad neid halli alasid katta, eelkÔige mÔtleme midagi turvalisuse kohta. Sest see muutub vÀga oluliseks.

LĂŒhidalt öeldes, meil on mĂ”ned hallid alad, mille sulgemine oleks vĂ€ga hea, et see tĂ”eliselt terviklik pilt oleks — ja inimesed saaksid tulla ja nagu Kubernetes, mis esindab legoklotside koostajat, millest saab erinevaid asju kokku panna, kui midagi veel puudu on — tĂ€iendada, et sama oleks ka meie kursustega, et inimesed mĂ”istaksid, mida nad vajavad, koostaksid mingisuguse pusle, mingisuguse komplekti meie kursustest.

KĂŒpsetamine. Kuidas kursused sĂŒnnivad?

Kui esitada endale Ă”ige ja aus kĂŒsimus: "Kellele on praegu kasulik aktiivne Docker'i kursus?", siis:

  • ĂŒliĂ”pilastele, kes alles hakkavad sĂŒvenema.
  • testimise osakonna töötajatele.
  • Tegelikult on palju ettevĂ”tteid, kus mitte ainult ei kasutata dockereid, vaid keegi pole sellisest tehnoloogiast kuulnud ja nad ei tea, kuidas seda kasutada. Ja ma tean mitmeid suuri ettevĂ”tteid samas Peterburis, kes on juba aastaid arendusega tegelenud ja nad on pidevalt kinni vanades tehnoloogiates. EelkĂ”ige nende ettevĂ”tete inseneridele vĂ”ib see kursus olla vĂ€ga huvitav, kuna see vĂ”imaldab kiiresti sĂŒveneda sellesse tehnoloogiasse ja kui mitte kaua ilmub mitmeid inseneride, kes mĂ”istavad, kuidas see kĂ”ik töötab, saavad nad seda ettevĂ”ttesse tuua ning seal arendada seda kultuuri ja suundi.
  • Minu arvates vĂ”ib see kursus olla kasulik ka neile, kes on dockeriga juba natuke töötanud, kuid peamiselt stiilis «tee ĂŒhte, tee kahte» — ja nĂŒĂŒd on nad plaanis mingil moel suhelda sama Kubernetesega, ja see seab neile teatud nĂ”udmised, kui teadmised dockerist on vĂ€ga pinnapealsed, et mis see on ja kuidas seda kĂ€ivitada, kuid samas ei tea nad, kuidas see seestpoolt töötab, nad ei tea, mida on parem teha ja mida mitte, siis sobib see kursus hea eesmĂ€rgiga teadmiste sistematiseerimiseks ja sĂŒvendamiseks.

Aga kui teie teadmised on tasemel: «Ma ei tea, kuidas Ă”igesti kirjutada neid dockerifailide, ma suudan ette kujutada, mis on namespaces, kuidas konteinerid töötavad, kuidas need on tegelikult operatsioonisĂŒsteemi tasemel realiseeritud» — siis pole kindlasti mĂ”tet meie juurde tulla, te ei saa uut teada ja see oleks pisut kurb kaotatud raha ja aja pĂ€rast.

Kui formuleerida, millised on meie kursuse eelised, siis:

  • oleme pĂŒĂŒdnud teha selle kursuse piisava arvu praktiliste juhtumitega, mis aitavad teil mitte ainult mĂ”ista teoreetilist osa, mis on olemas, vaid ka aru saada, miks see teile vajalik on ja kuidas te seda edaspidi kasutate;
  • Seal on mitu jaotist, mida kohtab vĂ€ga harva, ja ĂŒldiselt on nende kohta ka mitte nii palju materjale. Need puudutavad docker'i ja operatsioonisĂŒsteemi vahelist koostööd, isegi natuke teisel viisil. Milliseid mehhanisme on docker kasutanud operatsioonisĂŒsteemist konteineriseerimise sĂŒsteemi elluviimiseks - ja see annab sĂŒgavamalt arusaamise kogu kĂŒsimusest konteinerite kĂ€ivitamise kohta Linuxi operatsioonisĂŒsteemis. Kuidas see töötab, kuidas see omavahel koostööd teeb operatsioonisĂŒsteemi sees ja vĂ€ljas ning nii edasi.

See on tĂ”eliselt sĂŒgav vaade, mis esineb harva, ja minu arvates on see vĂ€ga oluline. Kui soovite mĂ”ne tehnoloogiaga tĂ”eliselt hĂ€sti hakkama saada ja mĂ”ista, mida temalt oodata, peate vĂ€hemalt ligikaudselt teadma, kuidas see madalamal tasemel töötab.

Meie kursus nĂ€itab ja selgitab, kuidas see operatsioonisĂŒsteemi vaatenurgast töötab. Ühelt poolt kasutavad kĂ”ik konteineriseerimissĂŒsteemid samu operatsioonisĂŒsteemi mehhanisme. Teisalt vĂ”tavad nad operatsioonisĂŒsteemist Linux, nĂ€iteks docker. Teised konteineriseerimissĂŒsteemid ei ole midagi uut vĂ€lja mĂ”elnud - nad on vĂ”tnud selle, mis juba olemas Linuxis ja kirjutanud lihtsalt mugava katte, mis vĂ”imaldab seda kiiresti kutsuda, kĂ€ivitada vĂ”i selle kaudu suhtlemiseks kasutada. Ka docker on vaid vĂ€ike kiht operatsioonisĂŒsteemi ja kĂ€surea vahel, see on utiliit, mis vĂ”imaldab mitte kirjutada kilotonni kĂ€ske vĂ”i mĂ”nda C-koodi, et konteinerit luua, vaid teha seda, sisestades paar rida terminali.

Ja lisaks, kui rÀÀgime just docker'ist, siis see, mida docker tÔi IT-maailma, on standardid. Kuidas peaks rakendus kÀivituma, kuidas see peaks töötama, millised on logide nÔuded, millised on rakenduse skaleerimise ja konfigureerimise nÔuded.

Suuresti on docker seotud standarditega.

Standardid liiguvad ka Kubernetesesse - seal on tÀpselt need samad standardid, kui oskate oma rakendust docker'is Ôigesti kÀivitada, töötab see 99% tÔenÀosusega samamoodi ka Kuberneteses.

Kui tekitas huvi mitte ainult see, kuidas docker'i kursus loodi, vaid ka teised kursused, vaid ka huvi ise kursuse vastu praktilisest vaatenurgast, siis veel on aega osta see ettetellimise soodushinnaga 5000 rubla kuni 30. juuli.

Me oleme rÔÔmsad teid nÀha!

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster