Miks peaksid süsteemiadministraatorid saama DevOpsi inseneriks?

Miks peaksid süsteemiadministraatorid saama DevOpsi inseneriks?

Elus pole õppimiseks paremat aega kui tänane.


On aasta 2019 ja DevOps on asjakohasem kui kunagi varem. Nad ütlevad, et süsteemiadministraatorite aeg on möödas, nagu ka suurarvutite ajastu. Aga kas see on tõesti nii?
Nagu IT-s sageli juhtub, on olukord muutunud. DevOpsi metoodika on tekkinud, kuid see ei saa eksisteerida ilma süsteemiadministraatori oskustega inimeseta ehk ilma Opsita.

Enne DevOpsi lähenemisviisi moodsa vormi omandamist klassifitseerisin end opside hulka. Ja ma tean väga hästi, mida kogeb süsteemiadministraator, kui ta mõistab, kui palju ta veel ei suuda ja kui vähe on tal selle õppimiseks aega.

Miks peaksid süsteemiadministraatorid saama DevOpsi inseneriks?

Aga kas see on tõesti nii hirmutav? Ma ütleks, et teadmiste puudumist ei tohiks tajuda mingi suure probleemina. See on pigem professionaalne väljakutse.

Veebimastaabis tooted põhinevad Linuxil või muul avatud lähtekoodiga tarkvaral ning turul on järjest vähem inimesi, kes suudavad neid hooldada. Nõudlus on juba ületanud selle valdkonna professionaalide arvu. Süsteemiadministraator ei saa enam lihtsalt tööd jätkata ilma oma oskuste taset parandamata. Tal peavad olema automatiseerimisoskused, et hallata mitut serverit/sõlme, ja ta peab hästi aru saama, kuidas need töötavad, et lahendada tekkivaid probleeme.

Enne DevOpsi meeskonna liikmeks saamist tuleb läbida päris pikk, kuid huvitav teekond, õppida uusi tehnoloogiaid ja erinevaid tööriistu, mis on vajalikud süsteemi hooldamiseks DevOpsi standardite järgi.

Niisiis, kuidas saab süsteemiadministraator liikuda tavapäraselt tööviisilt uuele DevOpsi kontseptsioonile? Kõik on nagu tavaliselt: kõigepealt tuleb muuta oma mõtlemist. Pole lihtne loobuda lähenemisest, mida oled järginud viimased kümme-kakskümmend aastat ja hakata asju teisiti tegema, kuid see on vajalik.

Esiteks on oluline mõista, et DevOps ei ole konkreetne ametikoht ettevõttes, vaid konkreetsete praktikate kogum. Need tavad hõlmavad isoleeritud süsteemide levitamist, vigade ja vigade tekitatud kahju vähendamist, sagedasi ja õigeaegseid tarkvaravärskendusi, väljakujunenud suhtlemist arendajate (Dev) ja administraatorite (Ops) vahel, samuti pidevat mitte ainult koodi, vaid ka koodi testimist. ka kogu protsessi struktuur pidev integreerimine ja tarnimine (CI/CD).

Mõtteviisi muutmise kõrval tuleb õppida, kuidas säilitada infrastruktuuri ning tagada selle stabiilne töö, töökindlus ja käideldavus rakenduste, teenuste ja tarkvara pidevaks integreerimiseks ja tarnimiseks.

See, millest te Opsi professionaalina puudu võib jääda, on programmeerimisoskused. Nüüd peetakse skriptide (skriptide) kirjutamist, mida süsteemiadministraatorid kasutavad automaatselt serverisse paikade installimiseks, failide ja kontode haldamiseks, probleemide tõrkeotsinguks ja dokumentatsiooni koostamiseks, juba aegunuks. Skriptimine kehtib endiselt suhteliselt lihtsatel juhtudel, kuid DevOps on mõeldud suuremahuliste probleemide lahendamiseks, olgu selleks siis juurutamine, testimine, ehitamine või juurutamine.

Seega, kui soovite õppida automatiseerimist, peate vähemalt natuke programmeerimist valdama, isegi kui te pole arendaja, sest teie arengu selles etapis infrastruktuuri automatiseerimine DevOpsis nõuab see oskus.

Mida teha? Spetsialistina nõudluse säilitamiseks peate omandama asjakohased oskused - valdama vähemalt ühte programmeerimiskeelt, näiteks Python. Professionaalselt haldusega tegelevale inimesele võib see tunduda keeruline, kuna ta on harjunud arvama, et programmeerivad ainult arendajad. Ei ole vaja saada eksperdiks, vaid mõne programmeerimiskeele tundmine (see võib olla Python, Bash või isegi PowerShell), on see kindlasti eeliseks.

Programmeerimise õppimine võtab natuke aega. Tähelepanelik ja kannatlik olemine aitab teil DevOpsi meeskonnaliikmete ja klientidega suheldes asjadega kursis olla. Pool tundi päevas, tund või rohkem peaks programmeerimiskeele õppimine olema teie peamine eesmärk.

Süsteemiadministraatorid ja DevOpsi spetsialistid lahendavad sarnaseid probleeme, kuid siiski on olulisi erinevusi. Arvatakse, et süsteemiadministraator ei saa teha kõike, mida DevOpsi insener suudab. Nad ütlevad, et süsteemiadministraator on rohkem keskendunud serverisüsteemide seadistamisele, hooldamisele ja jõudluse tagamisele, kuid DevOpsi insener tõmbab kogu selle käru ja veel ühe väikese käru.

Aga kui tõsi see väide on?

Süsteemiadministraator: üks sõdalane põllul

Vaatamata selles artiklis märgitud erinevustele ja sarnasustele usun siiski, et süsteemihalduse ja DevOpsi vahel pole olulist erinevust. Süsteemiadministraatorid on alati täitnud samu funktsioone nagu DevOpsi spetsialistid, lihtsalt keegi pole seda varem DevOpsiks nimetanud. Usun, et pole mõtet spetsiaalselt erinevusi otsida, eriti kui see pole seotud ühegi ülesandega. Ärge unustage, et erinevalt süsteemiadministraatorist pole DevOps positsioon, vaid kontseptsioon.

Tuleb märkida veel üks oluline asi, ilma milleta jääb vestlus nii halduse kui ka DevOpsi kohta poolikuks. Süsteemihaldus tavamõistes eeldab, et spetsialistil on spetsiifilised oskused ja ta on keskendunud erinevat tüüpi infrastruktuuride teenindamisele. Mitte selles mõttes, et tegemist on universaalse töötajaga, vaid selles mõttes, et on mitmeid ülesandeid, mida täidavad kõik administraatorid.

Näiteks peavad nad aeg-ajalt tegutsema omamoodi tehnilise meistrimehena ehk tegema sõna otseses mõttes kõike. Ja kui kogu organisatsiooni jaoks on ainult üks selline administraator, siis teeb ta üldiselt kõik tehnilised tööd. See võib olla kõike alates printerite ja koopiamasinate hooldamisest kuni võrguga seotud ülesannete täitmiseni, nagu ruuterite ja lülitite seadistamine ja haldamine või tulemüüri konfigureerimine.

Ta vastutab ka riistvarauuenduste, logide kontrollimise ja analüüsimise, turvaauditite, serverite parandamise, tõrkeotsingu, algpõhjuste analüüsi ja automatiseerimise eest – tavaliselt PowerShelli, Pythoni või Bashi skriptide kaudu. Üks kasutusnäide stsenaariumid on kasutaja- ja grupikontode haldamine. Kasutajakontode loomine ja õiguste määramine on äärmiselt tüütu ülesanne, kuna kasutajaid ilmub ja kaob peaaegu iga päev. Automatiseerimine skriptide kaudu vabastab aega olulisemate taristuülesannete jaoks, nagu lülitite ja serverite uuendamine ja muud projektid, mis mõjutavad selle ettevõtte kasumlikkust, kus administraator töötab (kuigi üldiselt on aktsepteeritud, et IT-osakond otseselt tulu ei too).

Süsteemihalduri ülesanne on mitte aega raisata ja ettevõtte raha igal võimalikul viisil kokku hoida. Mõnikord töötavad süsteemiadministraatorid suure meeskonna liikmetena, ühendades näiteks Linuxi, Windowsi, andmebaaside, salvestusruumi jne administraatorid. Ka töögraafikud on erinevad. Näiteks ühe ajavööndi nihe päeva lõpus kannab juhtumid üle järgmisse vahetusse teises ajavööndis, et protsessid ei peatuks (fllow-the-sun); või töötajatel on tavaline tööpäev 9-5; või see töötab XNUMX/XNUMX andmekeskuses.

Aja jooksul on süsteemiadministraatorid õppinud strateegiliselt mõtlema ja ühendama olulised asjad rutiinsete ülesannetega. Meeskondadel ja osakondadel, kus nad töötavad, napib tavaliselt ressursse, kuid samal ajal püüavad kõik täita igapäevaseid ülesandeid maksimaalselt.

DevOps: arendus ja hooldus kui üks

DevOps on omamoodi arendus- ja hooldusprotsesside filosoofia. Selline lähenemine IT-maailmas on muutunud tõeliselt uuenduslikuks.

DevOpsi katuse all on ühel pool tarkvaraarenduse ja teisel pool hooldusmeeskond. Sageli liituvad nendega tootehalduse spetsialistid, testijad ja kasutajaliidese kujundajad. Need eksperdid ühtlustavad koos toiminguid, et kiiresti kasutusele võtta uued rakendused ja koodivärskendused, mis toetavad ja parandavad kogu ettevõtte tõhusust.

DevOps põhineb kontrollil tarkvara arendamise ja toimimise üle kogu selle elutsükli jooksul. Hooldustöötajad peavad arendajaid toetama ja arendajate ülesandeks on mõista rohkem kui ainult süsteemides kasutatavaid API-sid. Nad peavad mõistma, mis on kapoti all (st kuidas riistvara ja operatsioonisüsteemid toimivad), et saaksid vigadega paremini toime tulla, probleeme lahendada ja teenindustehnikutega suhelda.

Süsteemiadministraatorid võivad liikuda DevOpsi meeskonda, kui nad soovivad õppida uusimaid tehnoloogiaid ning on avatud uuenduslikele ideedele ja lahendustele. Nagu ma ütlesin, ei pea neist saama täisväärtuslikud programmeerijad, kuid programmeerimiskeele nagu Ruby, Python või Go valdamine aitab neil saada väga kasulikeks meeskonnaliikmeteks. Kuigi traditsiooniliselt teevad süsteemiadministraatorid kogu töö ise ja sageli tajutakse neid üksikuna, siis DevOpsis on neil täiesti vastupidine kogemus, kus kõik protsessis osalejad omavahel suhtlevad.

Automatiseerimise teema muutub järjest aktuaalsemaks. Nii süsteemiadministraatorid kui ka DevOpsi spetsialistid on huvitatud kiirest skaleerimisest, vigade vähendamisest ning olemasolevate vigade kiirest leidmisest ja parandamisest. Seega on automatiseerimine mõiste, kus kaks valdkonda lähenevad. Süsteemiadministraatorid vastutavad selliste pilveteenuste eest nagu AWS, Azure ja Google Cloud Platform. Nad peavad mõistma pideva integreerimise ja edastamise põhimõtteid ning selliste tööriistade kasutamist nagu Jenkins.

Lisaks peavad süsteemiadministraatorid kasutama konfiguratsiooni- ja haldustööriistu nagu Võimalik, mis on vajalik kümne või kahekümne serveri paralleelseks juurutamiseks.

Põhikontseptsioon on infrastruktuur koodina. Tarkvara on kõik. Tegelikult selleks, et süsteemiadministraatori elukutse ei kaotaks oma tähtsust, tuleb lihtsalt rõhuasetust veidi muuta. Süsteemiadministraatorid on teenindusäris ja peavad suutma arendajatega tõhusalt suhelda ja vastupidi. Nagu öeldakse, üks pea on hea, aga kaks on parem.

Ja selle mehhanismi viimane detail on Git. Gitiga töötamine on üks süsteemiadministraatori tavapäraseid igapäevaseid kohustusi. Seda versioonihaldussüsteemi kasutavad laialdaselt arendajad, DevOpsi spetsialistid, Agile meeskonnad ja paljud teised. Kui teie töö on seotud tarkvara elutsükliga, siis töötate kindlasti Gitiga.

Gitil on palju funktsioone. Tõenäoliselt ei õpi te kunagi kõiki Giti käske, kuid saate täpselt aru, miks see on tarkvarasuhtluse ja koostöö põhiosa. Põhjalikud teadmised Gitist on väga olulised, kui töötate DevOpsi meeskonnas.

Kui olete süsteemiadministraator, peate Giti paremini uurima, mõistma, kuidas versioonikontroll on üles ehitatud, ja meeles pidama tavalised käsud: git staatus, git commit -m, git add, git pull, git push, git rebase, git filiaal, git diff ja teised. On palju veebikursusi ja raamatuid, mis aitavad teil seda teemat nullist õppida ja saada spetsiifiliste oskustega professionaaliks. Seal on ka imelisi petulehti Giti käskudega, nii et te ei pea neid kõiki kokku toppima, kuid mida rohkem Gitit kasutate, seda lihtsam see on.

Järeldus

Lõppkokkuvõttes otsustate teie, kas peate saama DevOpsi spetsialistiks või on parem jääda süsteemiadministraatoriks. Nagu näete, on üleminekuks õppimiskõver, kuid mida varem alustate, seda parem. Valige programmeerimiskeel ja õppige samaaegselt selliseid tööriistu nagu Git (versioonikontroll), Jenkins (CI/CD, pidev integreerimine) ja Võimalik (konfiguratsioon ja automatiseerimine). Ükskõik millise valiku valite, ärge unustage, et peate pidevalt õppima ja oma oskusi täiendama.

Allikas: www.habr.com

Lisa kommentaar