Kako postati inženir DevOps v šestih mesecih ali celo hitreje. 1. del. Uvod

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

Ali ste razvijalec, ki želi svojo kariero usmeriti k naprednejšemu modelu DevOps? Ste klasični inženir operacij in bi radi dobili predstavo o tem, kaj pomeni DevOps? Ali pa niste ne eno ne drugo in po tem, ko ste nekaj časa preživeli v IT, želite zamenjati kariero in nimate pojma, kje začeti?
Če je odgovor pritrdilen, potem berite naprej, če želite izvedeti, kako lahko v šestih mesecih postanete inženir DevOps na srednji ravni! Nazadnje, če ste že več let vključeni v DevOps, boste iz te serije člankov še vedno veliko pridobili, če želite izvedeti, kje je trenutno industrija integracije in avtomatizacije in kam gre.

Kako postati inženir DevOps v šestih mesecih ali celo hitreje. 1. del. Uvod

Kaj je to sploh?

Prvič, kaj je DevOps? Lahko poguglate definicije in se prebijete skozi vse besedičenje, vendar vedite, da je večina definicij le zmešnjava besed, zavitih v poenostavljeno obliko. Zato vam bom podal povzetek vseh teh definicij: DevOps je metoda zagotavljanja programske opreme, pri kateri si glavobol in odgovornost razdelita vsi vpleteni. To je vse.

V redu, ampak kaj pomeni ta kratica? To pomeni, da so bili razvijalci (ljudje, ki ustvarjajo programsko opremo) tradicionalno motivirani za opravljanje svojega dela s spodbudami, ki so bistveno drugačne od spodbud za operacije (ljudje, ki upravljajo programsko opremo). Na primer, kot razvijalec želim čim hitreje ustvariti čim več novih funkcij. Navsezadnje je to moje delo in to zahtevajo stranke! Vendar, če sem oseba Ops, potem potrebujem čim manj novih funkcij, ker je vsaka nova funkcija sprememba in vsaka sprememba je polna težav. Kot rezultat te neusklajenosti spodbud se je rodil DevOps.

DevOps poskuša združiti razvoj in operacije (integracija in avtomatizacija) v eno skupino. Zamisel je, da si bo ena skupina zdaj delila tako bolečino kot odgovornost (in verjetno tudi nagrade) gradnje, uvajanja in ustvarjanja prihodkov s programsko opremo, usmerjeno v stranke.

Puristi vam bodo povedali, da "inženir DevOps" ne obstaja. "DevOps je kultura, ne vloga," vam bodo rekli. S tehničnega vidika imajo seveda prav, a kot je pogosto je izraz ušel izpod nadzora Poleg prvotnega pomena je inženir DevOps nekaj podobnega "sistemskemu inženirju 2.0." Z drugimi besedami, je nekdo, ki razume življenjski cikel razvoja programske opreme in ustvarja orodja in procese za razvoj programske opreme. za reševanje klasičnih operativnih problemov.

Kako postati inženir DevOps v šestih mesecih ali celo hitreje. 1. del. Uvod

DevOps navsezadnje pomeni ustvarjanje digitalnih cevovodov, ki vzamejo kodo iz prenosnika razvijalca in jo spremenijo v prihodek od uporabe končnega izdelka, to je bistvo. Upoštevajte, da je izbira kariere DevOps dokaj visoko kompenzirana s finančnimi nagradami, pri čemer skoraj vsako podjetje bodisi »izvaja DevOps« bodisi trdi, da je to. Ne glede na to, kje se ta podjetja nahajajo, so splošne zaposlitvene možnosti kot DevOps precej visoke in ponujajo "zabavno" in smiselno zaposlitev še vrsto let.

Vendar bodite previdni pri podjetjih, ki najamejo »ekipo DevOps« ali »oddelek DevOps«. Strogo gledano, take stvari ne bi smele obstajati, ker je navsezadnje DevOps še vedno kultura in način zagotavljanja programske opreme, ne zaposlovanja nove ekipe ali ustvarjanja oddelka z lepo ime.

Odpoved odgovornosti

Zdaj pa za trenutek odložimo kozarec Kool-Aida in pomislimo na naslednje. Ste že slišali star pregovor "ni mlajših inženirjev DevOps?" Če ne, potem vedite, da je to priljubljen trop na Redditu in StackOverflowu. Toda kaj to pomeni?

Preprosto povedano, ta besedna zveza pomeni, da so potrebne dolgoletne izkušnje v kombinaciji s trdnim razumevanjem orodij, da na koncu postanete resnično učinkovit starejši izvajalec DevOps. In na žalost ni bližnjice do cilja. To torej ni poskus zavajanja sistema – mislim, da se dejansko ni mogoče pretvarjati, da ste višji inženir DevOps z nekajmesečnimi izkušnjami v industriji. Doseganje trdnega razumevanja hitro spreminjajočih se orodij in metodologij zahteva dolgoletne izkušnje, ki jih ni mogoče zaobiti. Vendar pa obstaja skoraj dosleden (moden, če hočete) meni orodij in konceptov, ki jih uporablja večina podjetij, in o tem bomo govorili.

Orodja se spet razlikujejo od veščin, zato se med učenjem orodij prepričajte, da ne zanemarjate svojih veščin (anketiranje, mreženje, pisna komunikacija, odpravljanje težav itd.). Najpomembneje je, da ne izgubimo izpred oči tistega, kar želimo najti – način za ustvarjanje popolnoma avtomatiziranega digitalnega cevovoda, ki sprejema ideje in jih spreminja v dele kode, ki ustvarjajo dohodek. To je najpomembnejša ugotovitev celotnega članka!

Dovolj klepetanja, kdaj lahko začnem?

Spodaj je načrt temeljnega znanja DevOps. Ko obvladate vse, kar je tam prikazano, se lahko varno in pošteno imenujete DevOps inženir! Ali pa inženir oblaka, če vam ni všeč ime "DevOps".

Kako postati inženir DevOps v šestih mesecih ali celo hitreje. 1. del. Uvod

Ta zemljevid predstavlja mojo (in verjetno večino ljudi, ki delajo v tem prostoru) predstavo o tem, kaj bi moral vedeti kompetenten inženir DevOps. Vendar je to le mnenje in seveda se bodo našli tisti, ki se z njim ne bodo strinjali. To je v redu! Tu ne stremimo k popolnosti, stremimo k trdnim temeljem, na katerih lahko dejansko gradimo.

To pot morate prehoditi postopoma, plast za plastjo. Začnimo (in nadaljujmo!) z osnovami, tako da najprej spoznamo elemente v modri barvi – Linux, Python in AWS. Nato, če čas ali povpraševanje na trgu dela dopušča, naredite vijolične stvari – Golang in Google Cloud.

Iskreno povedano, temeljni zgornji sloj je nekaj, kar boste morali preučevati za vedno. OS Linux je zelo zapleten in potrebuje leta, da ga obvladate. Python zahteva nenehno prakso, da ostane na tekočem. AWS se razvija tako hitro, da bo to, kar veste danes, del vašega celotnega portfelja znanja šele čez eno leto. Ko se naučite osnov, nadaljujte z dejanskim naborom spretnosti. Upoštevajte, da obstaja skupno 6 modrih stolpcev (Konfiguracija, Različica, Pakiranje, Uvajanje, Zagon, Spremljanje), en na mesec študija.

Kako postati inženir DevOps v šestih mesecih ali celo hitreje. 1. del. Uvod

Seveda ste opazili odsotnost pomembne faze v našem šestmesečnem načrtu - testiranja. Namenoma ga nisem vključil v načrt, ker pisanje modula, integracijskih in sprejemnih testov ni enostavno in je tradicionalno na ramenih razvijalcev. In preskok faze "testiranja" je razložen z dejstvom, da je cilj tega načrta čim hitreje obvladati osnovne veščine in orodja. Pomanjkanje izkušenj s testiranjem je po mnenju avtorja le manjša ovira za pravilno uporabo DevOps.

Zapomnite si tudi, da se tu ne učimo celega kupa nepovezanih tehničnih blebetanja, temveč razumevanja orodij, ki skupaj ustvarijo jasno zgodbo. Ta zgodba govori o avtomatizaciji procesov od konca do konca – digitalni tekoči trak, ki premika bitove kot tekoči trak. Nočete se naučiti kup orodij in se kar naprej ustavljati! Orodja DevOps se hitro spreminjajo, koncepti pa veliko manj pogosto. Zato si morate prizadevati za uporabo orodij kot posrednikov za poučevanje konceptov višje ravni.

V redu, poglejmo malo globlje!

Temeljno znanje

Pod zgornjim korakom z napisom Foundation si lahko ogledate veščine, ki bi jih moral obvladati vsak inženir DevOps. Te veščine so samozavestno upravljanje treh stebrov industrije, ki so: operacijski sistem, programski jezik in javni oblak. Te stvari niso nekaj, česar se lahko hitro naučiš in greš naprej. Te veščine je treba nenehno izboljševati in obvladovati, da bi bili v ospredju panoge in ustrezni za poklicno okolje okoli vas. Pojdimo skozi njih enega za drugim.

Linux je tam, kjer vse deluje. Ali ste lahko izjemen izvajalec DevOps, hkrati pa popolnoma ostanete v Microsoftovem ekosistemu? Seveda lahko! Noben zakon ne narekuje, da uporabljate le Linux. Vendar ne pozabite, da kljub dejstvu, da je vse stvari Linuxa mogoče narediti v sistemu Windows, se to tam zgodi veliko bolj boleče in z manj funkcionalnosti. Na tej točki je varno domnevati, da brez poznavanja Linuxa ni mogoče postati pravi strokovnjak za DevOps, zato je Linux nekaj, kar bi morali preučiti in se naučiti.

Iskreno povedano, najboljši način za to je, da preprosto namestite Linux (Fedora ali Ubuntu) doma in ga uporabljate čim več. Seveda boš marsikaj pokvaril, zataknil se boš v delovnih procesih, vse boš moral popraviti, ampak naučil se boš Linuxa!

Kako postati inženir DevOps v šestih mesecih ali celo hitreje. 1. del. Uvod

Mimogrede, različice RedHat so pogostejše v Severni Ameriki, zato je smiselno začeti s Fedoro ali CentOS. Če se sprašujete, ali kupiti izdajo KDE ali Gnome, izberite KDE. To uporablja sam Linus Torvalds.

Python je dandanes prevladujoči zaledni jezik. Z njim je enostavno začeti in se pogosto uporablja. Python je zelo razširjen na področju umetne inteligence in strojnega učenja, tako da, če se boste kdaj želeli preseliti na drugo vroče področje, boste popolnoma pripravljeni.

Kako postati inženir DevOps v šestih mesecih ali celo hitreje. 1. del. Uvod

Spletne storitve Amazon: spet je nemogoče postati izkušen strokovnjak za DevOps brez dobrega razumevanja delovanja javnega oblaka. In če želite izvedeti več o tem, poglejte Amazon Web Services. Je vodilni igralec na tem področju storitev in ponuja najbogatejši nabor delovnih orodij.

Ali je namesto tega mogoče začeti z Google Cloud ali Azure? Seveda lahko! A ob spominu na zadnjo finančno krizo je treba poudariti, da je AWS najvarnejša možnost, vsaj v letu 2018, saj omogoča brezplačno registracijo računa in začetek raziskovanja možnosti oblačnih storitev. Poleg tega konzola AWS ponuja uporabniku preprost in jasen meni za izbiro. Dobra novica je, da vam za to ni treba poznati vseh Amazonovih tehnologij.

Kako postati inženir DevOps v šestih mesecih ali celo hitreje. 1. del. Uvod

Začnite z naslednjim: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastično uravnoteženje obremenitve pod okriljem EC2) in varnostno skupino. Te stvari so dovolj za začetek in vsako sodobno podjetje, ki temelji na oblaku, ta orodja uporablja precej aktivno. Lastno spletno mesto za usposabljanje AWS je dobro mesto za začetek.

Priporočam, da vsak dan porabite 20-30 minut za učenje in vajo z jezikom Python, operacijskim sistemom Linux in storitvijo v oblaku AWS poleg drugih stvari, ki se jih boste morali naučiti. Na splošno verjamem, da je poraba ene ure na dan, petkrat na teden dovolj za razumevanje industrije DevOps v 6 mesecih ali manj. Skupaj je 6 glavnih komponent, od katerih vsaka ustreza enemu mesecu usposabljanja. To je vse, kar potrebujete za pridobitev osnovnega znanja.
V naslednjih člankih si bomo ogledali naslednjo stopnjo kompleksnosti: kako popolnoma avtomatizirati konfiguracijo, ustvarjanje različic, pakiranje, uvajanje, izvajanje in spremljanje programske opreme.

Nadaljevanje kmalu ...

Nekaj ​​oglasov 🙂

Hvala, ker ste ostali z nami. So vam všeč naši članki? Želite videti več zanimivih vsebin? Podprite nas tako, da oddate naročilo ali priporočite prijateljem, oblak VPS za razvijalce od 4.99 $, edinstven analog začetnih strežnikov, ki smo ga izumili za vas: Vsa resnica o VPS (KVM) E5-2697 v3 (6 jeder) 10 GB DDR4 480 GB SSD 1 Gbps od 19 USD ali kako deliti strežnik? (na voljo z RAID1 in RAID10, do 24 jeder in do 40 GB DDR4).

Dell R730xd dvakrat cenejši v podatkovnem centru Equinix Tier IV v Amsterdamu? Samo tukaj 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6 GHz 14C 64 GB DDR4 4 x 960 GB SSD 1 Gbps 100 TV od 199 $ na Nizozemskem! Dell R420 - 2x E5-2430 2.2 Ghz 6C 128 GB DDR3 2x960 GB SSD 1 Gbps 100 TB - od 99 $! Preberite o Kako zgraditi infrastrukturo Corp. razreda z uporabo strežnikov Dell R730xd E5-2650 v4 v vrednosti 9000 evrov za drobiž?

Vir: www.habr.com

Dodaj komentar