Miksi järjestelmänvalvojien tulisi tulla DevOps-insinööreiksi?

Miksi järjestelmänvalvojien tulisi tulla DevOps-insinööreiksi?

Ei ole parempaa aikaa oppia elämässä kuin tänään.


On vuosi 2019, ja DevOps on merkityksellisempi kuin koskaan. He sanovat, että järjestelmänvalvojien aika on ohi, aivan kuten keskustietokoneiden aikakausi. Mutta onko asia todella näin?
Kuten IT-alalla usein tapahtuu, tilanne on muuttunut. DevOps-metodologia on syntynyt, mutta se ei voi olla olemassa ilman henkilöä, jolla on järjestelmänvalvojan taidot, eli ilman Opsia.

Ennen kuin DevOps-lähestymistapa sai nykyaikaisen muodonsa, luokittelin itseni opiksi. Ja tiedän erittäin hyvin, mitä järjestelmänvalvoja kokee, kun hän tajuaa, kuinka paljon hän ei voi vielä tehdä ja kuinka vähän hänellä on aikaa oppia se.

Miksi järjestelmänvalvojien tulisi tulla DevOps-insinööreiksi?

Mutta onko se todella niin pelottavaa? Sanoisin, että tiedon puutetta ei pidä nähdä jonkinlaisena suurena ongelmana. Se on enemmän ammatillinen haaste.

Web-mittakaavan tuotteet perustuvat Linuxiin tai muihin avoimen lähdekoodin ohjelmistoihin, ja niitä ylläpitäviä ihmisiä markkinoilla on yhä vähemmän. Kysyntä on jo ylittänyt alan ammattilaisten määrän. Järjestelmänvalvoja ei voi enää vain jatkaa työskentelyä parantamatta taitotasoaan. Hänellä on oltava automaatiotaidot hallita useita palvelimia/solmuja ja hänellä on oltava hyvä käsitys siitä, kuinka ne toimivat ongelmien ratkaisemiseksi.

Ennen kuin tulet DevOps-tiimin jäseneksi, sinun täytyy käydä läpi melko pitkä, mutta mielenkiintoinen matka, jossa opit uusia teknologioita ja erilaisia ​​työkaluja, joita tarvitaan järjestelmän ylläpitämiseen DevOps-standardien mukaisesti.

Joten kuinka järjestelmänvalvoja voi siirtyä tavallisesta työskentelytavasta uuteen DevOps-konseptiin? Kaikki on tavalliseen tapaan: ensin sinun on muutettava ajatteluasi. Ei ole helppoa luopua lähestymistavasta, jota olet noudattanut viimeisen kymmenen tai kaksikymmentä vuotta, ja alkaa tehdä asioita toisin, mutta se on välttämätöntä.

Ensinnäkin on tärkeää ymmärtää, että DevOps ei ole tietty asema yrityksessä, vaan joukko erityisiä käytäntöjä. Nämä käytännöt edellyttävät eristettyjen järjestelmien jakelua, bugien ja virheiden aiheuttamien haittojen vähentämistä, toistuvia ja oikea-aikaisia ​​ohjelmistopäivityksiä, vakiintunutta vuorovaikutusta kehittäjien (Dev) ja järjestelmänvalvojien (Ops) välillä sekä jatkuvaa koodin, mutta myös koko prosessin rakenne jatkuva integrointi ja toimitus (CI/CD).

Ajattelutavan muuttamisen ohella sinun on opittava ylläpitämään infrastruktuuria ja varmistamaan sen vakaa toiminta, luotettavuus ja saatavuus sovellusten, palveluiden ja ohjelmistojen jatkuvaa integrointia ja toimitusta varten.

Ops-ammattilaisena saatat puuttua ohjelmointitaidot. Nyt komentosarjojen (komentosarjojen) kirjoittaminen, jota järjestelmänvalvojat käyttävät korjaustiedostojen automaattiseen asentamiseen palvelimelle, tiedostojen ja tilien hallintaan, ongelmien vianmääritykseen ja dokumentaation kokoamiseen, katsotaan jo vanhentuneeksi. Komentosarja toimii edelleen suhteellisen yksinkertaisissa tapauksissa, mutta DevOpsissa on kyse suurten ongelmien ratkaisemisesta, olipa kyseessä sitten toteutus, testaus, koontiversiot tai käyttöönotot.

Joten jos haluat oppia automaatiota, sinun on hallittava ainakin vähän ohjelmointia, vaikka et olisikaan kehittäjä, koska tässä kehitysvaiheessa infrastruktuurin automaatio DevOpsissa vaatii tätä taitoa.

Mitä tehdä? Säilyttääksesi kysynnän asiantuntijana sinun on hankittava asiaankuuluvat taidot - hallittava vähintään yksi ohjelmointikieli, esimerkiksi Python. Tämä voi tuntua vaikealta henkilölle, joka on ammattimaisesti mukana hallinnossa, koska hän on tottunut ajattelemaan, että vain kehittäjät ohjelmoivat. Asiantuntijaksi ei tarvitse tulla, vaan jonkin ohjelmointikielen tuntemus (se voi olla Python, Bash tai jopa PowerShell), on ehdottomasti etu.

Ohjelmoinnin oppiminen vie jonkin aikaa. Huomaavainen ja kärsivällinen auttaa sinua pysymään ajan tasalla kommunikoidessasi DevOps-tiimin jäsenten ja asiakkaiden kanssa. Puoli tuntia päivässä, tunti tai enemmän, ohjelmointikielen oppimisen tulisi olla päätavoitteesi.

Järjestelmänvalvojat ja DevOps-asiantuntijat ratkaisevat samanlaisia ​​ongelmia, mutta niissä on merkittäviä eroja. Uskotaan, että järjestelmänvalvoja ei voi tehdä kaikkea, mitä DevOps-insinööri voi. He sanovat, että järjestelmänvalvoja keskittyy enemmän palvelinjärjestelmien konfigurointiin, ylläpitoon ja suorituskyvyn varmistamiseen, mutta DevOps-insinööri vetää kaiken tämän kärryn ja toisen pienen kärryn.

Mutta kuinka totta tämä väite on?

Järjestelmänvalvoja: yksi soturi kentällä

Huolimatta tässä artikkelissa havaituista eroista ja yhtäläisyyksistä uskon edelleen, että järjestelmänhallinnan ja DevOpsin välillä ei ole merkittävää eroa. Järjestelmänvalvojat ovat aina suorittaneet samoja toimintoja kuin DevOps-asiantuntijat, mutta kukaan ei ole aiemmin kutsunut sitä DevOpsiksi. Uskon, että eroja on turha etsiä erityisesti, jos se ei liity mihinkään tehtävään. Älä unohda, että toisin kuin järjestelmänvalvoja, DevOps ei ole asema, vaan konsepti.

Vielä yksi tärkeä asia on huomioitava, jota ilman keskustelu sekä hallinnosta että DevOpsista jää kesken. Tavanomaisessa mielessä järjestelmähallinta edellyttää, että asiantuntijalla on tietyt taidot ja hän on keskittynyt erilaisten infrastruktuurien huoltoon. Ei siinä mielessä, että tämä on yleinen työntekijä, vaan siinä mielessä, että kaikki järjestelmänvalvojat suorittavat useita tehtäviä.

Heidän on esimerkiksi aika ajoin toimittava eräänlaisena teknisenä käsimiehenä, eli tehtävä kirjaimellisesti kaikki. Ja jos koko organisaatiossa on vain yksi tällainen ylläpitäjä, hän yleensä suorittaa kaiken teknisen työn. Tämä voi olla mitä tahansa tulostimien ja kopiokoneiden ylläpidosta verkkoon liittyvien tehtävien suorittamiseen, kuten reitittimien ja kytkimien määrittäminen ja hallinta tai palomuurin määrittäminen.

Hän vastaa myös laitteistopäivityksistä, lokien tarkastamisesta ja analysoinnista, tietoturvatarkastuksista, palvelinkorjauksista, vianmäärityksestä, perussyyanalyysistä ja automaatiosta – tyypillisesti PowerShell-, Python- tai Bash-komentosarjojen avulla. Yksi esimerkki käytöstä skenaarioita on käyttäjä- ja ryhmätilien hallinta. Käyttäjätilien luominen ja käyttöoikeuksien myöntäminen on erittäin työlästä tehtävää, koska käyttäjiä ilmestyy ja katoaa lähes joka päivä. Skripteillä tapahtuva automatisointi vapauttaa aikaa tärkeämpiin infrastruktuuritehtäviin, kuten kytkimien ja palvelimien päivittämiseen ja muihin järjestelmänvalvojan työskentelyyrityksen kannattavuuteen vaikuttaviin projekteihin (vaikka on yleisesti hyväksyttyä, että IT-osasto ei suoraan tuota tuloja).

Järjestelmänvalvojan tehtävänä ei ole tuhlata aikaa ja säästää yrityksen rahaa kaikin mahdollisin tavoin. Joskus järjestelmänvalvojat työskentelevät suuren tiimin jäseninä yhdistäen esimerkiksi Linuxin, Windowsin, tietokantojen, tallennustilan ja niin edelleen ylläpitäjät. Myös työaikataulut vaihtelevat. Esimerkiksi yhden aikavyöhykkeen muutos päivän lopussa siirtää tapaukset seuraavaan vuoroon toisella aikavyöhykkeellä, jotta prosessit eivät pysähdy (seuraa aurinkoa); tai työntekijöillä on normaali työpäivä klo 9-5; tai se toimii XNUMX/XNUMX-palvelinkeskuksessa.

Ajan myötä järjestelmänvalvojat ovat oppineet ajattelemaan strategisesti ja yhdistämään tärkeät asiat rutiinitehtäviin. Tiimit ja osastot, joissa he työskentelevät, ovat yleensä resurssipulaa, mutta samalla jokainen yrittää suorittaa päivittäiset tehtävät täysillä.

DevOps: kehitys ja ylläpito yhtenä kokonaisuutena

DevOps on eräänlainen kehitys- ja ylläpitoprosessien filosofia. Tästä IT-maailman lähestymistavasta on tullut todella innovatiivinen.

DevOpsin sateenvarjon alla on toisella puolella ohjelmistokehitystiimi ja toisella huoltotiimi. Heihin liittyy usein tuotehallinnan asiantuntijoita, testaajia ja käyttöliittymäsuunnittelijoita. Yhdessä nämä asiantuntijat tehostavat toimintaa ja tuovat nopeasti markkinoille uusia sovelluksia ja koodipäivityksiä, jotka tukevat ja parantavat koko yrityksen tehokkuutta.

DevOps perustuu ohjelmiston kehityksen ja toiminnan hallintaan sen koko elinkaaren ajan. Ylläpitohenkilöiden on tuettava kehittäjiä, ja kehittäjien tehtävänä on ymmärtää muutakin kuin järjestelmissä käytettyjä API-liittymiä. Heidän on ymmärrettävä, mitä konepellin alla on (eli kuinka laitteistot ja käyttöjärjestelmät toimivat), jotta he voivat paremmin käsitellä vikoja, ratkaista ongelmia ja olla vuorovaikutuksessa huoltoteknikkojen kanssa.

Järjestelmänvalvojat voivat siirtyä DevOps-tiimiin, jos he haluavat oppia uusimmat tekniikat ja ovat avoimia innovatiivisille ideoille ja ratkaisuille. Kuten sanoin, heidän ei tarvitse olla täysivaltaisia ​​ohjelmoijia, mutta ohjelmointikielen, kuten Rubyn, Pythonin tai Go, hallitseminen auttaa heitä tulemaan erittäin hyödyllisiksi tiimin jäseniksi. Vaikka järjestelmänvalvojat tekevät perinteisesti kaiken työn itse ja heitä pidetään usein yksinäisinä, DevOpsissa heillä on täysin päinvastainen kokemus, jossa kaikki prosessissa olevat ovat vuorovaikutuksessa keskenään.

Aiheesta automaatio on tulossa yhä ajankohtaisempi. Sekä järjestelmänvalvojat että DevOps-asiantuntijat ovat kiinnostuneita nopeasta skaalauksesta, virheiden vähentämisestä sekä olemassa olevien virheiden nopeasta löytämisestä ja korjaamisesta. Automaatio on siis käsite, jossa kaksi aluetta yhtyvät. Järjestelmänvalvojat ovat vastuussa pilvipalveluista, kuten AWS, Azure ja Google Cloud Platform. Heidän tulee ymmärtää jatkuvan integroinnin ja toimituksen periaatteet sekä työkalujen, kuten esim Jenkins.

Lisäksi järjestelmänvalvojien on käytettävä konfigurointi- ja hallintatyökaluja, kuten Ansible, joita tarvitaan kymmenen tai kahdenkymmenen palvelimen rinnakkaiskäyttöön.

Pääkonsepti on infrastruktuuri koodina. Ohjelmisto on kaikki kaikessa. Itse asiassa, jotta järjestelmänvalvojan ammatti ei menetä merkitystään, sinun on vain muutettava painotusta hieman. Järjestelmänvalvojat ovat palvelualalla ja heidän on kyettävä kommunikoimaan tehokkaasti kehittäjien kanssa ja päinvastoin. Kuten sanotaan, yksi pää on hyvä, mutta kaksi on parempi.

Ja viimeinen yksityiskohta tässä mekanismissa on mennä. Gitin kanssa työskentely on yksi järjestelmänvalvojan perinteisistä päivittäisistä tehtävistä. Tätä versionhallintajärjestelmää käyttävät laajasti kehittäjät, DevOps-asiantuntijat, ketterät tiimit ja monet muut. Jos työsi liittyy ohjelmiston elinkaareen, työskentelet varmasti Gitin kanssa.

Gitissä on paljon ominaisuuksia. Et todennäköisesti koskaan opi kaikkia Git-komentoja, mutta ymmärrät tarkalleen, miksi se on ohjelmistoviestinnän ja yhteistyön peruselementti. Gitin perusteellinen tuntemus on erittäin tärkeää, jos työskentelet DevOps-tiimissä.

Jos olet järjestelmänvalvoja, sinun on opittava paremmin Gitiä, ymmärrettävä, kuinka versionhallinta on rakennettu ja muistettava yleiset komennot: git status, git commit -m, git add, git pull, git push, git rebase, git haara, git diff ja muut. On olemassa monia verkkokursseja ja kirjoja, joiden avulla voit oppia tämän aiheen tyhjästä ja tulla ammattilaiseksi, jolla on erityisiä taitoja. Siellä on myös upeita huijausarkkeja Git-komennoilla, joten sinun ei tarvitse ahtaa niitä kaikkia, mutta mitä enemmän käytät Gitiä, sitä helpompaa se on.

Johtopäätös

Viime kädessä sinä päätät, haluatko tulla DevOps-asiantuntijaksi vai onko parempi pysyä järjestelmänvalvojana. Kuten näette, siirtymiseen liittyy oppimiskäyrä, mutta mitä nopeammin aloitat, sitä parempi. Valitse ohjelmointikieli ja opi samanaikaisesti työkaluja, kuten mennä (versionhallinta), Jenkins (CI/CD, jatkuva integrointi) ja Ansible (konfigurointi ja automaatio). Minkä tahansa vaihtoehdon valitsetkin, älä unohda, että sinun on jatkuvasti opittava ja parannettava taitojasi.

Lähde: will.com

Lisää kommentti