Kako postati DevOps inženjer za šest mjeseci ili čak brže. Dio 1. Uvod

Ciljanje publike

Jeste li programer koji želi svoju karijeru usmjeriti prema naprednijem DevOps modelu? Jeste li klasični Ops inženjer i želite da steknete predstavu o tome što DevOps znači? Ili niste ni jedno ni drugo i, nakon što ste proveli neko vrijeme radeći u IT-u, želite promijeniti karijeru i nemate pojma odakle početi?
Ako je odgovor da, onda čitajte dalje da saznate kako možete postati DevOps inženjer srednjeg nivoa za šest mjeseci! Konačno, ako ste već dugi niz godina uključeni u DevOps, i dalje ćete mnogo izvući iz ove serije članaka kako biste saznali gdje je industrija integracije i automatizacije trenutno i kuda ide.

Kako postati DevOps inženjer za šest mjeseci ili čak brže. Dio 1. Uvod

Šta je ovo uopće?

Prvo, šta je DevOps? Možete guglati definicije i probijati se kroz sve riječi, ali znajte da je većina definicija samo zbrka riječi umotanih u pojednostavljeni oblik. Stoga ću vam dati sažetak svih ovih definicija: DevOps je metoda isporuke softvera u kojoj se glavobolja i odgovornost dijele na sve uključene. To je sve.

Dobro, ali šta znači ova skraćenica? To znači da su tradicionalno, programeri (ljudi koji kreiraju softver) bili motivisani da rade svoj posao podsticajima koji su značajno drugačiji od onih u operacijama (ljudi koji upravljaju softverom). Na primjer, kao programer, želim stvoriti što više novih funkcija što je prije moguće. Uostalom, ovo je moj posao i to je ono što klijenti traže! Međutim, ako sam osoba iz Ops-a, onda mi treba što manje novih mogućnosti, jer svaka nova funkcija je promjena, a svaka promjena je bremenita problemima. Kao rezultat ove neusklađenosti poticaja, rođen je DevOps.

DevOps pokušava da kombinuje razvoj i operacije (integraciju i automatizaciju) u jednu grupu. Ideja je da će jedna grupa sada dijeliti i bol i odgovornost (i vjerovatno nagrade) izgradnje, implementacije i generiranja prihoda od softvera namijenjenog korisnicima.

Puristi će vam reći da ne postoji nešto što je „DevOps inženjer.” „DevOps je kultura, a ne uloga”, reći će vam. Naravno, sa tehničke tačke gledišta su u pravu, ali, kao što je često je to slučaj, termin je izmakao kontroli. Osim svog izvornog značenja, DevOps inženjer je nešto poput „sistemskog inženjera 2.0“. Drugim riječima, on je neko ko razumije životni ciklus razvoja softvera i kreira alate i procese za razvoj softvera. za rješavanje klasičnih operativnih problema.

Kako postati DevOps inženjer za šest mjeseci ili čak brže. Dio 1. Uvod

DevOps na kraju znači kreiranje digitalnih kanala koji preuzimaju kod sa laptopa programera i pretvaraju ga u prihod od upotrebe finalnog proizvoda, to je ono o čemu se radi. Imajte na umu da je odabir DevOps karijere prilično visoko nadoknađen finansijskim nagradama, pri čemu skoro svaka kompanija ili „radi DevOps“ ili tvrdi da je ona. Bez obzira na to gdje se ove kompanije nalaze, sveukupne mogućnosti za zapošljavanje kao DevOps su prilično velike i nude „zabavno“ i smisleno zaposlenje u godinama koje dolaze.

Međutim, budite oprezni sa kompanijama koje angažuju “DevOps tim” ili “DevOps odjel.” Strogo govoreći, takve stvari ne bi trebale postojati, jer je DevOps i dalje kultura i način isporuke softvera, a ne popunjavanje novog tima ili stvaranje odjela sa otmjeno ime.

Odricanje od odgovornosti

Sada ostavimo čašu Kool-Aida na trenutak po strani i razmislimo o sljedećem. Jeste li čuli staru poslovicu „ne postoje mlađi DevOps inženjeri?“ Ako ne, znajte da je ovo popularan trop na Redditu i StackOverflowu. Ali šta to znači?

Jednostavno rečeno, ova fraza znači da je potrebno mnogo godina iskustva u kombinaciji sa solidnim razumijevanjem alata da biste na kraju postali zaista učinkovit Senior DevOps praktičar. I, nažalost, ne postoji prečica do ostvarenja cilja. Dakle, ovo nije pokušaj igranja sistema – ne mislim da je zapravo moguće pretvarati se da ste viši DevOps inženjer sa nekoliko mjeseci iskustva u industriji. Postizanje čvrstog razumijevanja alata i metodologija koje se brzo mijenjaju zahtijeva godine iskustva i nema ga zaobići. Međutim, postoji gotovo dosljedan (modan, ako hoćete) meni alata i koncepata koje većina kompanija koristi, i o tome ćemo govoriti.

Opet, alati se razlikuju od vještina, pa dok učite alate, pazite da ne zanemarite svoje vještine (anketiranje, umrežavanje, pisana komunikacija, rješavanje problema, itd.). Najvažnije, ne gubite iz vida ono što želimo da pronađemo – način da kreiramo potpuno automatizovani digitalni kanal koji uzima ideje i pretvara ih u delove koda koji generišu prihod. Ovo je najvažniji zaključak iz cijelog ovog članka!

Dosta čavrljanja, kada mogu početi?

Ispod je mapa puta DevOps Fundamental Knowledge. Pošto ste savladali sve što je tamo prikazano, možete se sigurno i iskreno nazvati DevOps inženjerom! Ili inženjer oblaka ako vam se ne sviđa naziv "DevOps".

Kako postati DevOps inženjer za šest mjeseci ili čak brže. Dio 1. Uvod

Ova mapa predstavlja moju (i vjerovatno većinu ljudi koji rade u ovom prostoru) ideju o tome šta bi kompetentni DevOps inženjer trebao znati. Međutim, ovo je samo mišljenje i naravno da će biti onih koji se s njim ne slažu. Ovo je u redu! Mi ovdje ne težimo savršenstvu, mi težimo čvrstom temelju na kojem zapravo možemo graditi.

Ovaj put morate proći postepeno, sloj po sloj. Počnimo (i nastavimo!) s osnovama tako što ćemo prvo naučiti o elementima u plavoj boji—Linux, Python i AWS. Zatim, ako vrijeme ili potražnja na tržištu rada dozvoljavaju, uradite ljubičaste stvari - Golang i Google Cloud.

Iskreno, osnovni gornji sloj je nešto što ćete morati zauvijek proučavati. OS Linux je vrlo složen i potrebne su godine da se savlada. Python zahtijeva stalnu praksu da bi ostao aktuelan. AWS se razvija tako brzo da će ono što danas znate samo za godinu dana biti dio vašeg ukupnog portfelja znanja. Kada naučite osnove, prijeđite na stvarni skup vještina. Imajte na umu da postoji ukupno 6 plavih kolona (Konfiguracija, Verzija, Pakovanje, Implementacija, Pokretanje, Nadgledanje), jedna po mjesecu učenja.

Kako postati DevOps inženjer za šest mjeseci ili čak brže. Dio 1. Uvod

Primijetili ste, naravno, odsustvo važne faze u našem šestomjesečnom lancu – testiranja. Namjerno ga nisam uključio u mapu puta jer pisanje modula, integracijskih i testova prihvatanja nije lako i tradicionalno pada na pleća programera. A preskakanje faze „testiranja“ objašnjava se činjenicom da je cilj ove mape puta svladavanje osnovnih vještina i alata što je brže moguće. Nedostatak iskustva u testiranju, prema autoru, samo je manja prepreka pravilnoj upotrebi DevOps-a.

Također, zapamtite da ovdje ne učimo čitavu gomilu nepovezanog tehničkog brbljanja, već razumijevanje alata koji se spajaju kako bi stvorili jasnu priču. Ova priča govori o automatizaciji procesa od kraja do kraja — digitalnoj montažnoj liniji koja se pomiče poput montažne linije. Ne želite da naučite gomilu alata i nastavite da stanete! DevOps alati se brzo mijenjaju, ali se koncepti mijenjaju mnogo rjeđe. Stoga, trebali biste nastojati koristiti alate kao zamjene za podučavanje za koncepte višeg nivoa.

Ok, hajde da kopamo malo dublje!

Fundamentalno znanje

Ispod gornjeg koraka koji kaže Foundation, možete vidjeti vještine koje svaki DevOps inženjer treba da ovlada. Ove vještine su samopouzdanje u rukovanju sa tri stuba industrije, a to su: operativni sistem, programski jezik i javni oblak. Ove stvari nisu nešto što možete brzo naučiti i nastaviti dalje. Ove vještine treba stalno poboljšavati i savladavati kako biste bili na čelu industrije i relevantni za profesionalno okruženje oko vas. Idemo kroz njih jedan po jedan.

Linux je mjesto gdje sve funkcionira. Možete li biti nevjerovatan DevOps praktičar, a da pritom ostanete u potpunosti unutar Microsoftovog ekosistema? Naravno da možeš! Ne postoji zakon koji nalaže da koristite samo Linux. Međutim, imajte na umu da se unatoč činjenici da se sve Linux stvari mogu raditi u Windowsu, to tamo događa mnogo bolnije i sa manje funkcionalnosti. U ovom trenutku, sa sigurnošću se može pretpostaviti da je bez poznavanja Linuxa nemoguće postati pravi DevOps profesionalac, pa je Linux nešto što biste trebali proučavati i naučiti.

Iskreno, najbolji način da to učinite je da jednostavno instalirate Linux (Fedora ili Ubuntu) kod kuće i koristite ga što je više moguće. Naravno, pokvarićete dosta stvari, zaglavićete u radnim procesima, moraćete sve da popravite, ali ćete naučiti Linux!

Kako postati DevOps inženjer za šest mjeseci ili čak brže. Dio 1. Uvod

Inače, RedHat varijante su češće u Sjevernoj Americi, pa je logično početi sa Fedorom ili CentOS-om. Ako se pitate da li da kupite KDE ili Gnome izdanje, izaberite KDE. To je ono što sam Linus Torvalds koristi.

Python je dominantni pozadinski jezik ovih dana. Lako je započeti s njim i široko se koristi. Python je vrlo čest u području umjetne inteligencije i strojnog učenja, tako da ako ikada poželite da pređete u neko drugo vruće polje, bićete u potpunosti spremni.

Kako postati DevOps inženjer za šest mjeseci ili čak brže. Dio 1. Uvod

Amazon Web Services: Opet, nemoguće je postati iskusan DevOps profesionalac bez dobrog razumijevanja kako javni oblak funkcionira. A ako želite saznati više o tome, pogledajte Amazon Web Services. Vodeći je igrač u ovoj oblasti usluga i nudi najbogatiji set radnih alata.

Da li je moguće umjesto toga početi s Google Cloudom ili Azureom? Naravno da možete! Ali prisjećajući se posljednje finansijske krize, treba napomenuti da je AWS najsigurnija opcija, barem u 2018. godini, jer vam omogućava da besplatno registrujete nalog i počnete da istražujete mogućnosti usluga u oblaku. Osim toga, AWS konzola pruža korisniku jednostavan i jasan meni za odabir. Dobra vijest je da ne morate poznavati sve Amazonove tehnologije da biste to učinili.

Kako postati DevOps inženjer za šest mjeseci ili čak brže. Dio 1. Uvod

Počnite sa sljedećim: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing pod EC2 kišobranom) i Security Group. Ove stvari su dovoljne da započnete, a svako moderno preduzeće zasnovano na oblaku prilično aktivno koristi ove alate. AWS-ova vlastita stranica za obuku je dobro mjesto za početak.

Preporučujem vam da svaki dan provedete 20-30 minuta učeći i vježbajući s jezikom Python, Linux operativnim sistemom i AWS cloud servisom, pored ostalih stvari koje ćete morati naučiti. Sve u svemu, vjerujem da je potrošiti sat vremena dnevno, pet puta sedmično, dovoljno za razumijevanje DevOps industrije za 6 mjeseci ili manje. Postoji ukupno 6 glavnih komponenti, od kojih svaka odgovara jednom mjesecu obuke. To je sve što vam treba da steknete osnovno znanje.
U narednim člancima ćemo pogledati sljedeći nivo složenosti: kako u potpunosti automatizirati konfiguraciju, verzioniranje, pakovanje, implementaciju, pokretanje i nadzor softvera.

Nastavak vrlo brzo...

Neke reklame 🙂

Hvala vam što ste ostali s nama. Da li vam se sviđaju naši članci? Želite li vidjeti još zanimljivih sadržaja? Podržite nas naručivanjem ili preporukom prijateljima, cloud VPS za programere od 4.99 USD, jedinstveni analog servera početnog nivoa, koji smo mi izmislili za vas: Cijela istina o VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps od 19$ ili kako dijeliti server? (dostupno sa RAID1 i RAID10, do 24 jezgra i do 40GB DDR4).

Dell R730xd 2 puta jeftiniji u Equinix Tier IV data centru u Amsterdamu? Samo ovdje 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV od 199 USD u Holandiji! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - od 99 USD! Pročitajte o Kako izgraditi infrastrukturnu kompaniju. klase uz korišćenje Dell R730xd E5-2650 v4 servera u vrednosti od 9000 evra za peni?

izvor: www.habr.com

Dodajte komentar