Miks peavad süsteemiadministraatorid saama DevOps-insenerideks

Miks peavad süsteemiadministraatorid saama DevOps-insenerideks

Elus on täna parim aeg õppimiseks.


On 2019. aasta ja DevOpsi teema on hetkel aktuaalne nagu kunagi varem. Räägitakse, et süsteemiadministraatorite päevad on möödas, nagu ka aeg peamise raudvara. Kas see aga tõesti nii on?
Kuna IT-s muutub olukord sageli, on tekkimas DevOpsi metoodika, kuid see ei saa olemas olla ilma inimese, kellel on süsteemiadministraatori oskused, st ilma Opsita.

Enne kui DevOps lähenemine omandas oma kaasaegse kuju, kahtlesin enda kuuluvuses Ops kategooriasse. Ja ma tean, mida tunnevad süsteemiadministraatorid, kui nad saavad aru, kui palju nad veel ei oska ja kui vähe aega neil on, et see omandada.

Miks peavad süsteemiadministraatorid saama DevOps-insenerideks

Aga kas on tõesti kõik nii hirmus? Ütleksin, et teadmiste puudumist ei tohiks näha kui suurt probleemi. See on pigem ametialane väljakutse.

Veebimastaabis tooted põhinevad Linuxil või muu avatud lähtekoodiga tarkvaral ning turul on järjest vähem spetsialiste, kes suudaksid neid hooldada. Nõudlus ületab juba professionaalide arvu selles valdkonnas. Süsteemiadministraatori jaoks ei piisa lihtsalt töö jätkamisest ilma oma oskusi arendamata. Tal peavad olema automatiseerimise oskused, et hallata paljusid servereid/teenuseid, ja ta peab hästi mõistma nende tööpõhimõtteid probleemide lahendamiseks.

Enne DevOps meeskonna liikmeks saamist peate läbima üsna pika, kuid huvitava teekonna, õppides uusi tehnoloogiaid ja erinevaid tööriistu, mida on vaja süsteemi hooldamiseks DevOps standardite kohaselt.

Kuidas peaks süsteemiadministraator liikuma tavapärasest töömeetodist uue DevOps kontseptsioonini? Kõik algab mõtteviisi muutusest. On keeruline 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 hulk teatud praktikaid. Need praktikad hõlmavad isoleeritud süsteemide jaotamist, vigade ja eksimuste kahju vähendamist, sagedase ja õigeaegse tarkvarauuenduse toimumist, arendajate (Dev) ja administraatorite (Ops) vahelise suhtluse lihtsustamist ning pidevat testimist mitte ainult koodi, vaid ka kogu struktuuri osas protsessis. pidev integreerimine ja kohaletoimetamine (CI/CD).

Mõtteviisi muutmise kõrval tuleb õppida ka infrastruktuuri toetama ning tagama selle stabiilse töö, usaldusväärsuse ja ligipääsetavuse pidevaks integreerimiseks ja rakenduste, teenuste ja tarkvara kohaletoimetamiseks.

Mida võite Ops-spetsialistina vajada, on programmeerimisoskused. Praegu peetakse vananenuks skriptide kirjutamist, mida süsteemiadministraatorid kasutavad serverite patšide automatiseeritud paigaldamiseks, failide ja kontode haldamiseks, tõrgete kõrvaldamiseks ja dokumentatsiooni koostamiseks. Suhteliselt lihtsates olukordades kasutatakse skripte endiselt, kuid DevOps kontseptsioon eeldab suuremahulisemate probleemide lahendamist, olgu need siis juurutamine, testimine, koostamine või juurutamine.

Seega, kui soovite õppida automatiseerimist, tuleb teil vähemalt veidi õppida programmeerimist, isegi kui te ei ole arendaja, sest oma arengu praeguses etapis infrastruktuuri automatiseerimine DevOpsis eeldab seda oskust.

Mida teha? Et jääda nõutud spetsialistiks, tuleb omandada vajalikud oskused — õppida vähemalt ühte programmeerimiskeelt, näiteks Pythonit. Inimesele, kes professionaalselt tegeleb haldamisega, võib see tunduda keeruline, kuna ta on harjunud mõtlema, et programmeerivad ainult arendajad. Kujuge, et te ei pea saama eksperdiks, kuid teadmine ühest programmeerimiskeelest (see võib olla Python, Bash või isegi Powershell), on kindlasti eelis.

Programmeerimise õppimiseks on vajalik teatud aeg. Olge ettevaatlikud ja kannatlikud — see aitab teil säilitada olukorra arusaamist suhtlemisel DevOps meeskonna arendajate ja tellijatega. Pool tundi päevas, tund või enam — programmeerimiskeele õppimine peaks olema teie peamine eesmärk.

Süsteemiadministraatorid ja DevOps spetsialistid lahendavad sarnaseid ülesandeid, kuid on ka olulisi erinevusi. Arvatakse, et süsteemiadministraator ei saa teha kõike, mida DevOps insener teeb. Nimelt, et süsteemiadministraator keskendub enam konfiguratsioonile, hooldamisele ja serverisüsteemide töökorras hoidmisele, samas kui DevOps insener tegeleb kõigi nende asjadega ja veel väikese käru tõstmisega.

Aga kui õige see väide on?

Süsteemiadministraator: üksiku sõdalane

Vaatamata artiklis mainitud erinevustele ja sarnasustele, usun siiski, et süsteemiadministreerimise ja DevOpsi vahel pole olulisi erinevusi. Süsteemiadministraatorid on alati täitnud samu funktsioone kui DevOps spetsialistid, lihtsalt varem ei nimetatud seda DevOps-ks. Usun, et pole mõtet erilisi erinevusi otsida, eriti kui see ei ole seotud mingi ülesandega. Ei tohi unustada, et erinevalt süsteemiadministraatorist, DevOps ei ole ametikoht, vaid kontseptsioon.

Oluline on märkida veel üks asi, ilma milleta jääb nii administreerimise kui ka DevOpsi arutelu poolikuks. Süsteemiadministreerimine tavapärases mõttes eeldab, et spetsialistil on konkreetne oskuste kogum ja orienteeritus erinevate infrastruktuuride hooldamiseks. Mitte selles tähenduses, et see on universaalne töötaja, vaid et on rida ülesandeid, mida täidavad kõik administraatorid.

Näiteks peavad nad aeg-ajalt olema tehnilised kõikööd, tehes praktiliselt kõike. Ja kui selline administraator on kogu organisatsiooni peale ainus, siis täidab ta kogu tehnilise töö. See võib olla mis tahes: alates printerite ja koopiamasinate hooldamisest kuni võrguülesannete, nagu ruuteri ja lülitite seadistamise ja nende haldamise ning tulemüüri seadistamisega.

Ta vastutab ka riistvara värskendamise, logide kontrollimise ja analüüsimise, turbeauditi, serverite plaastrite installimise, tõrkeotsingu, põhjusanalüüsi ja automatiseerimise eest — tavaliselt PowerShelli, Pythoni või Bashi skriptide kaudu. Üks näide skriptide kasutamisest skripte on kasutajakontode ja rühmade haldamine. Kasutajakontode loomine ja õiguste määramine on äärmiselt tülikas ülesanne, kuna kasutajad ilmuvad ja kaovad peaaegu iga päev. Skripti abil automatiseerimine vabastab aega, et tegeleda olulisemate infrastruktuuriülesannetega, näiteks lülitite ja serverite uuendamisega ning teiste projektidega, mis mõjutavad ettevõtte, kus administraator töötab, kasumlikkust (kuigi üldiselt arvatakse, et IT-osakond ei too otseselt tulu).

Süsteemihalduri ülesanne on mitte raisata aega ja säästa ettevõtte raha kõikide võimalike viiside kaudu. Mõnikord töötavad süsteemihaldurid suure meeskonna liikmetena, ühendades näiteks Linuxi, Windowsi, andmebaaside, salvestuste ja nii edasi administraatoreid. Tööaeg varieerub samuti. Näiteks võib vahetus ühes ajavööndis päeva lõpus edastada asjad järgmisele vahetusele teises ajavööndis, et protsessid ei peatu (follow-the-sun); või töötajad võivad omada tavalist tööpäeva kella 9-st 17-ni; või tegelevad nad 24/7 andmekeskuse töös.

Aja jooksul on süsteemihaldurid õppinud strateegiliselt mõtlema ja ühendama olulisi asju rutiinsete ülesannetega. Meeskondadel ja osakondadel, kus nad töötavad, on tavaliselt ressursse puudus, kuid kõik püüavad siiski täita igapäevaseid ülesandeid täielikult.

DevOps: arendus ja hooldus on ühtsed

DevOps on mingis mõttes arendus- ja hooldusprotsesside filosoofia. Selline lähenemine IT-maailmas on tõeliselt uuenduslik.

DevOpsi raames töötab ühelt poolt tarkvaraarenduse meeskond ja teiselt poolt hooldusspetsialistide meeskond. Tihti liituvad nendega ka tootearenduse eksperdid, testijad ja kasutajaliidese projekteerijad. Koos töötades optimeerivad need spetsialistid tööprotsesse, et kiiresti uusi rakendusi välja tuua ja koodi uuendada, toetades seeläbi kogu ettevõtte efektiivsust.

DevOpsi põhialuseks on tarkvara arendamise ja toimimise jälgimine kogu elutsükli jooksul. Hooldusspetsialistid peavad toetama arendajaid, samas kui arendajatele tuleb arusaamine mitte ainult süsteemide kasutatavatest API-dest. Nad peavad mõistma, mis toimub "kapoti all" (st kuidas riistvara ja operatsioonisüsteemid töötavad), et paremini tuvastada vigu, lahendada probleeme ja koostööd teha hooldusspetsialistidega.

Süsteemihaldurid võivad liikuda DevOpsi meeskonda, kui nad soovivad õppida uusimaid tehnoloogiaid ja on avatud innovaatilistele ideedele ja lahendustele. Nagu ma juba ütlesin, ei pea nad saama täieõiguslikeks programmeerijateks, kuid programmeerimiskeelte, näiteks Ruby, Python või Go, valdamine aitab neil saada väga kasulikeks meeskonnaliikmeteks. Kuigi süsteemihaldurid teevad traditsiooniliselt kogu töö iseseisvalt ja neid peetakse sageli erakkudeks, ootab neid DevOpsis täiesti vastupidine kogemus, kus kõik protsessi osalised suhtlevad üksteisega.

Automatiseerimise teema muutub üha aktuaalsemaks. N nii süsteemihaldurid kui ka DevOpsi spetsialistid on huvitatud operatiivsest skaleerimisest, vigade vähendamisest ning kiirest olemasolevate vigade tuvastamisest ja kõrvaldamisest. Seega on automatiseerimine mõisted, kus kaks valdkonda kohtuvad. Süsteemihaldurid vastutavad selliste pilveteenuste, nagu AWS, Azure ja Google Cloud Platform, eest. Nad peavad mõistma pideva integratsiooni ja kohaletoimetamise põhimõtteid ning seda, kuidas kasutada selles töös tööriistu nagu Jenkinsile.

Lisaks peavad süsteemihaldurid kasutama ka seadistamise ja juhtimise vahendeid, nagu Ansible, vajalikud kümnete või kahekümne serveri paralleelseks ülesehitamiseks.

Peamine mõisted — infrastruktuur kui kood. Tarkvara on kõik. Põhimõtteliselt, et süsteemihalduri amet säiliks oma asjakohasuse, tuleb vaid veidi tähelepanu muuta. Süsteemihaldurid tegelevad hooldusega ja peavad olema tõhusad koostöös arendajatega ja vastupidi. Nagu öeldakse, üks pea on hea, aga kaks on parem.

Ja viimane detail selles mehhanismis — see on Git. Gitiga töötamine on üks traditsioonilisi igapäevaseid kohustusi süsteemihaldurile. See versioonihalduse süsteem on laialdaselt kasutusel arendajate, DevOpsi spetsialistide, Agile meeskondade ja paljude teiste seas. Kui teie töö on seotud tarkvara elutsükliga, siis kindlasti töötate te Gitiga.

Git sisaldab endas hulgaliselt võimalusi. Tõenäoliselt te kunagi ei õpi kõiki Git käske, kuid saate aru, miks see tööriist on kommunikatsiooni ja tarkvara koostöö peamine. Süvitsi minev teadmise Gitist on väga oluline, kui töötate DevOpsi meeskonnas.

Kui olete süsteemihaldur, peate Gitiga põhjalikumalt tutvuma, mõistma, kuidas versioonihaldus toimib ja meelde jätma levinud käsklused: git status, git commit -m, git add, git pull, git push, git rebase, git branch, git diff ja teised. On palju veebikursusi ja raamatuid, mis aitavad teil seda teemat algusest peale õppida ja saada spetsialistiks, kellel on konkreetsed oskused. Samuti on suurepärased Git käskude häkkereid, seega ei pea te need kõik meelde jätma, kuid mida rohkem te Gitiga töötate, seda lihtsamaks see teie jaoks muutub.

Kokkuvõte

Lõppkokkuvõttes on see teie enda otsustada, kas soovite saada DevOps spetsialistiks või jääda süsteemihalduriks. Nagu näete, nõuab üleminek õppimist, kuid mida varem alustate, seda parem. Valige programmeerimiskeel ja õppige samal ajal selliseid tööriistu nagu Git (versioonihaldus), Jenkinsile (CI/CD, pidev integreerimine) ja Ansible (konfigureerimine ja automatiseerimine). Ükskõik, millise variandi valite, ärge unustage, et peate pidevalt õppima ja oma oskusi arendama.

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster