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

Целевая аудитория

Jeste li programer koji svoju karijeru želi usmjeriti prema naprednijem DevOps modelu? Jeste li klasični Ops inženjer i željeli biste dobiti ideju 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 započeti?
Ako da, onda čitajte dalje da biste saznali kako možete postati DevOps inženjer srednje razine u šest mjeseci! Konačno, ako ste već mnogo godina uključeni u DevOps, i dalje ćete izvući mnogo iz ove serije članaka kako biste saznali gdje je industrija integracije i automatizacije trenutno i kamo ide.

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

Što je ovo uopće?

Prvo, što je DevOps? Možete guglati definicije i probijati se kroz sve riječi, ali znajte da je većina definicija samo gomila 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 što znači ova kratica? To znači da su tradicionalno programeri (ljudi koji stvaraju softver) bili motivirani da rade svoj posao poticajima koji su značajno drugačiji od onih za operacije (ljudi koji upravljaju softverom). Na primjer, kao programer, želim stvoriti što više novih značajki što je brže moguće. Uostalom, to je moj posao i to klijenti traže! Međutim, ako sam Ops osoba, onda trebam što manje novih značajki, jer svaka nova značajka je promjena, a svaka promjena je puna problema. Kao rezultat ove neusklađenosti poticaja, rođen je DevOps.

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

Čistunci će vam reći da ne postoji takva stvar kao što je "DevOps inženjer". "DevOps je kultura, a ne uloga", reći će vam. Naravno, s tehničke točke gledišta oni su u pravu, ali, kao što je čest slučaj, pojam je izmakao kontroli. Osim izvornog značenja, DevOps inženjer je nešto poput "sistemskog inženjera 2.0." Drugim riječima, on je netko tko razumije životni ciklus razvoja softvera i stvara 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 u konačnici znači stvaranje digitalnih cjevovoda koji preuzimaju kod s prijenosnog računala programera i pretvaraju ga u prihod od upotrebe konačnog proizvoda, to je ono o čemu se radi. Imajte na umu da je odabir DevOps karijere prilično visoko kompenziran financijskim nagradama, pri čemu gotovo svaka tvrtka ili "radi DevOps" ili tvrdi da je takva. Bez obzira na to gdje se te tvrtke nalaze, sveukupne prilike za posao kao DevOps prilično su velike i nude "zabavno" i smisleno zapošljavanje u godinama koje dolaze.

Međutim, budite oprezni s tvrtkama koje zapošljavaju "DevOps tim" ili "DevOps odjel". Strogo govoreći, takve stvari ne bi trebale postojati, jer u konačnici DevOps je još uvijek kultura i način isporuke softvera, a ne zapošljavanje novog tima ili stvaranje odjela s lijepo ime.

odricanje

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

Jednostavno rečeno, ova fraza znači da je potrebno mnogo godina iskustva u kombinaciji sa solidnim razumijevanjem alata da bi se u konačnici postao istinski učinkovit stariji DevOps praktičar. I, nažalost, ne postoji prečac do ostvarenja cilja. Dakle, ovo nije pokušaj izigravanja sustava - mislim da nije moguće pretvarati se da ste stariji DevOps inženjer s nekoliko mjeseci iskustva u industriji. Postizanje dobrog razumijevanja alata i metodologija koje se brzo mijenjaju zahtijeva godine iskustva i tu se ne može zaobići. Međutim, postoji gotovo dosljedan (moderan, ako hoćete) izbornik alata i koncepata koje koristi većina tvrtki, a to je ono o čemu ćemo govoriti.

Opet, alati se razlikuju od vještina, pa dok učite alate, pobrinite se da ne zanemarujete svoje vještine (anketiranje, umrežavanje, pisana komunikacija, rješavanje problema itd.). Ono što je najvažnije, nemojte izgubiti iz vida ono što želimo pronaći - način za stvaranje potpuno automatiziranog digitalnog cjevovoda koji uzima ideje i pretvara ih u dijelove koda koji generiraju prihod. Ovo je najvažniji zaključak iz cijelog ovog članka!

Dosta brbljanja, kada mogu početi?

Ispod je plan DevOps Fundamental Knowledge. Nakon što ste savladali sve što je tamo prikazano, možete se sigurno i pošteno 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 karta predstavlja moju (i vjerojatno većinu ljudi koji rade u ovom prostoru) ideju o tome što bi kompetentni DevOps inženjer trebao znati. No, ovo je samo mišljenje i naravno da će biti onih koji se s njim ne slažu. Ovo je u redu! Ovdje ne težimo savršenstvu, težimo čvrstim temeljima na kojima zapravo možemo graditi.

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

Iskreno, temeljni gornji sloj je nešto što ćete morati proučavati zauvijek. OS Linux je vrlo složen i potrebne su godine da se svlada. Python zahtijeva stalnu praksu kako bi ostao u tijeku. AWS se razvija tako brzo da će ono što danas znate biti dio vašeg cjelokupnog portfelja znanja tek za godinu dana. Nakon što naučite osnove, prijeđite na stvarni skup vještina. Imajte na umu da postoji ukupno 6 plavih stupaca (Konfiguracija, Verzija, Pakiranje, Implementacija, Pokretanje, Praćenje), jedan po mjesecu studija.

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

Vi ste, naravno, primijetili izostanak važne faze u našem šestomjesečnom planu - testiranja. Namjerno ga nisam uključio u plan jer pisanje modula, integracijskih i prihvatljivih testova nije lako i tradicionalno pada na pleća programera. A preskakanje faze "testiranja" objašnjava se činjenicom da je cilj ove mape puta svladati osnovne vještine i alate što je brže moguće. Nedostatak iskustva u testiranju, prema autoru, samo je manja prepreka ispravnom korištenju DevOps-a.

Također, upamtite da ovdje ne učimo hrpu nepovezanog tehničkog brbljanja, već razumijevanje alata koji zajedno stvaraju jasnu priču. Ova priča govori o automatizaciji procesa od kraja do kraja — digitalnoj montažnoj liniji koja pomiče dijelove poput montažne trake. Ne želite naučiti hrpu alata i stalno stajati! DevOps alati se brzo mijenjaju, ali koncepti se mijenjaju puno rjeđe. Stoga biste trebali nastojati koristiti alate kao zamjenu za podučavanje za koncepte više razine.

U redu, kopajmo malo dublje!

Temeljno znanje

Ispod gornje stepenice na kojoj piše Foundation, možete vidjeti vještine koje bi svaki DevOps inženjer trebao savladati. Ove vještine su pouzdano rukovanje s tri stupa industrije, a to su: operativni sustav, programski jezik i javni oblak. Ove stvari nisu nešto što možete brzo naučiti i krenuti dalje. Ove vještine potrebno je stalno poboljšavati i savladavati kako biste bili na čelu industrije i relevantni za profesionalno okruženje oko vas. Prođimo ih jednu po jednu.

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

Iskreno, najbolji način da to učinite je jednostavno instalirati Linux (Fedora ili Ubuntu) kod kuće i koristiti ga što je više moguće. Naravno, puno ćete stvari pokvariti, zapeti u radnim procesima, sve ćete morati popraviti, ali naučit ćete Linux!

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

Usput, RedHat varijante su češće u Sjevernoj Americi, tako da ima smisla započeti s Fedora ili CentOS. Ako se pitate trebate li kupiti KDE ili Gnome izdanje, odaberite KDE. To koristi i sam Linus Torvalds.

Python je dominantan back-end jezik ovih dana. Jednostavan je za početak i naširoko se koristi. Python je vrlo čest u području umjetne inteligencije i strojnog učenja, pa ako ikada poželite prijeći na neko drugo vruće područje, bit ćete potpuno 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 načina na koji funkcionira javni oblak. A ako želite saznati više o tome, pogledajte Amazon Web Services. Vodeći je igrač u ovom području usluga i nudi najbogatiji set radnih alata.

Je li moguće umjesto toga početi s Google Cloudom ili Azureom? Naravno, možete! No, prisjećajući se posljednje financijske krize, treba napomenuti da je AWS najsigurnija opcija, barem u 2018., jer vam omogućuje da besplatno registrirate račun i počnete istraživati ​​mogućnosti usluga u oblaku. Dodatno, AWS konzola pruža korisniku jednostavan i jasan izbornik 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

Započnite sa sljedećim: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastično balansiranje opterećenja pod kišobranom EC2) i sigurnosnom grupom. Ove su stvari dovoljne za početak, a svaka moderna tvrtka temeljena na oblaku koristi ove alate prilično aktivno. AWS-ovo vlastito mjesto za obuku dobro je mjesto za početak.

Preporučujem da provedete 20-30 minuta svaki dan učeći i vježbajući s jezikom Python, operativnim sustavom Linux i AWS cloud uslugom uz ostale stvari koje ćete morati naučiti. Sveukupno, vjerujem da je provođenje sat vremena dnevno, pet puta tjedno dovoljno za razumijevanje DevOps industrije za 6 mjeseci ili manje. Postoji ukupno 6 glavnih komponenti, od kojih svaka odgovara jednomjesečnom treningu. To je sve što vam je potrebno za stjecanje osnovnog znanja.
U sljedećim člancima pogledat ćemo sljedeću razinu složenosti: kako u potpunosti automatizirati konfiguraciju, izradu verzija, pakiranje, implementaciju, pokretanje i nadzor softvera.

Nastavak uskoro...

Neki oglasi 🙂

Hvala što ste ostali s nama. Sviđaju li vam se naši članci? Želite li vidjeti više zanimljivog sadržaja? Podržite nas narudžbom ili preporukom prijateljima, cloud VPS za programere od 4.99 USD, jedinstveni analog poslužitelja početne razine, koji smo izmislili za vas: Cijela istina o VPS (KVM) E5-2697 v3 (6 jezgri) 10GB DDR4 480GB SSD 1Gbps od 19 USD ili kako podijeliti poslužitelj? (dostupno s RAID1 i RAID10, do 24 jezgre i do 40 GB DDR4).

Dell R730xd 2 puta jeftiniji u Equinix Tier IV podatkovnom 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 Nizozemskoj! Dell R420 - 2x E5-2430 2.2 Ghz 6C 128 GB DDR3 2x960 GB SSD 1 Gbps 100 TB - od 99 USD! Pročitaj o Kako izgraditi infrastrukturu corp. klase uz korištenje Dell R730xd E5-2650 v4 servera vrijednih 9000 eura za lipu?

Izvor: www.habr.com

Dodajte komentar