În spatele scenelor. Cum sunt create cursurile?

Un participant vine la un curs sau un curs intensiv. Vede rânduri ordonate de asistență tehnică, cabluri de alimentare ordonate, un aspect al sălii de șah, imagini luminoase și diagrame de diapozitive. Vorbitorii cu glume și zâmbete oferă informații în așa fel încât să ai timp să le înțelegi. Standurile sunt montate, sarcinile de antrenament pur și simplu zboară de pe degete, cu excepția faptului că uneori aveți nevoie de ajutorul personalului tehnic. a sustine.

Și, de asemenea, pauze de cafea cu oameni care gândesc, o atmosferă veselă și energică, schimb de experiențe, cele mai neașteptate întrebări pentru vorbitori. Atât răspunsuri, cât și informații pe care nu le veți găsi în manuale, ci doar în practică.

Cât timp, efort și nervi crezi că a fost nevoie să arate exact așa?

În spatele scenelor. Cum sunt create cursurile?

Mulțumim lui Volodya Guryanov, administrator certificat Kubernetes și inginer/șef de echipă la Southbridge, care a asistat și a participat activ la crearea multor cursuri Slurm încă de la început.

A văzut dedesubtul creației – complexități și războaie spinoase, intuiții și soluții neașteptate. Și deja familiare intensive Kubernetes, cum ar fi Slurm Basic și Slurm Mega. Și un curs nou, în mare măsură revizuit Slurm DevOps: Instrumente și trucuri, care se apropie inexorabil și va începe pe 19 august.

În spatele scenelor. Cum sunt create cursurile?

Dar, poate, destule versuri, să trecem la povestea în sine. Cum dintr-un cuplu de subiecte intensive un complet autosuficient și multifațetat curs Docker. Așa că voi începe povestea despre cum sunt create și dezvoltate cursurile - la fel ca „Cu mult timp în urmă într-o galaxie departe, departe...”

Ce se află în culise?

Dacă întrebați cum facem cursurile și unde începe totul, voi răspunde pur și simplu „Totul începe cu o idee”.

De obicei, ideea vine de undeva - nu stăm încătușați la subsol până nu venim cu: „Pe ce subiect ar trebui să facem un curs?” Ideile vin de undeva pe cont propriu din surse externe. Uneori, oamenii încep să întrebe în mod activ: „Ce știi despre o astfel de tehnologie specifică?” Sau cum a fost cu Docker că a fost imposibil să-l încadreze în calendarul cursului intensiv - evident că trebuia scos afară pentru a avea timp să spună ceva în timpul cursului intensiv.

În spatele scenelor. Cum sunt create cursurile?

Așa apare o idee.

După ce a fost anunțat, în opinia mea, începe cel mai dificil moment - pentru a înțelege în general ce să includeți în acest curs - acesta este foarte comparabil cu modul în care sunt pregătiți vorbitorii pentru orice conferință.

Există o durere principală atunci când pari că ai ales un subiect și te gândești: „Ce pot să spun despre el? Acest lucru este prea simplu, acest lucru este evident, toată lumea știe și asta.”

Dar, de fapt, acesta nu este deloc cazul. Și eu personal spun în multe locuri că ceea ce ți se pare evident ție, celor care vin să te asculte sau să urmeze un curs, nu este deloc evident. Și aici apare un nivel atât de mare de muncă și conflict intern, în ceea ce privește ce să includă în curs. Drept urmare, obținem o astfel de listă de capitole cu lovituri atât de mari, despre ce va fi cursul.

Și apoi începe munca simplă de rutină:

  • Selectarea materialelor
  • Citiți cu atenție documentația pentru versiunea actuală, deoarece lumea IT se dezvoltă acum cu un fel de viteză cosmică. Chiar dacă lucrezi cu ceva și faci un curs despre asta, trebuie să mergi la documentație și să vezi ce este nou acolo, ce este interesant de vorbit, ce ar putea fi deosebit de util să menționezi.
  • Și apare un anumit schelet al cursului, unde majoritatea subiectelor, în general, sunt deja tratate și se pare că orice ar fi acolo - înregistrează videoclipuri și le lansează în producție.
  • Dar de fapt, nu, atunci începe munca grea, dar nu pentru autorii cursului, ci pentru cei care testează. De obicei, testerii noștri alpha sunt suport tehnic, care, în primul rând, corectează cursurile pentru orice erori sintactice și gramaticale. În al doilea rând, ne bat dureros cu bastoane și înjură când sunt niște locuri complet nevăzute, de neînțeles. Când în texte apar niște propoziții subordonate compuse complex de câteva pagini sau prostii evidente. Au citit totul, au grijă la el.
  • Apoi începe etapa de testare practică, în care sunt surprinse și unele lucruri evidente nefuncționale și sunt prezentate unele momente care pot fi fie îngreunate, deoarece devine nu foarte interesant - doar stai și copiezi - și sunt identificate locuri unde este foarte dificil și avem multe de făcut și ne dorim de la oameni care vor urma acest curs. Și apoi vin recomandările: „Băieți, faceți mai simplu aici, va fi mai ușor de perceput și vor fi mai multe beneficii de pe urma.”
  • După ce se termină această cantitate de muncă, se scrie partea care se referă la videoclip, totul pare să fie în regulă. Și îl poți dona deja pentru producție, pentru publicitate acestui curs. Dar din nou, nu, este prea devreme - pentru că recent am încetat să avem puțină încredere în noi și, în principiu, am început să lucrăm mai mult cu feedback. Există un astfel de lucru precum testarea beta - acesta este atunci când oamenii sunt invitați din afară, care nu au legătură cu compania noastră în niciun fel, iar pentru unele bunătăți li se arată toate părțile cursului, videoclipuri, text, sarcini practice, astfel încât a evalua calitatea materialului, accesibilitatea materialului și ne-au ajutat să facem cursul cât mai bun.
  • Și când trec mai multe astfel de iterații, difuzoare, testare alfa sub formă de suport tehnic, testare beta, îmbunătățiri. Și apoi totul începe din nou - suport tehnic, testare beta, îmbunătățiri.
  • Și la un moment dat, se înțelege că fie am terminat cu modificările, pentru că este complet nerealist să ne asigurăm că le place tuturor, fie se iau niște decizii drastice. Când multe comentarii pe anumite locuri sunt critice, refaceți-le la nivel global, pentru că ceva nu a mers prost.
  • Apoi vine timpul pentru modificări minore - undeva propoziția nu este formulată foarte frumos, undeva cuiva nu-i place fontul, 14,5, dar ar dori 15,7.
  • Când rămâne acest tip de comentariu, atunci atât, cursul se deschide mai mult sau mai puțin, încep vânzările oficiale.

Și la prima vedere, sarcina scurtă și simplă de a crea un curs se dovedește a fi deloc simplă și durează incredibil de mult.

Și există un alt punct important că lucrul cu cursul nu se termină atunci când cursul este lansat. În primul rând, citim cu atenție comentariile care sunt lăsate pe anumite părți. Și chiar și în ciuda tuturor eforturilor pe care le-am depus, unele defecte sunt încă identificate, unele greșeli sunt corectate și îmbunătățite pe parcurs, în timp real, astfel încât fiecare utilizator ulterior să primească un serviciu mai bun.

În spatele scenelor. Cum sunt create cursurile?

Fiecare curs are propriul proprietar de produs, care, pe lângă definirea conceptului general, verifică termenele limită, face notițe în margine că atunci când va veni momentul să rescrie complet cursul, și cu siguranță va veni, pentru că în doi ani, sau chiar un an mai târziu, o parte din ceea ce spunem va deveni irelevante pur și simplu pentru că va deveni învechit din punct de vedere moral. Proprietarul produsului notează în margine că cel mai adesea oamenii întreabă ce puncte erau neclare, ce sarcini păreau foarte dificile și care păreau, dimpotrivă, foarte simple. Și toate acestea sunt luate în considerare la reînregistrarea cursului, în timpul unui fel de refactorizare, astfel încât fiecare iterație a cursului global să devină mai bună, mai convenabilă și mai confortabilă.

Așa apar cursurile.

Cum s-a născut cursul Docker

Acesta este un subiect separat și chiar neobișnuit pentru noi. Pentru că, pe de o parte, nu ne-am propus să o facem, deoarece multe școli online o oferă. Pe de altă parte, a cerut să fie eliberat și a găsit un loc logic în conceptul nostru de formare a specialiștilor IT în Kubernetes.

Vorbind foarte global, inițial totul a început cu un curs pe Kubernetes, când tocmai a început, după părerea mea, după primul Slurm. Am colectat feedback și am văzut că mulți oameni doresc să citească ceva suplimentar despre Docker în altă parte și, în general, mulți vin la cursul de bază despre Kubernetes fără să știe ce este Docher.

Prin urmare, pentru al doilea Slurm au făcut un curs - sau mai bine zis, nici măcar un curs, ci au făcut câteva capitole despre Dockers. Unde au spus unele dintre cele mai elementare lucruri, pentru ca oamenii care vin la intensiv să nu se simtă lipsiți și să înțeleagă în general ce se întâmplă.

În spatele scenelor. Cum sunt create cursurile?

Și apoi evenimentele s-au dezvoltat cam așa. Cantitatea de material a crescut și a încetat să se potrivească în 3 zile. Și a apărut o idee logică și evidentă: de ce să nu transformăm ceea ce acoperim la Slurm Basic într-un fel de curs mic la care ai putea trimite oameni care doresc să urmărească ceva despre Docker înainte de a urma un curs intensiv pe Kubernetes.

Slurm Junior este, de fapt, o combinație a mai multor astfel de cursuri de bază. Drept urmare, cursul Docker a devenit o piesă din Slurm Junior. Adică, acesta este un pas atât de zero înainte De bază и Mega. Și apoi au fost doar abstracții de bază.

În spatele scenelor. Cum sunt create cursurile?

La un moment dat, oamenii au început să întrebe: „Băieți, totul este grozav, este suficient pentru a înțelege despre ce vorbiți la cursurile intensive. Unde pot citi mai detaliat despre ce poate face docker și cum să lucrez cu el și ce este?” Așa că a venit ideea să fie clară curs complet pe Docker, astfel încât, în primul rând, persoanele care vin în Slurm folosind Kubernetes să poată fi trimise în continuare la acesta, iar pe de altă parte, pentru cei care nici măcar nu sunt interesați de Kubernetes în acest stadiu de dezvoltare. Pentru ca un specialist IT să poată veni să urmărească cursul nostru despre Docker și să-și înceapă calea evolutivă pur și simplu cu Docker pur. Așa că avem un curs atât de complet și complet - și apoi mulți, care au urmărit acest curs, după ce au lucrat de ceva timp cu Docker pur, au ajuns la nivelul la care au nevoie de Kubernetes sau de un alt sistem de orchestrare. Și au venit la noi în special.

Uneori se pune întrebarea: „Ce fel de oameni nu au nevoie acum de Kubernetes?” Dar această întrebare nu este despre oameni, este mai degrabă o întrebare despre companii. Aici trebuie să înțelegeți că Kubernetes are anumite cazuri în care este bine potrivit și sarcini pe care le rezolvă bine, dar, dimpotrivă, există câteva scenarii de utilizare a Kubernetes atunci când provoacă durere suplimentară și suferință suplimentară. Prin urmare, nici măcar nu depinde de oameni, ci de ce companii s-au dezvoltat și de cât timp.

De exemplu, un monolit Legacy teribil - probabil că nu ar trebui să-l împingeți în Kubernetes, deoarece va cauza mai multe probleme decât beneficii. Sau, de exemplu, dacă acesta este un proiect mic, are o sarcină mică sau, în principiu, nu mulți bani și resurse. Nu are rost să-l trageți în Kubernetes.

Și, în general, probabil, în general, așa cum au spus deja mulți oameni, dacă puneți întrebarea: „Am nevoie de Kubernetes?”, atunci cel mai probabil nu aveți nevoie de el. Nu-mi amintesc cine a venit primul cu asta, după părerea mea, Pașa Selivanov. Sunt de acord cu asta 100%. Și trebuie să creșteți până la Kubernetes - și când devine deja clar că am nevoie de Kubernetes și compania noastră are nevoie de el și va ajuta la rezolvarea unor astfel de probleme, atunci probabil că are sens să învățați și să vă dați seama exact cum să setați este bine, astfel încât procesul de trecere la Kubernetes să nu fie foarte dureros.

Unele afecțiuni ale copiilor și unele lucruri simple, și chiar nu foarte simple, pot fi aflate în special de la noi, și nu treci prin propria greblă și durere.

Multe companii au mers exact așa cum la început a existat doar un fel de infrastructură fără containerizare. Apoi au ajuns în punctul în care a devenit dificil să gestioneze totul, au trecut la Docker și la un moment dat au crescut până la punctul în care a devenit înghesuit în cadrul Docker și a ceea ce oferă. Și au început să se uite la ce era în jur, ce sisteme rezolvă aceste probleme și, în special, Kubernetes - acesta este unul dintre acele sisteme care vă permite să rezolvați probleme atunci când Docker pur devine aglomerat și nu are funcționalitate, acesta este un caz foarte bun când oamenii Ei merg pas cu pas de jos în sus, înțeleg că această tehnologie nu este suficientă și trec la nivelul următor. Au folosit ceva, a devenit din nou rar - și merg mai departe.

Aceasta este o alegere conștientă - și este foarte tare.

În general, văd că sistemul nostru este foarte frumos construit, de exemplu, curs docker, chiar și prin cursuri video. Apoi, după docker, merge Kubernetes de bază, atunci Mega Kubernetes, atunci ceph. Totul se aliniază logic - o persoană trece și apare o profesie solidă.

În principiu, setul de cursuri vă permite să acoperiți o mulțime de cazuri, chiar și cele moderne. Mai sunt zone care rămân o zonă gri, sper că în curând vom crea niște cursuri care să ne permită să închidem aceste zone gri, în special, vom veni cu ceva despre securitate. Pentru că acest lucru devine foarte relevant.

Pe scurt, avem niște zone gri pe care ar fi foarte bine să le închidem, astfel încât să fie o imagine completă, completă - și oamenii ar putea veni și, așa cum Kubernetes însuși este ca un constructor Lego, puteți face lucruri diferite din se colectează, dacă tot nu este suficient - supliment, la fel și cu cursurile noastre, pentru ca oamenii să înțeleagă de ce au nevoie din asta pentru a asambla un fel de puzzle, un fel de set de construcție din cursurile noastre;

În spatele scenelor. Cum sunt create cursurile?

Dacă vă puneți o întrebare în general corectă și sinceră: „Cine ar putea folosi un curs Docker activ acum?”, atunci:

  • Pentru studenții care abia încep să se implice în asta.
  • Angajații departamentului de testare.
  • De fapt, există multe companii care încă, nu numai că nu folosesc Docker, dar nimeni nu a auzit de o astfel de tehnologie și, în principiu, nu știu să o folosească. Și cunosc mai multe companii mari din Sankt Petersburg care se dezvoltă de mulți ani, și au folosit niște tehnologii vechi, se îndreaptă în această direcție. În special, pentru astfel de companii, pentru inginerii din astfel de companii, acest curs poate fi foarte interesant, deoarece, în primul rând, vă va permite să vă cufundați rapid în această tehnologie și, în al doilea rând, de îndată ce apar mai mulți ingineri care înțeleg cum totul. funcționează, o pot aduce companiei și dezvolta această cultură și aceste direcții în cadrul companiei.
  • În opinia mea, acest curs poate fi în continuare util celor care au lucrat deja cu docker, dar foarte puțin și mai mult în stilul „fa o dată, fă de două ori” - și acum vor interacționa cumva cu același Kubernetes și asta le impune anumite obligații, dacă ai cunoștințe foarte superficiale despre ce este docker-ul, cum să-l rulezi, dar în același timp nu știi cum funcționează din interior, nu știi ce e cel mai bine să faci cu ea și ce este mai bine să nu faci, Atunci acest curs este potrivit pentru sistematizarea și aprofundarea cunoștințelor.

Dar dacă aveți cunoștințe la nivelul: „Nu știu să scriu corect aceleași fișiere Docker, îmi pot imagina ce sunt spațiile de nume, cum funcționează containerele, cum sunt implementate de fapt la nivel de sistem de operare” - atunci există cu siguranță nu are rost să mergi la noi, nu vei învăța nimic nou și vei fi puțin trist pentru banii și timpul petrecut.

Dacă formulăm ce avantaje are cursul nostru, atunci:

  • Am încercat să facem acest curs cu un număr suficient de cazuri practice care să îți permită nu doar să înțelegi partea teoretică care există, ci și să înțelegi de ce ai nevoie de el și cum o vei folosi în viitor;
  • există mai multe secțiuni care se găsesc foarte rar oriunde - și, în general, nu există atât de mult material pe ele. Ele se referă la interacțiunea Docker cu sistemul de operare, chiar și puțin diferit. Ce mecanisme a luat Docker de la sistemul de operare pentru a implementa sistemul de containerizare - și acest lucru oferă o înțelegere atât de profundă a întregii probleme a rulării containerelor în sistemul de operare Linux. Cum funcționează, cum interacționează unul cu celălalt în interiorul sistemului de operare, în exterior și așa mai departe.

Aceasta este o privire atât de profundă încât se întâmplă destul de rar și, în același timp, în opinia mea, este foarte importantă. Dacă doriți să înțelegeți bine orice tehnologie și să înțelegeți la ce să vă așteptați de la ea, trebuie să aveți cel puțin o idee generală despre cum funcționează la un nivel scăzut.

Cursul nostru arată și spune cum funcționează acest lucru din punct de vedere al sistemului de operare. Pe de o parte, toate sistemele de containerizare folosesc aceleași mecanisme ale sistemului de operare. Pe de altă parte, ei iau ceea ce este în sistemul de operare Linux, cum ar fi docker. Alte sisteme de containerizare nu au venit cu nimic nou - au luat ceea ce era deja în Linux și au scris doar un wrapper convenabil care vă permite să îl apelați rapid, să îl rulați sau să interacționați cumva cu el. Același Docker nu este un strat foarte mare între sistemul de operare și linia de comandă, este un fel de utilitar care vă permite să nu scrieți kilotone de comenzi sau un fel de cod C pentru a crea un container, ci să faceți acest lucru introducând câteva linii în terminal.

Și încă ceva, dacă vorbim în mod specific despre Docker, ceea ce Docker a adus cu adevărat în lumea IT sunt standardele. Cum trebuie lansată aplicația, cum ar trebui să funcționeze, care sunt cerințele pentru jurnalele, care sunt cerințele pentru scalare, configurarea aplicației în sine.

În multe privințe, docker este despre standarde.

Standardele sunt, de asemenea, mutate în Kubernetes - și există exact aceleași standarde dacă știți să rulați bine aplicația în Docker, atunci în 99% din timp va funcționa la fel de bine în Kubernetes;

Dacă te-ai trezit interesat nu numai de modul în care a fost creat cursul Docker, ci și de alte cursuri, ci și de cursul în sine din punct de vedere practic, atunci Mai este timp să-l achiziționați cu o reducere de precomandă de 5000 de ruble până pe 30 iulie.

Vom fi bucuroși să vă vedem!

Sursa: www.habr.com

Adauga un comentariu