Prečo by sa správcovia systému, vývojári a testeri mali učiť postupy DevOps?

Prečo by sa správcovia systému, vývojári a testeri mali učiť postupy DevOps?

Kam ísť s týmito znalosťami, čo robiť v projekte a koľko zarobiť, čo povedať a opýtať sa na pohovore - hovorí Alexander Titov, managing partner Express 42 a autor online kurz „Postupy a nástroje DevOps“.

Ahoj! Hoci pojem DevOps existuje už od roku 2009, v ruskej komunite stále neexistuje konsenzus. Určite ste si všimli, že niektorí považujú DevOps za špecialitu, iní za filozofiu a ďalší za súbor technológií. Už som veľakrát vystupoval s prednášky o vývoji tohto smeru, preto sa v tomto článku nebudem rozpisovať. Dovoľte mi povedať, že v Express 42 do neho zaraďujeme nasledovné:

DevOps je špecifická metodika, kultúra tvorby digitálneho produktu, kedy sa na výrobe podieľajú všetci špecialisti v tíme.

Pri klasickom firemnom vývoji ide všetko postupne: programovanie, testovanie a až potom prevádzka a rýchlosť tohto procesu od nápadu po výrobu je 3 mesiace. Ide o globálny problém digitálnych produktov, pretože nie je možné rýchlo získať spätnú väzbu od zákazníkov.

V DevOps sú nástroje a prístupy navrhnuté tak, aby zabezpečili, že vývojové, testovacie a prevádzkové procesy bežia súčasne.

Čo z tohto prístupu vyplýva?

  • Nemôžete si najať nejakého „inžiniera“, ktorý príde a vyrieši všetky problémy s výrobou. Techniku ​​musí aplikovať celý tím.

    Prečo by sa správcovia systému, vývojári a testeri mali učiť postupy DevOps?

  • DevOps NIE JE ďalšou formou správcu systému na inováciu. „Inžinier DevOps“ znie približne rovnako ako „Agilný vývojár“.

    Prečo by sa správcovia systému, vývojári a testeri mali učiť postupy DevOps?

  • Ak tím používa Kubernetes, Ansible, Prometheus, Mesosphere a Docker, neznamená to, že tam boli implementované postupy DevOps.

    Prečo by sa správcovia systému, vývojári a testeri mali učiť postupy DevOps?

Život po DevOps už nikdy nebude rovnaký

Prístup DevOps je v prvom rade odlišný spôsob myslenia, vnímanie rozvoja ako celku a svojho miesta v procese. Náš online kurz sme rozdelili do 2 blokov:

1. Sebaurčenie

Najprv podrobne preskúmame podstatu prístupu DevOps a študenti objavia nové roly v tíme, uvidia, ktorá z nich viac reaguje, a sami si určia, ktorým smerom sa budú rozvíjať.

2. Nástroje a postupy

Študenti ovládajú špecifické technológie z pohľadu metódy DevOps.

Nástroje DevOps je možné použiť ako v prístupe DevOps, tak aj v klasickom vývoji. Najzrejmejším príkladom by bolo použitie nástroja na správu konfigurácie Ansible. Bol vytvorený a koncipovaný na implementáciu praxe DevOps „Infrastructure as Code“, čo znamená, že sú popísané rôzne stavy systému, od nastavení operačného systému až po aplikačný softvér. Popis je rozdelený do vrstiev a umožňuje spravovať komplexnú, neustále sa meniacu konfiguráciu. Inžinieri však často používajú Ansible ako spôsob spúšťania bash skriptov na viacerých počítačoch. Nie je to zlé ani dobré, ale musíte pochopiť, že prítomnosť Ansible nezaručuje prítomnosť DevOps v spoločnosti.

Sme v procese kurz Budete ponorení do procesu vývoja aplikácie podobnej slávnemu Redditu, počnúc jej monolitickou verziou, krok za krokom prejdete k mikroslužbám. Krok za krokom si osvojíme nové nástroje: Git, Ansible, Gitlab a skončíme s Kubernetes a Prometheus.

Čo sa týka praktík, budeme sa držať taktiky troch ciest popísaných v DevOps Handbook – praktiky kontinuálneho doručovania, praktiky spätnej väzby a podstatou celého kurzu je nácvik kontinuálneho učenia sa spolu s vaším systémom.

Čo tieto znalosti dávajú každému zo špecialistov?

Pre správcov systému

Postupy vám umožnia posunúť sa od správy smerom k vytvoreniu kontinuálneho doručovacieho potrubia a infraštruktúry infraštruktúry na doručovanie softvéru. Ide o to, že vytvára produkt – platformu infraštruktúry pre vývojárov, ktorá im pomáha rýchlo presadiť ich zmeny do produkcie.

Predtým boli systémoví administrátori poslednou baštou, po ktorej ide všetko do výroby. A v podstate sa venovali nepretržitému haseniu požiarov - vo svetle toho je dosť ťažké ponoriť sa do potrieb podnikania, premýšľať o produkte a výhodách pre používateľa.
Vďaka metóde DevOps sa myslenie mení. Správca systému rozumie, ako preložiť konfiguráciu do kódu, aké postupy na to existujú.

Je to dôležité, pretože spoločnosti si čoraz viac uvedomujú, že nepotrebujú všetko len automatizovať, t.j. na čo boli v podstate zvyknutí administrátori systému zo starej školy, ktorí navyše málo komunikovali a neinformovali tím o všetkých vykonaných zmenách. Teraz tímy hľadajú tých, ktorí sa stanú výrobcom produktu internej infraštruktúry a pomôžu spojiť oddelené procesy do jedného.

Pre vývojárov

Vývojár prestane myslieť iba v algoritmoch. Získava zručnosť práce s infraštruktúrou, zručnosť architektonického povedomia o krajine. Takýto vývojár rozumie tomu, ako aplikácia funguje, ako prechádza kontinuálnym doručovacím potrubím, ako ju monitorovať, ako ju registrovať, aby prinášala úžitok klientovi. Výsledkom je, že všetky tieto znalosti vám umožňujú písať relevantný kód.

Pre testerov

Testovanie už dávno prechádza do automatického režimu, všetci hovoríme, že mnohé testy by sa nemali robiť, ale písať :) Testovanie sa stáva súčasťou celého zásobovacieho potrubia vášho produktu. Tester sa musí nielen naučiť, ako písať kód, ale aj pochopiť, ako ho integrovať do systémov nepretržitého doručovania, ako prijímať spätnú väzbu od kódu vo všetkých fázach doručovania a ako neustále zlepšovať testovanie, aby odhalil chyby ako napr. čo najskôr.

Tak sa to ukazuje všetky tri stupne prebiehajú súčasne. Môže to vyzerať napríklad takto:

Vývojár napíše kód, okamžite preň napíše testy a popíše kontajner docker pre kód, ktorý by sa mal spustiť. Okamžite popisuje aj monitoring, ktorý bude sledovať fungovanie tejto služby vo výrobe a toto všetko zaväzuje.

Keď sa spustí nepretržitá integrácia, procesy prebiehajú súčasne. Služba sa spustí a je nakonfigurovaná. Zároveň sa spustí dokovací kontajner a skontroluje sa, či je spustený. Zároveň všetky informácie idú do logovacieho systému. A tak ďalej v každej fáze vývoja – ukazuje sa, že ide o skutočnú tímovú prácu systémových administrátorov, vývojárov a testerov.

Študoval som DevOps, čo ďalej?

Ako viete, jeden v poli nie je bojovník. Ak vaša spoločnosť túto metódu nevyužije, nadobudnuté zručnosti budú ležať ladom. A po oboznámení sa s prístupmi DevOps s najväčšou pravdepodobnosťou nebudete chcieť byť kolieskom v rozvoji spoločnosti. Môže existovať jedna výnimka: ste správcom systému v tíme a môžete prebudovať všetky procesy novým spôsobom. Tu stojí za to dodať, že existuje veľa spoločností, ktoré používajú tento prístup a ktorých sa blokovanie netýka a hľadajú špecialistov. Pretože DevOps je o vytváraní online produktov.

A teraz k tomu dobrému: ovládanie postupov a nástrojov DevOps je približne +30 % vašej hodnoty na trhu práce. Platy začínajú od 140 XNUMX rubľov, ale sú samozrejme určené vašou hlavnou špecializáciou a funkčnosťou.

Môžete sa pozrieť na voľné pozície s označením “infrastructure-oriented”, kde je automatizácia testovania, vývoj aplikácií mikroslužieb s využitím cloudových technológií, voľné miesta pre infraštruktúrnych inžinierov a všemožné referencie na DevOps. Len nezabudnite, že každá spoločnosť si pod touto definíciou predstavuje niečo iné – pozorne si prečítajte popis.

Počas spustenia nášho kurzu mi došlo k poznaniu – veľa ľudí po kurze padne do pasce DevOps inžiniera. Nájdu voľné miesto s vyššie spomínaným názvom, dostanú dobrú ponuku a potom prídu do práce a uvedomia si, že budú musieť udržiavať trojstranový bash scenár v Jenkins. Kde sú Kubernetes, ChatOps, kanárske vydania a tak ďalej? Ale nie je o čom, pretože spoločnosť DevOps ako metodiku nepotrebuje, ale využíva jednotlivé inovácie.

To je dôvod, prečo si od spoločnosti intenzívne zisťovať, ako funguje proces dodávky softvéru, technologický stack a aké povinnosti budete vykonávať.

Ak zamestnávateľ odpovedá na vaše otázky abstraktne, ako z knihy, bez podrobností, potom s najväčšou pravdepodobnosťou vo firme ešte neexistuje proces DevOps, ale to nie je dôvod na odmietnutie, preštudujte si spoločnosť a jej produkty, či existujú online služby, ktoré si spoločnosť sama vyvíja, mobilné aplikácie, nápady na produkty.

Ak áno, potom si ujasnite, či budete musieť pracovať priamo s týmito systémami, alebo či existuje možnosť horizontálneho presunu do tímov týchto služieb pri preukázaní dobrých výsledkov v postupoch DevOps. Ak áno, oplatí sa ísť a byť aktívny a užitočný, a ak absolvujete náš kurz, to druhé máte zaručené.

Je dôležité poznamenať, že odborníci z Devops získavajú skutočnú hodnotu iba so skúsenosťami s vývojom/administráciou/testovaním. Len tak poznatky nebudú abstraktné, ale obohatia odborníka (v každom zmysle). Myšlienka „učenia sa DevOps od nuly“ je preto približne rovnaká ako učenie sa „používať šošovky od nuly“, ak ste nikdy nedržali fotoaparát v rukách ani neriadili natáčanie. Aby sme vám pomohli rozhodnúť sa, či je kurz pre vás vhodný, urobili sme vstupný test, ktorý preverí vašu dostatočnú úroveň vedomostí.

Myslím, že jeden z trikov kurz — že v priebehu výcviku si každý študent sám určí, ktorým smerom sa chce rozvíjať. Často vidíme prechody, keď sa z vývojára stane inžinier infraštruktúry a administrátor si uvedomí, že má záujem o písanie kódu – potom ďalej študuje jazyk a dopĺňa si ho o nadobudnuté DevOps zručnosti. Preto vítame najmä tých, ktorí majú pocit, že ich kariéra uviazla na rázcestí. Kurz začína 28. mája, no zapojiť sa môžete 2 týždne po začiatku vyučovania. Môžete si pozrieť program a urobiť test по ссылке. Vidíme sa v OTUS!

Zdroj: hab.com

Pridať komentár