Miks peaksid süsteemiadministraatorid olema DevOps-insenerid

Miks peaksid süsteemiadministraatorid olema DevOps-insenerid

Tänapäeval ei ole õppimiseks paremat aega kui täna.


Aasta on 2019 ning DevOps'i teema on nüüd hetkeks igasuguse tähelepanu keskpunktis. Öeldakse, et süsteemihaldurite päevad on möödas, nagu möödusid peamised ajastu päevad. Kuid kas see on tõesti nii?
Nagu see IT-alal sageli juhtub, on olukord muutunud. DevOps'i metoodika on tekkinud, kuid see ei saa eksisteerida ilma inimeseta, kellel on süsteemihalduri oskused, st ilma Ops'ideta.

Enne kui DevOps'i lähenemine omandas oma tänapäevase kuju, arvasin end olevat Ops'i kategoorias. Ja ma tean hästi, mida süsteemihaldur tunneb, kui ta mõistab, kui palju tal veel õppida on ja kui vähe aega tal selleks on.

Miks peaksid süsteemiadministraatorid olema DevOps-insenerid

Aga kas on tõesti kõik nii hirmutav? Ma ütleks, et teadmiste puudumist ei tohiks pidada suureks probleemiks. See on pigem professionaalne väljakutse.

Veebitaseme tooted põhinevad Linuxil või muul avatud lähtekoodiga tarkvaral, kuid turul on üha vähem spetsialiste, kes suudavad neid hooldada. Nõudlus on juba ületanud selle valdkonna professionaalide arvu. Süsteemihaldur ei saa enam lihtsalt jätkata tööd, ilma oma kvalifikatsiooni tõstmata. Ta peab omama automatiseerimisoskusi, et hallata mitmeid servereid / sõlmi, ja peab hästi mõistma nende tööpõhimõtteid, et lahendada tekkivaid probleeme.

Enne kui saate DevOpsi meeskonna liikmeks, peate läbima üsna pika, kuid huvitava tee, õppides uusi tehnoloogiaid ja mitmesuguseid tööriistu, mis on vajalikud süsteemi teenindamiseks vastavalt DevOpsi standarditele.

Nii et kuidas süsteemihaldur saaks liikuda harjumuspärasest tööviisist uue DevOpsi kontseptsiooni suunas? Kõik nagu tavaliselt: kõigepealt on vaja muuta mõtteviisi. Ei ole kerge loobuda lähenemisest, mida olete järginud viimased kümme või kakskümmend aastat, ja alustada kõike uut, kuid see on vajalik.

Esiteks on oluline mõista, et DevOps ei ole konkreetne ametikoht ettevõttes, vaid teatud praktikaset, mis hõlmavad isoleeritud süsteemide haldamist, vigade ja tõrgete kahju vähendamist, tarkvara sagedast ja õigeaegset värskendamist, sujuvat koostööd arendajate (Dev) ja administraatorite (Ops) vahel ning pidevat testimist mitte ainult koodi, vaid ka kogu struktuuri osas. pidev integreerimine ja kohaletoimetamine (CI/CD).

Koos mõttelaadi muutumisega tuleb õppida ka infrastruktuuri toetama ning tagama selle stabiilse töö, usaldusväärsuse ja kergesti ligipääsetavuse pidevaks integreerimiseks ja kohaletoimetamiseks rakenduste, teenuste ja tarkvara jaoks.

Ops spetsialistina võib teil puudu jääda programmeerimisoskustest. Hetkel peetakse skriptide kirjutamist, mida süsteemiadministraatorid kasutavad serveri automaatsete plaastrite installimiseks, failide ja kasutajakontode haldamiseks, tõrkeotsinguks ja dokumentatsiooni koostamiseks, juba aegunuks. Suhteliselt lihtsates olukordades kasutatakse skripte endiselt, kuid DevOps kontseptsioon eeldab suuremahuliste probleemide lahendamist, olgu need siis juurutamine, testimine, koostamised või rakendamine.

Seega, kui soovite õppida automatiseerimist, on vajalik vähemalt natuke programmeerimist omandada, isegi kui te ei ole arendaja, kuna selle arengu etapis infrastruktuuri automatiseerimine DevOps nõuab seda oskust.

Mida teha? Et olla nõutud spetsialist, on vajalik omandada aktuaalsed oskused — õppida selgeks vähemalt üks programmeerimiskeel, näiteks Python. Inimesele, kes professionaalselt tegeleb haldamisega, võib see tunduda keeruline, kuna ta on harjunud arvama, et programmeerivad ainult arendajad. Ei ole sugugi vajalik saada ekspertiks, kuid ühe programmeerimiskeele (see võib olla Python, Bash või isegi Powershell), on kindlasti eeliseks.

programmeerimise õppimiseks on vajalik teatud aeg. Olge tähelepanelik ja kannatlik — see aitab teil säilitada arusaama olukorrast suhtlemisel arendajate, DevOps meeskonna ning tellijatega. Pool tundi päevas, tund või rohkem — programmeerimiskeele õppimine peaks olema teie peamine eesmärk.

Süsteemiadministraatorid ja DevOpsi spetsialistid tegelevad sarnaste ülesannetega, kuid siiski on olemas märkimisväärne erinevus. Arvatakse, et süsteemiadministraator ei suuda teha kõike, mida suudab DevOpsi insener. Ütlemine on, et süsteemiadministraator keskendub rohkem serverisüsteemide seadistamisele, hooldamisele ja töökindluse tagamisele, samas kui DevOpsi insener veab kogu seda koormat ning veel väikest vankrit.

Kuid kui õigustatud on see väide?

Süsteemiadministraator: üks sõdalane väljal

Vaatamata käesolevas artiklis välja toodud erinevustele ja sarnasustele pean siiski silmas, et süsteemiadministreerimise ning DevOpsi vahel pole suurt erinevust. Süsteemiadministraatorid on alati täitnud samu funktsioone kui DevOpsi spetsialistid, lihtsalt varem ei kutsutud seda DevOpsiks. Arvan, et pole mõtet spetsiaalselt vahet teha, eriti kui see ei seondu mingi ülesandega. Tuleb meeles pidada, et erinevalt süsteemiadministraatorist on DevOps mitte ametikoht, vaid kontseptsioon.

On oluline märkida veel üks aspekt, ilma milleta oleks vestlus nii halduse kui ka DevOpsi teemadest puudulik. Süsteemihaldus traditsioonilises mõttes eeldab, et spetsialistil on konkreetne oskuste kogum ja ta suudab teenindada erinevaid infrastruktuuri tüüpe. See ei tähenda, et tegemist on universaalse töötajaga, vaid et on hulgaliselt ülesandeid, mida täidavad kõik administraatorid.

Näiteks peavad nad aeg-ajalt astuma sisse mingisuguse tehnilise töölise rolli, tehes praktiliselt kõike. Ja kui selline administraator on organisatsioonis ainus, siis teeb ta kogu tehnilise töö. See võib olla midagi alates printerite ja koopiamasinate hooldamisest kuni võrguga seotud ülesannete täitmiseni, näiteks ruuterite ja lülitite seadistamine ja haldamine või tulemüüride seadistamine.

Ta vastutab ka riistvara uuendamise, logide kontrollimise ja analüüsimise, turvAuditite läbiviimise, serveri plaastrite paigaldamise, tõrkeotsingu, põhjuslike tegurite analüüsi ja automatiseerimise eest — tavaliselt PowerShelli, Python või Bashi skriptide kaudu. Üks kasutusnäide skriptidest on kasutajate ja rühmade haldamine. Kasutajakontode loomine ja õiguste määramine on äärmiselt tülikas ülesanne, kuna kasutajad ilmuvad ja kaovad peaaegu iga päev. Skriptide kaudu automatiseerimine vabastab aega olulisemate infrastruktuuriülesannete, näiteks lülitite ja serverite värskendamiseks ning teiste projektide teostamiseks, mis mõjutavad kasumlikkust ettevõttes, kus administraator töötab (kuigi tavaks on arvata, et IT-osakond ei too tulu otse).

Süsteemiadministraatori ülesanne on mitte raisata aega ja hoida ettevõtte kulud madalad igal võimalusel. Mõnikord töötavad süsteemiadministraatorid osana suurest meeskonnast, kuhu kuuluvad näiteks Linuxi, Windowsi, andmebaaside ja salvestusruumide administraatorid. Tööaeg võib samuti erineda. Näiteks võib ühes ajatsoonis vahetuse lõpus toimuda asjade edastamine järgmisele vahetusele teises ajatsoonis, et protsessid ei seiskuks (follow-the-sun); või töötavad töötajad tavalise tööpäeva jooksul kella 9-st 5-ni; või on see 24/7 andmekeskuse töö.

Süsteemiadministraatorid on aja jooksul õppinud mõtlema strateegiliselt ja ühendama olulisi ülesandeid igapäevaste tegevustega. Meeskondadel ja osakondadel, kus nad töötavad, ei ole tavaliselt piisavalt ressursse, kuid kõik püüavad siiski oma igapäevaseid ülesandeid täielikult täita.

DevOps: arendus ja hooldus on ühtsed

DevOps — see on omamoodi arendus- ja hooldustööde filosoofia. Selline lähenemine IT-maailmas on tõeliselt uuenduslik.

DevOps'i juhtimise all töötavad ühel pool tarkvaraarenduse meeskond ja teisel pool hooldusspetsialistide tiim. Tihti liituvad nendega tootejuhid, testijad ja kasutajaliidese disainerid. Koostööd tehes optimeerivad need spetsialistid tööprotsesse, et kiiresti välja lasta uusi rakendusi ning värskendada koodi, et toetada ja parandada kogu ettevõtte tõhusust.

DevOps'i aluseks on tarkvara arendamise ja toimimise jälgimine kogu selle elutsükli vältel. Hooldusspetsialistid peavad toetama arendajaid, samas kui arendajatel on kohustus mõista mitte ainult API-sid, mida süsteemides kasutatakse. Nad peavad teadma, mis on "kapoti all" (st kuidas riistvara ja operatsioonisüsteemid toimivad), et paremini lahendada vigu, tegeleda probleemidega ja suhelda hooldusspetsialistidega.

Süsteemihaldurid saavad liituda DevOpsi meeskonnaga, kui nad soovivad õppida uusimaid tehnoloogiaid ja on avatud innovatiivsetele ideedele ja lahendustele. Nagu ma juba mainisin, ei pea nad olema täiskohaga programmeerijad, kuid programmeerimiskeelte nagu Ruby, Python või Go õppimine aitab neil saada väga väärtuslikeks meeskonnaliikmeteks. Kuigi süsteemihaldurid teevad traditsiooniliselt kogu töö iseseisvalt ja neid peetakse tihti üksildasteks, ootab DevOps neid täiesti vastupidine kogemus, kus kõik protsessi osalised suhtlevad omavahel.

Automatiseerimise teema muutub üha olulisemaks. Nii süsteemihaldurid kui ka DevOps spetsialistid on huvitatud operatiivsest skaleerimisest, vigade vähendamisest ja olemasolevate probleemide kiirest tuvastamisest ja lahendamisest. Seega on automatiseerimine mõisted, kus kaks valdkonda ristuvad. Süsteemihaldurid vastutavad selliste pilveteenuste nagu AWS, Azure ja Google Cloud Platform eest. Nad peavad mõistma pideva integreerimise ja tarnimise põhimõtteid ning seda, kuidas kasutada tööriistu, milleks on näiteks Jenkins.

Lisaks peavad süsteemiadministraatorid kasutama selliseid seadistamise ja haldamise tööriistu nagu Ansible, mis on vajalikud kümne või kahekümne serveri paralleelseks juurutamiseks.

Peamine mõte on infrastruktuur kui kood. Tarkvara on kõikjal. Sisuliselt, et süsteemiadministraatori amet ei kaotaks oma aktuaalsust, piisab vaid pisut fookuse vahetusest. Süsteemiadministraatorid hooldavad ning peaksid suutma tõhusalt suhelda arendajatega ja vastupidi. Nagu öeldakse, üks pea on hea, aga kaks — veel parem.

Ja viimane detail selles mehhanismis on Git. Töötamine Gitiga on üks traditsioonilisi igapäevaseid ülesandeid süsteemiadministraatori jaoks. See versioonihaldussüsteem on laialdaselt kasutusel arendajate, DevOpsi spetsialistide, Agile-meeskondade ja paljude teiste seas. Kui teie töö on seotud tarkvaraarenduse elutsükliga, siis kindlasti töötate te Gitiga.

Git pakub palju võimalusi. Tõenäoliselt ei õpi te kunagi kõiki Git'i käske, kuid mõistate kindlasti, miks seda tööriista peetakse peamiseks suhtlemise ja tarkvara koostöö vahendiks. Süvitsi minev teadmine Git'ist on väga oluline, kui töötate DevOps meeskonnas.

Kui olete süsteemihaldur, peaksite Git'iga paremini tutvuma, mõistma versioonihalduse ülesehitust ja meelde jätma levinud käsud: git status, git commit -m, git add, git pull, git push, git rebase, git branch, git diff ja teised. On mitmeid veebikursuseid ja raamatuid, mis aitavad seda teemat nullist õppida ja saada professionaaliks, kellel on konkreetsed oskused. Samuti on suurepärased Git'i käsu voldikud, seega ei ole kõiki neid pähe õppima vajalik, kuid mida rohkem saate Git'i kasutada, seda lihtsamaks see teile muutub.

Kokkuvõte

Lõppkokkuvõttes otsustate ise, kas soovite saada DevOps spetsialistiks või jätta end süsteemihalduriks. Nagu näha, on üleminekuks vajalik koolitus, kuid mida varem alustate, seda parem. Valige programmeerimiskeel ja õppige samal ajal selliseid tööriistu nagu Git (versioonihaldus), Jenkins (CI/CD, pidev integreerimine) ja Ansible (konfigureerimise ja automatiseerimise). Olenemata valikust, mille peale te lõpuks otsustate, pidage meeles, et pidev õppimine ja oskuste täiustamine on olulised.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster