DevOps inžinieri sú multifunkční odborníci, ktorí dokážu automatizovať procesy a rozumejú, ako pracujú vývojári, QA a manažéri. Ovládajú programovanie, rýchlo sa učia zložitým nástrojom a nezostanú na kolenách pred neznámou úlohou. DevOps inžinierov je málo – sú ochotní platiť 200–300 tisíc rubľov, no pracovných miest je stále veľa.
Dmitrij Kuzmin vysvetľuje, čomu konkrétne sa DevOps venuje a čo je potrebné na to, aby ste mohli uchádzať o takúto pozíciu. Ako bonus – dôležité odkazy na knihy, videá, kanály a profesionálne komunity.
Čo robí DevOps inžinier
V situácii s DevOps je dôležité nepopliesť pojmy. Ide o to, že DevOps nie je žiadny konkrétny smer činnosti, ale profesionálna filozofia. Je to metodológia, ktorá pomáha vývojárom, testovačom a systémovým administrátorom pracovať rýchlejšie a efektívnejšie vďaka automatizácii a bezproblémovosti.
DevOps inžinier je teda odborník, ktorý zavádza túto metodológiu do pracovného procesu:
- Na fáze plánovania DevOps inžinier pomáha rozhodnúť, akú architektúru bude aplikácia používať, ako sa bude škálovať, a vybrať systém orchestrace.
- Potom nastavuje servery, automatizované kontroly a nasadenie kódu, overenie prostredia.
- Následne automatizuje testovanie a rieši úlohy spojené s deployom.
- Po vydaní je dôležité zbierať spätnú väzbu od používateľov a zavádzať zlepšenia. DevOps zabezpečuje, aby používatelia tieto zlepšenia nezaregistrovali a proces aktualizácie bol kontinuálny.
- A zároveň rieši desiatky úloh, ktoré pomáhajú nastaviť systém práce pre vývojárov, QA, systémových administrátorov a manažérov.
Všetko, čo bolo napísané vyššie, sa deje v blízkosti ideálnych projektov. V reálnom svete sa však musíte rozbehnúť v projekte, kde plánovanie bolo vynechané, architektúra bola nesprávna a o automatizácii sa začalo premýšľať, keď všetky projekty stroskotali. Rozpoznať všetky tieto problémy, vyriešiť ich a zabezpečiť, aby všetko fungovalo, je kľúčová zručnosť DevOps špecialistu.
Na trhu s pracovnými silami panuje zmatek. Niekedy podniky hľadajú DevOps inžinierov na pozície systémového inžiniera, build inžiniera alebo niekoho iného. Povinnosti sa v závislosti od veľkosti firmy a smerovania tiež menia — niekde hľadajú človeka na konzultácie, inde žiadajú o automatizáciu, a niekde požadujú vykonávať rozšírené funkcie systémového administrátora, ktorý ovláda programovanie.
Čo potrebujete na začiatok v profesii
Vstup do profesie vyžaduje predchádzajúcu prípravu. Nemôžete len prísť na kurzy bez základného porozumenia v IT a naučiť sa na úroveň junior. Potrebujete technické pozadie:
- Ideálne je, ak máte polročnú prax a viac ako systémový administrátor, špecialista na prevádzku alebo testovanie. Alebo aspoň máte predstavu o tom, ako aplikácie štartujú, v akých prostrediach môžu fungovať a čo robiť, ak uvidíte chybu. Ak nemáte žiadne skúsenosti, prejdite si akýkoľvek kurz správy Linuxu, pričom všetko sa snažte opakovať na domácej mašine.
- Zistite, ako fungujú sieťové technológie — naučte sa inštalovať, konfigurovať a spravovať lokálne a globálne siete.
- Pozrite sa, ako a z čoho je programovanie — napíšte niekoľko skriptov v Pythone alebo Go, skúste pochopiť princípy OOP (Objektovo orientované programovanie), prečítajte si o všeobecnom cykle vývoja produktu.
- Bude sa vám hodiť znalosť technickej angličtiny — nie je potrebné komunikovať na voľné témy, stačí vedieť čítať dokumentáciu a rozhrania.
Nie je nutné poznať všetko uvedené do detailov, na začiatok vzdelávania DevOps stačí minimálna úroveň pripravenosti. Ak takéto technické pozadie máte, skúste sa zapísať na kurzy.
Čo by mal vedieť DevOps
Dobrý DevOps inžinier je profilový špecialista s veľmi širokým rozhľadom. Na úspešné fungovanie sa musíte hneď oboznámiť s niekoľkými IT smermi.
Vývoj
DevOps napíše skript, ktorý pomôže vývojárom nasadiť kód na server. Vytvorí program, ktorý "za behu" testuje odozvu databáz. Napíše aplikáciu na sledovanie verzií. A nakoniec si jednoducho všimne potenciálny problém vo vývoji, ktorý by sa mohol objaviť na serveri.
Silný DevOps špecialista pozná niekoľko jazykov vhodných na automatizáciu. Rozumie im nie do detailu, ale rýchlo napíše malý program alebo prečíta cudzí kód. Ak ste sa predtým s vývojom nestretli, začnite s Python — má jednoduchú syntax a je ľahké pracovať s cloudovými technológiami, existuje veľa dokumentácie a knižníc.
Operačné systémy
Poznať všetky možnosti každej verzie každého systému nie je možné — na takéto štúdium možno stráviť tisíce hodín a nebude to mať zmysel. Namiesto toho dobrý DevOps rozumie všeobecným princípom práce na akomkoľvek operačnom systéme. Hoci, ako naznačujú inzeráty, väčšina z nás pracuje v Linuxe.
Dobrý inžinier chápe, v akom systéme je najlepšie zavádzať projekt, aké nástroje používať a aké potenciálne chyby sa môžu vyskytnúť počas implementácie alebo prevádzky.
Cloudy
Trh cloudových technológií v priemere o 20-25% ročne — takáto infraštruktúra umožňuje automatizovať operácie testovania kódu, zostavovania aplikácií z komponentov, doručovania aktualizácií používateľom. Dobrý DevOps rozumie plne cloudovým, ako aj hybridným riešeniam.
V štandardných požiadavkách na inžinierov sa zvyčajne uvádza GCP, AWS a Azure.
Sem patrí aj ovládanie nástrojov CI/CD. Zvyčajne sa na kontinuálnu integráciu používa Jenkins, ale stojí za to vyskúšať aj alternatívy. Tých je mnoho, napríklad Buddy, TeamCity a GitLab CI. Učiteľným bude štúdium Terraformu — je to deklaratívny nástroj, ktorý pomáha ďalej spúšťať a nastavovať infraštruktúru v cloudových prostrediach. A Packer, ktorý je potrebný na automatické vytváranie obrazov operačných systémov..
Systémy orchestrácie a mikroslužby
Mikroslužbová architektúra má množstvo výhod — stabilitu, rýchlu škálovateľnosť, zjednodušenie a opätovné použitie. DevOps rozumie, ako mikroslužby fungujú, a môže predvídať potenciálne problémy.
Dôkladne ovláda Docker a Kubernetes. Chápe, ako fungujú kontajnery, ako budovať systém tak, aby bolo možné odpojiť časť z nich bez následkov pre celkový systém. Napríklad vie postaviť Kubernetes cluster pomocou Ansible.
Čo ešte skúsiť budúcemu DevOps?
Nástroje, ktoré môžu byť užitočné v práci DevOps inžiniera, môžeme vymenovať do nekonečna. Niektorí pracujú na orchestrácii projektov, iní väčšinu času venujú automatizácii nasadenia a testovania, a ďalší zvyšujú efektivitu v správe konfigurácií. V procese sa ukáže, kam sa zamerať a aké projekty prídu vhod.
Tu je ešte malý základ, ktorý pomôže na začiatku:
- Zjistite, ako fungujú Git a Github, ak ste sa s tým ešte nestretli. Nainštalujte GitLab na svoj server.
- Zoznámte sa so značkovacími jazykmi JSON a YAML.
- Nainštalujte a vyskúšajte prácu s databázami — nielen MySQL, ale aj NoSQL. Vyskúšajte MongoDB.
- Zjistite, ako spravovať konfiguráciu viacerých serverov naraz. Napríklad pomocou Ansible.
- Ihneď nastavte monitoring zaťaženia a logy. Vyskúšajte kombináciu Prometheus, Grafana, Alertmanager.
- Hľadajte najlepšie riešenia pre nasadenie pre rôzne jazyky — stačí sa s nimi oboznámiť, zavádzať a rozšíriť svoje zručnosti na tréningovom alebo pracovnom projekte.
Prečo by ste mali začať študovať DevOps teraz
Na trhu DevOps inžinierov existuje nedostatok pracovných síl. To je podmienené počtom a kvalitou pracovných ponúk:
- V Rusku je na HeadHunter neustále dostupných viac ako 2 000 pracovných miest pod týmto kľúčovým slovom.
- A len 1 900 ľudí umiestnilo svoje životopisy.
Vzhľadom na to, že umiestnenie životopisu neznamená aktívne hľadanie práce, vychádza, že na jedného odborníka pripadá dve, ba dokonca tri pracovné ponuky — takáto situácia neexistuje ani na populárnom trhu webového vývoja. Pridajte k tomu ešte pracovné ponuky z Habr a Telegram kanálov — nedostatok odborníkov je obrovský.

Venujte pozornosť platovým požiadavkám uchádzačov
DevOps je žiadaný aj vo svete — ak plánujete relokáciu do USA alebo Európy, tak iba na portáli týchto odborníkov hľadá viac než 34 000 spoločností. Z častých požiadaviek — skúsenosti 1–3 roky, schopnosť pracovať s «cloudmi» a neboja sa konzultačných funkcií.
Na freelancingu je ponúk oveľa menej — DevOps inžinierov väčšinou hľadajú do zamestnania a na plný úväzok.

Nájsť vhodný projekt na freelnace je ťažké, ale možné
Podmienečné kariérne cesty DevOps inžiniera by sa dali predstaviť asi takto:
- Pol roka až rok pracuje ako systémový administrátor v malej IT spoločnosti. Zároveň študuje jazyk, ktorý je vhodný na automatizáciu.
- Intenzívne sa učí na kurzoch, približne pol roka.
- Prechádza na inú prácu — do firmy, ktorá predáva cloudové riešenia, pobočky veľkej korporácie, k vývojárom veľkých projektov. Jednoducho povedané, tam, kde je potreba neustálej automatizácie a implementácie. Na vstupnej pozícii to je približne 100 000 rubľov.
- Niekoľko rokov aktívne pracuje a učí sa, zvyšuje svoje príjmy niekoľkokrát.
- Stáva sa expertom v profesionálnej komunite a prechádza do poradenstva. Alebo sa posúva na pozíciu systémového architekta alebo IT riaditeľa.
DevOps — to je náročné. Je potrebné kombinovať zručnosti hneď niekoľkých povolaní. Stať sa človekom, ktorý je pripravený navrhnúť zlepšenia tam, kde iní IT špecialisti ani nepomyslia na niečo iné. Za to sa dobre platí, ale aj objem vedomostí bude veľký.
Koľko zarábajú DevOps
Priemerná mediánová mzda podľa údajov za druhý štvrťrok 2019 je u devopsárov medzi 90 a 160 tisíc rubľov. Existujú ponuky aj lacnejšie — väčšinou 60–70 tisíc.
Stále sú k dispozícii ponuky až do 200 tisíc, občas sa objavia pracovné ponuky so mzdou až 330 tisíc rubľov.

Medzi odborníkmi na obsluhu DevOps sú mzdy vyššie ako u ostatných. Zdroj:
DevOps inžinieri, vrátane začiatočníkov, sú teraz potrební vo veľkých bankách, korporáciách, cloudových službách, obchodných systémoch a iných organizáciách, ktoré sa starajú o udržiavanie svojich IT riešení.
Skvelým kandidátom na junior pozíciu so mzdou 60–90 tisíc sa stane začínajúci systémový administrátor s približne ročnou praxou a relevantným diplomom.

Takáto štatistika neexistuje, ale z pocitov, ľudia s skúsenosťami v Linuxe zarábajú viac.
Čo sledovať a čítať pre rast v profesii
Aby ste sa ponorili do sveta DevOps, vyskúšajte niekoľko zdrojov informácií:
- [YouTube, ENG] — veľa videí z konferencií a vzdelávacích webinárov.
- [YouTube, RUS] — videá prednášok z profesionálnej konferencie DevOps v Rusku.
- [kniha, RUS] — jedna z najpopulárnejších kníh o filozofii DevOps. Kniha obsahuje všeobecné princípy metodológie a opisuje, na čo sa zamerať najprv pri práci na akomkoľvek projekte.
- [kniha, RUS] — veľa teórie a princípov o tom, ako by malo byť zorganizované systémové administratívne práce.
- [kniha, ENG] — týždenný prehľad noviniek zo sveta DevOps.
- [Telegram, RUS] — novinky z odvetvia, oznámenia konferencií, odkazy na nové zaujímavé články a knihy.
- [Telegram, RUS] — rusky hovoriaci chat, kde môžete požiadať o radu a pomoc pri konfiguráciách.
- Devops.com — veľký medzinárodný web s článkami, webinármi, podcastmi a stĺpcami od najväčších firiem v priemysle.
- — rusky hovoriace spoločenstvo inžinierov DevOps a ich podporovateľov.
- Najlepšie knihy o jazyku, ktorý budete používať na vývoj.
Kde sa učiť na DevOps
Štruktúrované poznatky môžete získať na kurze „“ v Netológii. Naučíte sa celý cyklus metodológie:
- Zistíte, ako analyzovať kód a rýchlo používať nástroje na správu verzií.
- Porozumiete najlepším praktikám kontinuálnej integrácie, testovania a zostavovania.
- Naučíte sa spravovať zmeny v aplikáciách a automatizovať ich.
- Na praktickej stránke sa naučíte nástroje na konfiguráciu a správu.
- Zvyknete si hneď vyberať a nastavovať potrebné služby na monitorovanie.
Ako bonus dostanete kurz programovania v Pythone — budete riešiť úlohy ešte rýchlejšie a jednoduchšie. Všetko prakticky — používame AWS, GCP alebo Azure.
To je dosť na to, aby sa z začiatočníka inžiniera alebo systémového administrátora stal žiadaný DevOps a príjemne si zvýšil svoju cenu na trhu práce.
Zdroj: habr.com
