Zakaj bi se morali sistemski skrbniki, razvijalci in preizkuševalci naučiti praks DevOps?

Zakaj bi se morali sistemski skrbniki, razvijalci in preizkuševalci naučiti praks DevOps?

Kam iti s tem znanjem, kaj narediti v projektu in koliko zaslužiti, kaj reči in vprašati na razgovoru - pravi Alexander Titov, poslovodni partner Express 42 in avtor spletni tečaj “Prakse in orodja DevOps”.

Zdravo! Čeprav izraz DevOps obstaja od leta 2009, v ruski skupnosti še vedno ni soglasja. Verjetno ste opazili, da nekateri menijo, da je DevOps posebnost, drugi ga imajo za filozofijo, tretji pa izraz nabor tehnologij. Sem že velikokrat nastopala s predavanja o razvoju te smeri, zato se v tem članku ne bom spuščal v podrobnosti. Naj samo povem, da pri Express 42 vključujemo naslednje:

DevOps je posebna metodologija, kultura ustvarjanja digitalnega izdelka, ko pri izdelavi sodelujejo vsi strokovnjaki v ekipi.

V klasičnem korporativnem razvoju gre vse zaporedno: programiranje, testiranje in šele nato obratovanje, hitrost tega procesa od ideje do proizvodnje pa je 3 mesece. To je globalni problem digitalnih izdelkov, saj je nemogoče hitro prejeti povratne informacije od strank.

V DevOps so orodja in pristopi zasnovani tako, da zagotavljajo sočasno izvajanje procesov razvoja, testiranja in delovanja.

Kaj sledi iz tega pristopa?

  • Ne moreš najeti nekega »inženirja«, ki bo prišel in rešil vse probleme s proizvodnjo. Celotna ekipa mora uporabljati tehniko.

    Zakaj bi se morali sistemski skrbniki, razvijalci in preizkuševalci naučiti praks DevOps?

  • DevOps NI naslednja oblika sistemskega skrbnika za nadgradnjo. »Inženir DevOps« zveni približno enako kot »Agilni razvijalec«.

    Zakaj bi se morali sistemski skrbniki, razvijalci in preizkuševalci naučiti praks DevOps?

  • Če ekipa uporablja Kubernetes, Ansible, Prometheus, Mesosphere in Docker, to ne pomeni, da so tam implementirane prakse DevOps.

    Zakaj bi se morali sistemski skrbniki, razvijalci in preizkuševalci naučiti praks DevOps?

Življenje po DevOps ne bo nikoli več enako

Pristop DevOps je v prvi vrsti drugačen način razmišljanja, dojemanje razvoja kot celote in svojega mesta v procesu. Naš spletni tečaj smo razdelili na 2 sklopa:

1. Samoodločba

Najprej podrobno preučimo bistvo DevOps pristopa, študentje pa odkrijejo nove vloge v timu, vidijo, katera se bolj odziva, in sami določijo, v katero smer se bodo razvijali.

2. Orodja in prakse

Študenti obvladajo specifične tehnologije z vidika metode DevOps.

Orodja DevOps se lahko uporabljajo tako v pristopu DevOps kot v klasičnem razvoju. Najbolj očiten primer bi bila uporaba orodja za upravljanje konfiguracije Ansible. Ustvarjen in zasnovan je bil za implementacijo prakse DevOps “Infrastructure as Code”, kar pomeni, da so opisana različna stanja sistema, od nastavitev operacijskega sistema do aplikacijske programske opreme. Opis je razdeljen na plasti in vam omogoča upravljanje kompleksne, nenehno spreminjajoče se konfiguracije. Toda inženirji pogosto uporabljajo Ansible kot način za zagon bash skriptov na več strojih. To ni niti slabo niti dobro, vendar morate razumeti, da prisotnost Ansiblea ne zagotavlja prisotnosti DevOps v podjetju.

Smo v procesu seveda Potopljeni boste v proces razvoja aplikacije, podobne slavnemu Redditu, začenši z monolitno različico, ki se korak za korakom premika do mikrostoritev. Korak za korakom bomo osvojili nova orodja: Git, Ansible, Gitlab in zaključili s Kubernetesom in Prometheusom.

Pri praksah bomo sledili taktiki treh poti, opisanih v priročniku DevOps Handbook - prakse kontinuirane dostave, prakse povratnih informacij, bistvo celotnega tečaja pa je praksa nenehnega učenja skupaj z vašim sistemom.

Kaj to znanje daje vsakemu specialistu?

Za sistemske skrbnike

Prakse vam bodo omogočile, da se odmaknete od administracije k ustvarjanju cevovoda za neprekinjeno dostavo in infrastrukturne platforme za dostavo programske opreme. Bistvo je v tem, da ustvari izdelek – infrastrukturno platformo za razvijalce, ki jim pomaga hitro potisniti svoje spremembe v proizvodnjo.

Prej so bili sistemski skrbniki zadnji bastion, potem pa gre vse v proizvodnjo. In v bistvu so se ukvarjali s stalnim gašenjem – v luči tega se je precej težko poglobiti v potrebe posla, razmišljati o izdelku in koristih za uporabnika.
Zahvaljujoč metodi DevOps se razmišljanje spremeni. Skrbnik sistema razume, kako prevesti konfiguracijo v kodo, kakšne prakse obstajajo za to.

To je pomembno, ker se podjetja vedno bolj zavedajo, da jim ni treba vsega samo avtomatizirati, tj. tega, česar so bili v bistvu vajeni sistemski skrbniki stare šole, ki so poleg tega malo komunicirali in ekipe niso obveščali o vseh izvedenih spremembah. Sedaj ekipe iščejo tiste, ki bodo postali proizvajalec internega infrastrukturnega produkta in pomagali združiti ločene procese v enega.

Razvijalci

Razvijalec preneha razmišljati samo v algoritmih. Pridobi veščino dela z infrastrukturo, veščino arhitekturnega zavedanja krajine. Takšen razvijalec razume, kako aplikacija deluje, kako gre skozi cevovod za neprekinjeno dostavo, kako jo spremljati, kako jo registrirati, da bo koristila naročniku. Posledično vam vse to znanje omogoča pisanje ustrezne kode.

Za testerje

Testiranje že zdavnaj prehaja v samodejni način, vsi pravimo, da veliko testov ne bi smeli delati, ampak pisati :) Testiranje postane del celotnega dobave vašega produkta. Preizkuševalec se ne mora le naučiti pisati kode, ampak tudi razumeti, kako jo integrirati v sisteme za neprekinjeno dostavo, kako prejemati povratne informacije od kode na vseh stopnjah dostave in kako nenehno izboljševati testiranje, da bi odkrili napake kot čim prej.

Tako se izkaže, da vse tri stopnje potekajo hkrati. Na primer, lahko izgleda takole:

Razvijalec napiše kodo, takoj napiše teste zanjo in opiše docker vsebnik za kodo, ki jo je treba zagnati. Takoj opiše tudi monitoring, ki bo spremljal delovanje te storitve v produkciji, in vse to zaveže.

Ko se začne neprekinjena integracija, procesi tečejo sočasno. Storitev se zažene in je konfigurirana. Istočasno se zažene docker vsebnik in preveri se, ali deluje. Hkrati gredo vse informacije v sistem za beleženje. In tako naprej na vsaki stopnji razvoja - izkaže se pravo timsko delo sistemskih skrbnikov, razvijalcev in preizkuševalcev.

Študiral sem DevOps, kaj potem?

Kot veste, tisti na terenu ni bojevnik. Če vaše podjetje ne uporablja te metode, bodo pridobljene veščine ležale v prostem teku. In po seznanitvi z DevOps pristopi najverjetneje ne boste več želeli biti zobnik v razvoju podjetij. Lahko obstaja ena izjema: ste sistemski skrbnik v ekipi in lahko vse procese obnovite na nov način. Tukaj je vredno dodati, da obstaja veliko podjetij, ki uporabljajo ta pristop, in nanje zaprtje ne vpliva in iščejo strokovnjake. Ker DevOps ustvarja spletne izdelke.

In zdaj o dobrih stvareh: obvladovanje praks in orodij DevOps je približno +30 % vaše vrednosti na trgu dela. Plače se začnejo od 140 tisoč rubljev, vendar jih seveda določa vaša glavna posebnost in funkcionalnost.

Ogledate si lahko prosta delovna mesta z oznako "infrastrukturno usmerjena", kjer je avtomatizacija testiranja, razvoj mikrostoritvenih aplikacij z uporabo tehnologij v oblaku, prosta delovna mesta za infrastrukturne inženirje in vse vrste sklicevanja na DevOps. Samo zapomnite si, da vsako podjetje s to definicijo pomeni nekaj drugega – natančno preberite opis.

Med uvedbo našega tečaja sem prišel do spoznanja – veliko ljudi se po tečaju ujame v past DevOps inženirja. Najdejo prosto delovno mesto z zgoraj omenjenim naslovom, prejmejo dobro ponudbo, nato pa pridejo na delo in spoznajo, da bodo morali vzdrževati tristranski bash skript v Jenkinsu. Kje so Kubernetes, ChatOps, izdaje kanarčkov in vse to? A ni nič, saj podjetje ne potrebuje DevOps kot metodologije, ampak uporablja posamezne inovacije.

To je razlog, da pri podjetju intenzivno ugotavljate, kako poteka proces dostave programske opreme, tehnološki sklad in kakšne odgovornosti boste opravljali.

Če delodajalec na vaša vprašanja odgovarja abstraktno, kot iz knjige, brez podrobnosti, potem najverjetneje v podjetju še ni procesa DevOps, vendar to ni razlog za zavrnitev, preučite podjetje in njegove izdelke, ali obstajajo spletni storitve, ki jih podjetje razvija samo, mobilne aplikacije, ideje za izdelke.

Če je odgovor pritrdilen, potem pojasnite, ali boste morali delati neposredno s temi sistemi ali pa obstaja možnost horizontalnega premika k ekipam teh storitev, medtem ko dokazujete dobre rezultate v praksah DevOps. Če da, potem se splača iti in biti aktiven in koristen, in če opravite naš tečaj, je slednje zagotovljeno.

Pomembno je omeniti, da praktiki Devops pridobijo pravo vrednost le z izkušnjami pri razvoju/administraciji/testiranju. Le tako znanje ne bo abstraktno, ampak bo obogatilo specialista (v vseh pogledih). Zato je ideja "učenja DevOps iz nič" približno enaka kot učenje "uporabe leč iz nič", če nikoli niste držali kamere v rokah ali režirali snemanja. Da bi se lažje odločili, ali je tečaj pravi za vas, smo pripravili sprejemni preizkus, s katerim bomo preverili vašo zadostno raven znanja.

Mislim, da je eden od trikov seveda — da se tekom usposabljanja vsak študent sam odloči, v katero smer se želi razvijati. Pogosto opazimo prehode, ko razvijalec postane infrastrukturni inženir, administrator pa ugotovi, da ga zanima pisanje kode – potem jezik dodatno preuči in ga dopolni s pridobljenimi DevOps veščinami. Zato so še posebej dobrodošli tisti, ki čutijo, da se je njihova kariera znašla na razpotju. Tečaj se začne 28. maja, vendar se lahko pridružiš 2 tedna po začetku pouka. Program si lahko ogledate in opravite test по ссылке. Se vidimo na OTUSU!

Vir: www.habr.com

Dodaj komentar