Kuidas saada DevOpsi inseneriks kuue kuuga või isegi kiiremini. Osa 1. Sissejuhatus

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

Kas olete arendaja, kes soovib oma karjääri pöörata arenenuma DevOpsi mudeli poole? Kas olete klassikaline Opsi insener ja soovite saada aimu, mida DevOps tähendab? Või pole te kumbki ja soovite pärast mõnda aega IT-alal töötamist muuta karjääri ega tea, kust alustada?
Kui jah, siis lugege edasi, et teada saada, kuidas saate kuue kuuga kesktasemel DevOpsi inseneriks! Lõpuks, kui olete DevOpsiga seotud olnud juba aastaid, saate sellest artiklisarjast siiski palju kasu, et teada saada, kus integratsiooni- ja automatiseerimistööstus praegu on ja kuhu see liigub.

Kuidas saada DevOpsi inseneriks kuue kuuga või isegi kiiremini. Osa 1. Sissejuhatus

Milles asi?

Esiteks, mis on DevOps? Saate Google'is määrata definitsioone ja kahlata läbi kogu sõnasõna, kuid teadke, et enamik definitsioone on lihtsalt sõnade segadus, mis on koondatud sujuvasse vormi. Seetõttu annan teile kõigi nende definitsioonide kokkuvõtte: DevOps on tarkvara tarnimise meetod, mille puhul peavalu ja vastutus on jagatud kõigi asjaosaliste vahel. See on kõik.

Olgu, aga mida see lühend tähendab? See tähendab, et traditsiooniliselt on arendajaid (tarkvara loovaid inimesi) motiveerinud oma tööd tegema stiimulid, mis erinevad oluliselt operatsioonide (tarkvara haldavate inimeste) omadest. Näiteks tahan arendajana luua võimalikult palju uusi funktsioone. See on ju minu töö ja seda nõuavad kliendid! Kui aga olen Ops-i inimene, siis vajan ma võimalikult vähe uusi funktsioone, sest iga uus funktsioon on muutus ja iga muudatus on täis probleeme. Selle stiimulite ebaühtluse tulemusena sündis DevOps.

DevOps püüab ühendada arenduse ja toimingud (integreerimine ja automatiseerimine) ühte rühma. Idee seisneb selles, et üks rühm jagab nüüd nii valu kui ka vastutust (ja tõenäolisi hüvesid) klientidele suunatud tarkvara loomise, juurutamise ja tulu teenimisega.

Puristid ütlevad teile, et sellist asja nagu "DevOpsi insener" pole olemas. "DevOps on kultuur, mitte roll," ütlevad nad teile. Tehnilisest vaatenurgast on neil muidugi õigus, kuid nagu on sageli on termin käest ära läinud. Lisaks algsele tähendusele on DevOpsi insener midagi sellist nagu "süsteemiinsener 2.0". Teisisõnu on ta keegi, kes mõistab tarkvaraarenduse elutsüklit ning loob tarkvaraarenduse tööriistu ja protsesse. klassikaliste tööülesannete lahendamiseks.

Kuidas saada DevOpsi inseneriks kuue kuuga või isegi kiiremini. Osa 1. Sissejuhatus

DevOps tähendab lõppkokkuvõttes digitaalsete torujuhtmete loomist, mis võtavad arendaja sülearvutist koodi ja muudavad selle lõpptoote kasutamisest saadavaks tuluks – selles on asi. Pange tähele, et DevOpsi karjääri valimine on üsna kõrgelt kompenseeritud rahaliste hüvedega, peaaegu iga ettevõte kas "teeb ​​DevOpsi" või väidab end olevat. Olenemata nende ettevõtete asukohast on üldised töövõimalused nagu DevOps üsna suured ja pakuvad "lõbusat" ja sisukat tööd paljudeks aastateks.

Kuid olge ettevaatlik ettevõtetega, kes palkavad "DevOpsi meeskonda" või "DevOpsi osakonda". Rangelt võttes ei tohiks selliseid asju eksisteerida, sest lõppkokkuvõttes on DevOps ikkagi kultuur ja viis tarkvara tarnimiseks, mitte uue meeskonna komplekteerimiseks ega osakonna loomiseks. väljamõeldud nimi.

Vastutusest loobumine

Nüüd paneme Kool-Aidi klaasi korraks kõrvale ja mõtleme järgnevale. Kas olete kuulnud vana kõnekäändu "pole olemas nooremaid DevOpsi insenere?" Kui ei, siis teadke, et see on Redditis ja StackOverflow's populaarne troop. Aga mida see tähendab?

Lihtsamalt öeldes tähendab see fraas, et tõeliselt tõhusaks Senior DevOpsi praktikuks saamiseks on vaja aastatepikkust kogemust koos tööriistade hea mõistmisega. Ja kahjuks pole otseteed eesmärgi saavutamiseks. Nii et see ei ole katse süsteemiga mängida – ma ei usu, et tegelikult on võimalik teeselda, et olen DevOpsi vaneminsener, kellel on selles valdkonnas mõnekuuline kogemus. Kiirelt muutuvatest tööriistadest ja metoodikatest kindla arusaamise saavutamine nõuab aastatepikkust kogemust ja sellest ei saa kuidagi mööda. Siiski on olemas peaaegu ühtlane (moodne, kui soovite) tööriistade ja kontseptsioonide menüü, mida enamik ettevõtteid kasutab, ja sellest me räägimegi.

Jällegi, tööriistad erinevad oskustest, nii et tööriistu õppides veenduge, et te ei jätaks oma oskusi (küsitlused, võrgustike loomine, kirjalik suhtlus, tõrkeotsing jne) tähelepanuta. Kõige tähtsam on see, et ärge kaotage silmist, mida me tahame leida – viisi, kuidas luua täielikult automatiseeritud digitaalne torujuhe, mis võtab ideid ja muudab need tulu teenivateks kooditükkideks. See on kogu selle artikli kõige olulisem järeldus!

Aitab lobisemisest, millal saan alustada?

Allpool on DevOpsi põhiteadmiste teekaart. Olles omandanud kõik seal kujutatu, võite end julgelt ja ausalt nimetada DevOpsi inseneriks! Või pilveinsener, kui teile nimi "DevOps" ei meeldi.

Kuidas saada DevOpsi inseneriks kuue kuuga või isegi kiiremini. Osa 1. Sissejuhatus

See kaart esindab minu (ja ilmselt enamiku selles ruumis töötavate inimeste) ettekujutust sellest, mida pädev DevOpsi insener peaks teadma. See on aga vaid arvamus ja loomulikult leidub ka neid, kes sellega ei nõustu. See sobib! Me ei püüdle siin täiuslikkuse poole, me püüdleme kindla vundamendi poole, millele saame tegelikult ehitada.

Seda teed tuleb läbida järk-järgult, kiht-kihi haaval. Alustame (ja jätkame!) põhitõdedega, õppides esmalt tundma siniseid elemente – Linux, Python ja AWS. Seejärel, kui aeg või tööturu nõudlus lubab, tehke lillat värvi – Golang ja Google Cloud.

Ausalt öeldes on peamine pealmine kiht midagi, mida peate igavesti õppima. OS Linux on väga keeruline ja selle valdamine võtab aastaid. Python nõuab pidevat harjutamist, et olla kursis. AWS areneb nii kiiresti, et see, mida te täna teate, on teie üldise teadmiste portfelli osa alles aasta pärast. Kui olete põhitõed omandanud, liikuge edasi tegeliku oskuste kogumi juurde. Pange tähele, et seal on kokku 6 sinist veergu (konfiguratsioon, versioon, pakkimine, juurutamine, käivitamine, jälgimine), üks iga õppekuu ​​kohta.

Kuidas saada DevOpsi inseneriks kuue kuuga või isegi kiiremini. Osa 1. Sissejuhatus

Muidugi märkasite, et meie kuuekuulises protsessis puudub oluline etapp - testimine. Jätsin seda teadlikult teekaardile lisamata, sest mooduli, integratsiooni- ja vastuvõtutestide kirjutamine ei ole lihtne ja langeb traditsiooniliselt arendajate õlgadele. Ja "testimise" etapi vahelejätmine on seletatav asjaoluga, et selle tegevuskava eesmärk on omandada põhioskused ja tööriistad võimalikult kiiresti. Testimiskogemuse puudumine on autori sõnul vaid väike takistus DevOpsi õigel kasutamisel.

Samuti pidage meeles, et me ei õpi siin tervet hunnikut mitteseotud tehnilist loba, vaid pigem arusaamist tööriistadest, mis koos selge loo loovad. See lugu räägib täielikust protsesside automatiseerimisest – digitaalsest koosteliinist, mis liigutab bitte nagu konveieriliin. Sa ei taha õppida hunnikut tööriistu ja peatuda! DevOpsi tööriistad muutuvad kiiresti, kuid kontseptsioonid muutuvad palju harvemini. Seetõttu peaksite püüdma kasutada tööriistu kõrgema taseme mõistete õpetamise proksidena.

Olgu, kaevame natuke sügavamale!

Fundamentaalsed teadmised

Ülemise sammu all, mis ütleb Foundation, näete oskusi, mida iga DevOpsi insener peaks valdama. Need oskused on tööstuse kolme samba enesekindel käsitlemine, milleks on operatsioonisüsteem, programmeerimiskeel ja avalik pilv. Neid asju ei saa kiiresti õppida ja edasi liikuda. Neid oskusi tuleb pidevalt täiendada ja omandada, et olla tööstusharu esirinnas ja asjakohased teid ümbritseva töökeskkonna jaoks. Vaatame need ükshaaval läbi.

Linux on koht, kus kõik töötab. Kas saate olla suurepärane DevOpsi praktik, jäädes täielikult Microsofti ökosüsteemi sisse? Muidugi saate! Ükski seadus ei näe ette, et peate kasutama ainult Linuxit. Siiski tuleb meeles pidada, et vaatamata sellele, et kõiki Linuxi asju saab teha Windowsis, toimub see seal palju valusamalt ja väiksema funktsionaalsusega. Siinkohal võib julgelt eeldada, et ilma Linuxi tundmata on võimatu saada tõeliseks DevOpsi professionaaliks, nii et Linux on midagi, mida peaksite õppima ja õppima.

Ausalt öeldes on parim viis selleks lihtsalt Linuxi (Fedora või Ubuntu) kodus installida ja seda võimalikult palju kasutada. Muidugi lõhud palju asju, jääd tööprotsessidesse kinni, pead kõike parandama, aga Linuxi õpid ära!

Kuidas saada DevOpsi inseneriks kuue kuuga või isegi kiiremini. Osa 1. Sissejuhatus

Muide, RedHati variandid on rohkem levinud Põhja-Ameerikas, seega on mõttekas alustada Fedora või CentOS-iga. Kui soovite teada, kas peaksite ostma KDE või Gnome väljaande, valige KDE. Seda kasutab Linus Torvalds ise.

Python on tänapäeval domineeriv taustakeel. Seda on lihtne alustada ja seda kasutatakse laialdaselt. Python on tehisintellekti ja masinõppe valdkonnas väga levinud, nii et kui soovite kunagi kolida mõnda teise kuuma valdkonda, olete täielikult valmis.

Kuidas saada DevOpsi inseneriks kuue kuuga või isegi kiiremini. Osa 1. Sissejuhatus

Amazon Web Services: jällegi on võimatu saada kogenud DevOpsi professionaaliks ilma avaliku pilve toimimisest kindla arusaamata. Ja kui soovite selle kohta rohkem teada saada, vaadake Amazon Web Services'i. See on selles teenustevaldkonnas juhtiv tegija ja pakub kõige rikkalikumat töövahendite komplekti.

Kas on võimalik alustada hoopis Google Cloudi või Azure'iga? Muidugi sa suudad! Viimast finantskriisi meenutades tuleb aga tõdeda, et AWS on vähemalt 2018. aastal kõige turvalisem variant, mis võimaldab tasuta konto registreerida ja pilveteenuste võimaluste uurimist alustada. Lisaks pakub AWS-konsool kasutajale lihtsat ja selget menüüd, mille vahel valida. Hea uudis on see, et selleks ei pea te tundma kõiki Amazoni tehnoloogiaid.

Kuidas saada DevOpsi inseneriks kuue kuuga või isegi kiiremini. Osa 1. Sissejuhatus

Alustage järgmistest: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastne koormuse tasakaalustamine EC2 vihmavarju all) ja turvagrupp. Nendest asjadest piisab alustamiseks ja iga kaasaegne pilvepõhine ettevõte kasutab neid tööriistu üsna aktiivselt. AWS-i enda koolitussait on hea koht alustamiseks.

Soovitan veeta iga päev 20–30 minutit Pythoni keele, Linuxi operatsioonisüsteemi ja AWS-i pilveteenuse õppimiseks ja harjutamiseks lisaks muudele asjadele, mida peate õppima. Üldiselt usun, et tunni päevas viis korda nädalas kulutamisest piisab DevOpsi tööstuse mõistmiseks 6 kuu või vähema kuu jooksul. Kokku on 6 põhikomponenti, millest igaüks vastab ühekuulisele treeningule. See on kõik, mida vajate põhiteadmiste saamiseks.
Järgmistes artiklites vaatleme järgmist keerukuse taset: kuidas täielikult automatiseerida tarkvara konfigureerimist, versioonimist, pakkimist, juurutamist, käitamist ja jälgimist.

Jätkub peagi...

Mõned reklaamid 🙂

Täname, et jäite meiega. Kas teile meeldivad meie artiklid? Kas soovite näha huvitavamat sisu? Toeta meid, esitades tellimuse või soovitades sõpradele, pilve VPS arendajatele alates 4.99 dollarist, algtaseme serverite ainulaadne analoog, mille me teie jaoks leiutasime: Kogu tõde VPS (KVM) E5-2697 v3 (6 tuuma) 10GB DDR4 480GB SSD 1Gbps kohta alates 19 dollarist või kuidas serverit jagada? (saadaval RAID1 ja RAID10, kuni 24 tuuma ja kuni 40 GB DDR4-ga).

Dell R730xd 2x odavam Amsterdami Equinixi Tier IV andmekeskuses? Ainult siin 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6 GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 telerit alates 199 dollarist Hollandis! Dell R420 – 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB – alates 99 dollarist! Millegi kohta lugema Kuidas ehitada infrastruktuuri ettevõtet. klassis koos Dell R730xd E5-2650 v4 serverite kasutusega 9000 eurot senti?

Allikas: www.habr.com

Lisa kommentaar