Sihtgrupp
Oled arendaja, kes soovib oma karjääri suunata parema DevOpsi mudeli poole? Oled klassikaline Ops-insener ja tahaksid aru saada, mida DevOps tähendab? Või ei ole sa kumbki neist ja oled IT-tehnoloogiate valdkonnas töötanud, kuid soovid tööd vahetada ega tea, kust alustada?
Kui jah, siis loe edasi, et teada saada, kuidas saada keskastme DevOps-inseneriks kuue kuuga! Lõpuks, kui oled juba aastaid DevOpsiga tegelenud, suudad samuti palju kasulikku selle artiklite tsükli jooksul omandada ning näha, kus on liidese ja automatiseerimise valdkond hetkel ja kuhu see edasi areneb.

Mis see siis on?
Esiteks, mis on DevOps? Sa võid otsida defineeringuid ja läbida kogu selle sõnalise müra, kuid tea, et enamik defineeringutest on lihtsalt sõnakuhila, mis on vormitud sujuvaks. Seetõttu toon teile kokkuvõtte: DevOps on tarkvaraarenduse meetod, kus valu ja vastutus jagatakse kõigi osaliste vahel. Ja see ongi kõik.
Aga mis see lühend ikkagi tähendab? See tähendab, et traditsiooniliselt on arendajad (need, kes loovad tarkvara) oma töös toimetanud stiimulite järgi, mis on oluliselt erinevad Operations'i (operatsiooniinimeste, ehk nende, kes haldavad tarkvara) stiimulitest. Näiteks, kui olen arendaja, tahan ma võimalikult kiiresti luua võimalikult palju uusi funktsioone. Lõppude lõpuks, see on minu töö ja just seda kliendid nõuavad! Kuid kui olen Ops-isik, siis soovin ma võimalikult vähe uusi funktsioone, kuna iga uus funktsioon on muudatus ja iga muudatus toob kaasa võimalikke tõrkeid. Seega, just sellest stiimulite lahknevusest sündis DevOps.
DevOps püüab ühendama arenduse ja operatsioonid (integreerimise ja automatiseerimise) ühte rühma. Idee on, et nüüd jagab üks grupp nii valu kui ka vastutust (ja tõenäoliselt ka preemiat) tarkvara loomise, juurutamise ja tulude teenimise eest, mis on suunatud kliendile.
Püiristid ütlevad teile, et ei eksisteeri sellist asja nagu "DevOps insener". "DevOps on kultuur, mitte roll", ütlevad nad teile. Loomulikult on nad tehniliselt õigus, kuid nagu tihti juhtub, on see termin oma algsest tähendusest kaugemale läinud. Nii et DevOps insener on midagi nagu "süsteemitehnoloogia 2.0". Teisisõnu, see on inimene, kes mõistab tarkvara arenduse elutsüklit ja loob tarkvara arendustööriistu ning -protsesse, et lahendada klassikalisi operatiivülesandeid.

DevOps tähendab tegelikult digitaalsete torujuhtmete loomist, mis võtavad arendaja sülearvutist koodi ja muudavad selle lõppkasutaja toote kasutamisest saadavaks tuluks, see on kõik. Pange tähele, et DevOps karjääri valik on üsna kõrge tasustatusega, kuna peaaegu igas ettevõttes kas "tehakse DevOps" või väidetakse, et tehakse. Ükskõik, kus need ettevõtted asuvad, on DevOps-i töövõimalused üsna suured ja need tähendavad "toredat" ning tähendusrikka tööd järgnevateks aastateks.
Kuid olge ettevaatlikud ettevõtetega, kes palkavad "DevOps meeskonda" või "DevOps osakonda". Strikti mõistes ei tohiks sellised asjad eksisteerida, kuna DevOps on ikkagi kultuur ja tarkvara tarnimise viis, mitte uue meeskonna loomine või osakonna loomine uhke nimega.
Kohustuslik teatav osa
Ja nüüd, jätame hetkeks kõrvale klaasi "Cool-Aid" ja mõtleme sellele. Olete kuulnud vanasõna "DevOps noori insenere ei ole?" Kui ei, siis teadke, et see on populaarne tropp Redditis ja StackOverflow's. Aga mida see tähendab?
Lihtsalt öeldes tähendab see fraas, et on vajalik palju aastaid kogemust koos kindla arusaamaga tööriistadest, et lõpuks saada tõeliselt tõhusaks Senior DevOps praktikuks. Ja kahjuks pole siia lühenenud teed. Seega ei ole see üritus petta süsteemi – ma ei arva, et saad tegelikult teeselda DevOpsi vaneminseneri positsiooni, omades vaid paar kuud kogemust selles valdkonnas. Selge arusaama saavutamine kiiresti muutuvaid tööriistu ja meetodeid nõuab aastatepikkust kogemust, ning sellest ei pääse. Kuid on olemas peaaegu kokkulepitud (moekas, kui soovite) tööriistade ja kontseptsioonide menüü, mida enamik ettevõtteid kasutab, ja just sellest juttu tuleb.
Taaskord, tööriistad erinevad oskustest, seega, kui õpid tööriistu, veendu, et sa ei unustaks oma oskusi (küsitlused, võrgustike loomine, kirjalik suhtlemine, tõrkeotsing jne). Peamine on mitte unustada seda, mida me tahame leida – täiesti automatiseeritud digitaalkonveieri loomise meetodit, mis võtab ideed ja muudab need tulusaks koodilõikeks. See on ainus ja kõige olulisem järeldus kogu selle artikli kohta!
Kuidas ma saan alustada? Lõpetage lobisemine.
Allpool on DevOpsi põhiteadmiste tee kaart. Kui oled omandanud kõik, mis seal on, võid julgelt ja ausalt enda nimel öelda, et oled DevOps insener! Või pilvesüsteemide insener, kui sulle ei meeldi 'DevOps' nimetus.

See kaart peegeldab minu (ja tõenäoliselt enamikul selle valdkonna ekspertidel) arusaama sellest, mida peab teadma kompetentne DevOps insener. Siiski on see vaid arvamus ja kindlasti on neid, kes ei nõustu. See on okei! Me ei püüdle täiuslikkuse poole, vaid püüame luua tugeva aluse, millele tõeliselt ehitada.
Seda teed peab läbima järk-järgult, kihiti. Tuleb alustada (ja jätkata!) alustest, õppides kõigepealt sinisega märgitud elemente – Linux, Python ja AWS. Seejärel, kui võimalused või turu nõudlus lubab, tegele lillade asjadega – Golang ja Google Cloud.
Ausalt öeldes peamine kiht, mis teil tuleb pidevalt õppida. Linuxi operatsioonisüsteem on väga keeruline ja selle valdamine võtab aastaid. Python nõuab pidevat harjutamist, et kursis olla. AWS areneb nii kiiresti, et see, mida te täna tead, on aasta pärast vaid osa üldisest teadmisvarast. Kui olete alused õppinud, liikuge edasi reaalse oskuste kogumi juurde. Pange tähele, et kokku on 6 sinist veergu (Konfigureerimine, Versioon, Pakendamine, Rakendamine, Käivitamine, Jälgimine), üks iga kuu õppimist.

Te olete kindlasti märganud meie kuue kuu konveierilt olulise etapi – testimise puudumist. Ma ei lisanud seda teadlikult jõudude kaardile, sest mooduli kirjutamine, integreerimine ja vastuvõtu-testid on keerulised ning langevad tavaliselt arendajate õlgadele. Testimise etapi puudumine selgitab, et selle teaduskaardi eesmärk on võimalikult kiiresti baasoskuste ja tööriistade omandamine. Autori arvates on testimise kogemuse puudumine vaid väike takistus DevOpsi õigeks kasutamiseks.
Pealegi pidage meeles, et me ei õpi siin suures koguses ebamugavat tehnilist juttu, vaid püüdleme nende tööriistade mõistmise poole, mis koos loovad arusaadava loo. See lugu on pidev automatiseerimine protsessis – digitaalne konveier, mis liigutab bitte nagu tootmisliin. Te ei taha õppida hulgaliselt tööriistu ja pidevalt peatuda! DevOpsi tööriistakarp muutub kiiresti, kuid kontseptsioonid on palju harvemad. Seetõttu peaksite püüdlema tööriistade kasutamise poole kõrgema taseme kontseptsioonide õpetlikeks vahepealadeks.
Noh, las ma kaeve veel sügavamale!
Põhiteadmised
Alumise astme all, millel on silt Foundation, näete oskusi, millega peab iga DevOps insener tutvuma. Need oskused hõlmavad kindlat teadlikkust kolmele valdkonna „veerule“: operatsioonisüsteem, programmeerimiskeel ja avalik pilv. Need asjad ei ole sellised, millega saab kiiresti tutvuda ja edasi liikuda. Need oskused vajavad pidevat täiustamist ja oskuste lihvimist, et olla valdkonna eesotsas ja hoida enda professionaalne keskkond ajakohasena. Vaatame neid ükshaaval läbi.
Linux on see, kus kõik töötab. Kas võite olla suurepärane DevOps praktik, jäädes täielikult Microsofti ökosüsteemi? Loomulikult võite! Ei ole seadust, mis nõuaks ainult Linuxi kasutamist. Kuid pidage meeles – kuigi kõik Linuxi asjad saab teha ka Windowsis, juhtub see seal palju valusamalt ja väiksemate funktsionaalsete võimalustega. Praegu võib julgelt öelda, et ilma Linuxi tundmata ei saa tõeliseks DevOps professionaaliks, seega on Linux see, mida peate õppima ja süvendama.
Ausalt öeldes on parim viis selle saavutamiseks lihtsalt installida Linux (Fedora või Ubuntu) kodus ja kasutada seda nii palju kui võimalik. Muidugi rikute palju asju, jääte töövoogudesse kinni, peate kõik parandama, kuid õpite Linuxit!

Muide, Põhja-Ameerikas on RedHat valikud enam levinud, seega on mõttekas alustada Fedora või CentOSiga. Kui küsite endalt, kas peaksite valima KDE või Gnome versiooni, valige KDE. Just seda kasutab ka Linus Torvalds.
Praegu on Python domineeriv back-end keel. Sellega on lihtne alustada, see on laialdaselt kasutusel. Python on väga levinud tehisintellekti ja masinõppe valdkonnas, seega olete valmis, kui soovite kunagi minna veel ühte kuuma tegevusvaldkonda.

Amazon Web Services: uuesti, ei ole võimalik saada kogenud DevOps professionaaliks ilma kindla arusaamiseta, kuidas avalik pilv töötab. Ja kui soovite sellest võimalikult palju teada saada, uurige Amazon Web Servicesi. See on juhtiv tegija selles teenuste valdkonnas, millel on kõige rikkalikum tööriistade komplekt.
Kas on võimalik alustada Google Cloudist või Azure'ist? Loomulikult on see võimalik! Kuid arvestades viimast finantskriisi, tuleks meeles pidada, et AWS on kõige turvalisem valik, vähemalt 2018. aastal, kuna see võimaldab tasuta konto loomist ja pilveteenuste võimaluste uurimist. Lisaks pakub AWS-i konsool kasutajale lihtsat ja arusaadavat menüüd valikute tegemiseks. Hea uudis on see, et selleks ei ole vaja teada kõiki Amazoni tehnoloogiaid.

Alustage järgmistest: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing EC2-s) ja turvagrupp. Need on piisavad, et alustada tööd, ja iga kaasaegne pilveettevõte kasutab neid tööriistu aktiivselt. AWS-i enda õppematerjalide leht on suurepärane koht alustamiseks.
Soovitan teil iga päev pühendada 20-30 minutit Pythoniga, Linuxi operatsioonisüsteemiga ja AWS-i pilveteenusega õppimisele ja harjutamisele, lisaks muudele asjadele, mida peate õppima. Üldiselt arvan, et tunni võrra igapäevaselt viis korda nädalas on piisav, et mõista DevOps valdkonnas toimuvaid protsesse kuue kuu jooksul või isegi vähem. Kokku on kuus peamist komponenti, millest igaüks vastab kuule õpikut. See on kõik, mis on vajalik algtaseme teadmiste omandamiseks.
Järgmistes artiklites käsitleme järgmise keerukuse taset: kuidas automatiseerida tarkvara seadistamine, versioonimine, pakendamine, juurutamine, käitamine ja jälgimine.
Jätkub peagi...
Veidi reklaami 🙂
Aitäh, et olete meiega. Kas teile meeldivad meie artiklid? Kas soovite näha rohkem huvitavat sisu? Toetage meid, tellides teenuse või soovitades meid tuttavatele. , ainulaadne entry-level serverite analoog, mille oleme teie jaoks välja mõelnud: (saadaval RAID1 ja RAID10 variandid, kuni 24 tuuma ja kuni 40GB DDR4).
Dell R730xd on Equinixi Tier IV andmekeskuses Amsterdamis kaks korda odavam? Ainult meie juures Hollandis! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — alates $99! Lugege sellest
Allikas: habr.com
