Kodėl sistemos administratoriai turėtų tapti „DevOps“ inžinieriais

Kodėl sistemos administratoriai turėtų tapti „DevOps“ inžinieriais

Gyvenime nėra geresnio laiko mokytis nei šiandien.


Tai 2019 m., o „DevOps“ yra aktualesnė nei bet kada. Jie sako, kad sistemų administratorių laikai baigėsi, kaip ir pagrindinių kompiuterių era. Bet ar tikrai taip?
Kaip dažnai IT srityje nutinka, situacija pasikeitė. Atsirado DevOps metodika, tačiau ji negali egzistuoti be sistemos administratoriaus įgūdžių turinčio žmogaus, tai yra be Ops.

Prieš „DevOps“ metodui įgaunant šiuolaikinę formą, aš priskyriau save prie „Ops“. Ir aš puikiai žinau, ką išgyvena sistemos administratorius, kai suvokia, kiek daug jis dar negali padaryti ir kiek mažai laiko turi to išmokti.

Kodėl sistemos administratoriai turėtų tapti „DevOps“ inžinieriais

Bet ar tikrai taip baisu? Sakyčiau, kad žinių trūkumas neturėtų būti suvokiamas kaip kažkokia didelė problema. Tai daugiau profesinis iššūkis.

Interneto masto produktai yra pagrįsti Linux ar kita atvirojo kodo programine įranga, todėl rinkoje lieka vis mažiau žmonių, galinčių juos išlaikyti. Paklausa jau viršijo šios srities profesionalų skaičių. Sistemos administratorius nebegalės tiesiog tęsti darbo nepagerinęs savo įgūdžių lygio. Jis turi turėti automatizavimo įgūdžių, kad galėtų valdyti kelis serverius / mazgus, ir gerai suprasti, kaip jie veikia sprendžiant iškilusias problemas.

Prieš tapdami DevOps komandos nariu, turite nueiti gana ilgą, bet įdomią kelionę, išmokti naujų technologijų ir įvairių įrankių, reikalingų sistemos priežiūrai pagal DevOps standartus.

Taigi, kaip sistemos administratorius gali pereiti nuo įprasto požiūrio į darbą prie naujos DevOps koncepcijos? Viskas kaip įprasta: pirmiausia reikia pakeisti mąstymą. Nelengva atsisakyti požiūrio, kurio laikiesi pastaruosius dešimt ar dvidešimt metų, ir pradėti daryti kitaip, bet tai būtina.

Visų pirma, svarbu suprasti, kad „DevOps“ yra ne konkreti pozicija įmonėje, o konkrečių praktikų visuma. Ši praktika apima izoliuotų sistemų platinimą, klaidų ir klaidų daromos žalos mažinimą, dažnus ir savalaikius programinės įrangos atnaujinimus, nusistovėjusią kūrėjų (Dev) ir administratorių (Ops) sąveiką, taip pat nuolatinį ne tik kodo, bet ir taip pat visą proceso struktūrą nuolatinis integravimas ir pristatymas (CI / CD).

Keičiant mąstymą, reikia išmokti prižiūrėti infrastruktūrą ir užtikrinti jos stabilų veikimą, patikimumą ir prieinamumą nuolatiniam programų, paslaugų ir programinės įrangos integravimui bei pristatymui.

Jums, kaip „Ops“ profesionalui, gali pritrūkti programavimo įgūdžių. Dabar scenarijų (skriptų), kuriuos sistemos administratoriai naudoja automatiškai įdiegdami pataisas serveryje, tvarkydami failus ir paskyras, šalindami problemas ir rinkdami dokumentus, rašymas jau laikomas pasenusiu. Scenarijus vis dar taikomas gana paprastais atvejais, tačiau „DevOps“ yra skirtas didelio masto problemų sprendimui, nesvarbu, ar tai diegimas, testavimas, kūrimas ar diegimas.

Taigi, jei norite išmokti automatizuoti, turite bent šiek tiek įsisavinti programavimą, net jei nesate kūrėjas, nes šiame savo vystymosi etape infrastruktūros automatizavimas „DevOps“ reikalauja šio įgūdžio.

Ką daryti? Norėdami išlikti paklausūs kaip specialistas, turite įgyti atitinkamų įgūdžių – įvaldyti bent vieną programavimo kalbą, pavyzdžiui, Python. Profesionaliai administruojančiam žmogui tai gali pasirodyti sunku, nes jis įpratęs manyti, kad programuoja tik kūrėjai. Nebūtina tapti ekspertu, bet išmanyti vieną iš programavimo kalbų (tai gali būti Python, Bash ar net PowerShell), tikrai bus privalumas.

Išmokti programuoti užtrunka šiek tiek laiko. Būdami dėmesingi ir kantrūs, bendraudami su „DevOps“ komandos nariais ir klientais galėsite neatsilikti nuo reikalų. Pusvalandis per dieną, valanda ar daugiau, mokytis programavimo kalbos turėtų būti pagrindinis jūsų tikslas.

Sistemos administratoriai ir DevOps specialistai sprendžia panašias problemas, tačiau yra didelių skirtumų. Manoma, kad sistemos administratorius negali padaryti visko, ką gali „DevOps“ inžinierius. Sako, sistemos administratorius labiau orientuojasi į serverių sistemų konfigūravimą, priežiūrą ir našumo užtikrinimą, tačiau „DevOps“ inžinierius tempia visą šį vežimėlį ir dar vieną mažą vežimėlį.

Tačiau kiek šis teiginys yra teisingas?

Sistemos administratorius: vienas karys lauke

Nepaisant šiame straipsnyje nurodytų skirtumų ir panašumų, vis tiek manau, kad tarp sistemų administravimo ir „DevOps“ nėra reikšmingo skirtumo. Sistemos administratoriai visada atliko tas pačias funkcijas kaip ir DevOps specialistai, tik niekas anksčiau to nevadino DevOps. Manau, kad nėra prasmės specialiai ieškoti skirtumų, ypač jei tai nesusiję su jokia užduotimi. Nepamirškite, kad, skirtingai nei sistemos administratorius, DevOps yra ne pozicija, o koncepcija.

Reikėtų pažymėti dar vieną svarbų dalyką, be kurio pokalbis tiek apie administravimą, tiek apie „DevOps“ bus neišsamus. Sistemos administravimas įprasta prasme suponuoja, kad specialistas turi tam tikrų įgūdžių ir yra orientuotas į įvairių tipų infrastruktūrų aptarnavimą. Ne ta prasme, kad tai universalus darbuotojas, o ta prasme, kad yra nemažai užduočių, kurias atlieka visi administratoriai.

Pavyzdžiui, karts nuo karto jiems tenka pabūti savotiškais techniniais meistrais, tai yra, daryti viską. O jei toks administratorius visai organizacijai yra tik vienas, tai jis apskritai atliks visus techninius darbus. Tai gali būti bet kas nuo spausdintuvų ir kopijavimo aparatų priežiūros iki su tinklu susijusių užduočių atlikimo, pvz., maršruto parinktuvų ir jungiklių nustatymas ir valdymas arba ugniasienės konfigūravimas.

Jis taip pat bus atsakingas už aparatinės įrangos atnaujinimą, žurnalų tikrinimą ir analizę, saugos auditą, serverio pataisymą, trikčių šalinimą, pagrindinių priežasčių analizę ir automatizavimą – paprastai per PowerShell, Python arba Bash scenarijus. Vienas naudojimo pavyzdys scenarijai yra vartotojų ir grupių paskyrų valdymas. Vartotojų abonementų kūrimas ir leidimų suteikimas yra labai varginanti užduotis, nes vartotojų atsiranda ir išnyksta beveik kiekvieną dieną. Automatizavimas naudojant scenarijus atlaisvina laiko svarbesniems infrastruktūros darbams, pavyzdžiui, komutatorių ir serverių atnaujinimui bei kitiems projektams, turintiems įtakos įmonės, kurioje dirba administratorius, pelningumui (nors visuotinai priimta, kad IT skyrius tiesiogiai pajamų negeneruoja).

Sistemos administratoriaus užduotis – nešvaistyti laiko ir bet kokiu būdu taupyti įmonės pinigus. Kartais sistemos administratoriai dirba kaip didelės komandos nariai, derindami, pavyzdžiui, Linux, Windows, duomenų bazių, saugyklų ir pan. Darbo grafikai taip pat skiriasi. Pavyzdžiui, vienos laiko juostos poslinkis dienos pabaigoje bylas perkelia į kitą pamainą kitoje laiko juostoje, kad procesai nesustotų (sekti saulę); arba darbuotojai turi įprastą darbo dieną nuo 9 iki 5 val.; arba jis veikia visą parą veikiančiame duomenų centre.

Laikui bėgant sistemų administratoriai išmoko mąstyti strategiškai ir svarbius dalykus derinti su įprastomis užduotimis. Komandoms ir skyriams, kuriuose jie dirba, dažniausiai trūksta resursų, tačiau tuo pat metu visi stengiasi kuo geriau atlikti kasdienes užduotis.

„DevOps“: kūrimas ir priežiūra kaip vienas

DevOps yra savotiška kūrimo ir priežiūros procesų filosofija. Toks požiūris IT pasaulyje tapo tikrai novatoriškas.

Pagal „DevOps“ skėtį vienoje pusėje yra programinės įrangos kūrimo komanda, o kitoje – priežiūros komanda. Prie jų dažnai prisijungia produktų valdymo specialistai, testuotojai ir vartotojo sąsajų dizaineriai. Kartu šie ekspertai supaprastina operacijas, kad greitai įdiegtų naujas programas ir kodo atnaujinimus, kad palaikytų ir pagerintų visos įmonės efektyvumą.

„DevOps“ yra pagrįsta programinės įrangos kūrimo ir veikimo kontrole per visą jos gyvavimo ciklą. Priežiūros darbuotojai turi palaikyti kūrėjus, o kūrėjams pavesta suprasti ne tik sistemose naudojamas API. Jie turi suprasti, kas yra po gaubtu (ty kaip veikia aparatinė įranga ir operacinės sistemos), kad galėtų geriau valdyti klaidas, išspręsti problemas ir bendrauti su techninės priežiūros specialistais.

Sistemos administratoriai gali pereiti į „DevOps“ komandą, jei nori išmokti naujausių technologijų ir yra atviri naujoviškoms idėjoms ir sprendimams. Kaip jau sakiau, jie neturi tapti visaverčiais programuotojais, tačiau įvaldę programavimo kalbą kaip Ruby, Python ar Go, jie taps labai naudingais komandos nariais. Nors tradiciškai sistemos administratoriai visą darbą atlieka patys ir dažnai yra suvokiami kaip vieniši, „DevOps“ jie turi visiškai priešingą patirtį, kai visi proceso dalyviai bendrauja vieni su kitais.

Automatizavimo tema tampa vis aktualesnė. Tiek sistemos administratoriai, tiek DevOps specialistai domisi greitu mastelio keitimu, klaidų mažinimu, esamų klaidų greitu radimu ir ištaisymu. Taigi automatizavimas yra sąvoka, kai susilieja dvi sritys. Sistemos administratoriai yra atsakingi už debesies paslaugas, tokias kaip AWS, Azure ir Google Cloud Platform. Jie turi suprasti nuolatinio integravimo ir pristatymo principus ir kaip naudotis tokiomis priemonėmis kaip Jenkins.

Be to, sistemos administratoriai turi naudoti konfigūravimo ir valdymo įrankius, pvz Galimas, reikalingas lygiagrečiam dešimties ar dvidešimties serverių diegimui.

Pagrindinė koncepcija yra infrastruktūra kaip kodas. Programinė įranga yra viskas. Tiesą sakant, norint, kad sistemos administratoriaus profesija neprarastų aktualumo, tereikia šiek tiek pakeisti akcentus. Sistemos administratoriai dirba paslaugų versle ir turi sugebėti efektyviai bendrauti su kūrėjais ir atvirkščiai. Kaip sakoma, viena galva yra gerai, bet dvi geriau.

Ir paskutinė šio mechanizmo detalė git. Darbas su Git yra viena iš tradicinių kasdienių sistemos administratoriaus pareigų. Šią versijų valdymo sistemą plačiai naudoja kūrėjai, DevOps specialistai, Agile komandos ir daugelis kitų. Jei jūsų darbas susijęs su programinės įrangos gyvavimo ciklu, tuomet tikrai dirbsite su „Git“.

Git turi daug funkcijų. Tikriausiai niekada neišmoksite visų „Git“ komandų, tačiau tiksliai suprasite, kodėl tai yra pagrindinė programinės įrangos komunikacijos ir bendradarbiavimo dalis. Išsamios Git žinios yra labai svarbios, jei dirbate „DevOps“ komandoje.

Jei esate sistemos administratorius, turite geriau išstudijuoti Git, suprasti, kaip kuriamas versijos valdymas, ir atsiminti įprastas komandas: git statusas, git commit -m, git add, git pull, git push, git rebase, git filialas, git skirtumas ir kiti. Yra daug internetinių kursų ir knygų, kurios gali padėti išmokti šią temą nuo nulio ir tapti profesionalu, turinčiu specifinių įgūdžių. Yra ir nuostabių cheat sheets su Git komandomis, todėl jums nereikės jų visų susigrūsti, bet kuo daugiau naudosite „Git“, tuo bus lengviau.

išvada

Galų gale jūs nuspręsite, ar jums reikia tapti „DevOps“ specialistu, ar geriau likti sistemos administratoriumi. Kaip matote, yra mokymosi kreivė, kad būtų galima pereiti, bet kuo anksčiau pradėsite, tuo geriau. Pasirinkite programavimo kalbą ir kartu mokykitės tokių įrankių kaip git (versijos valdymas), Jenkins (CI/CD, nuolatinis integravimas) ir Galimas (konfigūravimas ir automatizavimas). Kad ir kokį variantą pasirinktumėte, nepamirškite, kad turite nuolat mokytis ir tobulinti savo įgūdžius.

Šaltinis: www.habr.com

Добавить комментарий