Kes on DevOps ja millal seda ei vajata

Kes on DevOps ja millal seda ei vajata

DevOps teema on viimastel aastatel muutunud vÀga populaarseks. Paljud soovivad sellesse valdkonda astuda, kuid praktika nÀitab, et tihti on pÔhjuseks ainult palgatase.

MÔned inimesed mainivad oma CV-s DevOps'i, kuigi nad ei pruugi alati mÔista termini olemust. Keegi arvab, et kui ta Ôpib Ansible'i, GitLab'i, Jenkins'i, Terraform'i ja sarnased (nimekirja vÔib jÀtkata vastavalt maitsele), siis muutub ta kohe 'devops'iks. See pole muidugi nii.

Viimased paar aastat olen peamiselt tegelenud DevOps'i rakendamisega erinevates ettevĂ”tetes. Enne seda töötasin ĂŒle 20 aasta ametikohtadel alates sĂŒsteemiadministraatorist kuni IT direktorini. Praegu olen DevOps Lead Engineer Playgendarys.

Kes on DevOps?

Artikli kirjutamise idee tekkis pĂ€rast jĂ€rjekordset kĂŒsimust: 'kes on DevOps?'. Ruumis pole endiselt kindlat mĂ”istet, mida vĂ”i kes see on. Osa vastustest on juba selles video. Esmalt toome vĂ€lja peamised teesid, seejĂ€rel jagan oma tĂ€helepanekuid ja mĂ”tteid.

DevOps ei ole spetsialist, keda saab palgata, ei ole see tööriistade kogum, ega ka arendajate ja inseneride osakond.

DevOps on filosoofia ja metodoloogia.

TeisisĂ”nu, see on praktikate kogum, mis aitab arendajatel aktiivselt suhtlemisel sĂŒsteemiadministraatoritega. See tĂ€hendab, et siduda ja integreerida tööprossid ĂŒksteisega.

DevOps'i tekkimisega jÀi struktuur ja spetsialistide rollid samaks (on arendajad, on insenerid), kuid muutusid suhtlemise reeglid. Osakondade piirid on hÀgustunud.

DevOps'i eesmÀrke vÔib kirjeldada kolme punktiga:

  • Tarkvara peab uuendama regulaarsete ajavahemike jĂ€rel.
  • Tarkvara peab olema kiirelt loodud.
  • Tarkvara peab olema mugav ja kiiresti juurutatav.

DevOps'il ei ole ĂŒhte ainsat tööriista. MÀÀratlemine, seadistamine ja mitme toote Ă”ppimine ei tĂ€henda, et ettevĂ”ttes on olemas DevOps. Tööriistu on vĂ€ga palju ja need on seotud erinevate etappidega, kuid teenivad ĂŒhte ĂŒhist eesmĂ€rki.

Kes on DevOps ja millal seda ei vajata
Ja see on alles osa DevOps'i tööriistadest.

Olen juba rohkem kui 2 aastat intervjueerinud inimesi DevOps-inseneri positsioonile ja olen aru saanud, kui oluline on mÔista termini olemust. Olen kogunud spetsiaalset kogemust, tÀhelepanekuid ja mÔtteid, mida soovin jagada.

Intervjueerimise kogemuse pÔhjal nÀen sellist pilti: neil spetsialistidel, kes arvavad, et DevOps on amet, on tavaliselt kolleegidega arusaamatused..

Oli erekordne nĂ€ide. Intervjuule tuli noormees, kelle CV-s oli hulk nutikaid sĂ”nu. Viimases kolmes töökohas oli tal praktika 5-6 kuud. Kahest idufirmast lahkus ta, kuna need "ei lennanud". Kolmanda ettevĂ”tte kohta ĂŒtles ta, et seal ei mĂ”ista teda keegi: arendajad kirjutavad koodi Windowsi jaoks ja direktor sunnib seda koodi "pakendama" tavapĂ€rasesse Dockerisse ja integreerima CI/CD torustikku. Poisil oli palju negatiivset rÀÀkida oma praegusest töökohast ja kolleegidest - nii et tahtsin vastata: "Sa ei mĂŒĂŒ elevanti."

Siis esitasin talle kĂŒsimuse, mis on minu nimekirjas iga kandidaadi jaoks ĂŒks esimesi.

— Mida tĂ€hendab DevOps isiklikult sinu jaoks?
— Üldiselt vĂ”i kuidas ma seda tajun?

Mind huvitas tema isiklik arvamus. Ta teadis teooriat ja termini pĂ€ritolu, kuid oli sellega kategooriliselt mittes ŃĐŸĐłĐ»Đ°ŃĐ”Đœ. Ta arvas, et DevOps on ametikoht. Just siin peitub tema probleemide juur. Nagu ka teistel spetsialistidel, kellel on sama arvamus.

Tööandjad, kuuldes "DevOpsi maagia" kohta, soovivad leida inimest, kes tuleb ja loob selle "maagia". Ja need kandidaadid, kes arvavad, et "DevOps on ametikoht", ei mĂ”ista, et sellise lĂ€henemisega nad ei saa ootusi Ă”igustada. Ja ĂŒldiselt, nad on oma CV-sse kirjutanud DevOps, kuna see on trend ja selle eest makstakse palju.

DevOpsi metoodika ja filosoofia

Metoodika vĂ”ib olla teoreetiline ja praktiline. Meie puhul – teine. Nagu ma eespool mainisin, on DevOps kogum praktikatest ja strateegiatest, mida kasutatakse soovitud eesmĂ€rkide saavutamiseks. Ja igal juhul, sĂ”ltuvalt ettevĂ”tte Ă€riprotsessidest, vĂ”ib see oluliselt erineda. Mis ei tee seda paremaks vĂ”i halvemaks.

DevOpsi metoodika on vaid vahend seatud eesmÀrkide saavutamiseks.

NĂŒĂŒd sellest, mis on DevOpsi filosoofia. Ja see on tĂ”enĂ€oliselt kĂ”ige raskem kĂŒsimus.

LĂŒhikese ja sisuka vastuse formuleerimine on piisavalt keeruline, kuna see pole veel formaliseeritud. Ja kuna DevOpsi filosoofia pooldajad tegelevad rohkem praktikaga, pole filosoofeerimiseks lihtsalt aega. Sellegipoolest on see vĂ€ga oluline protsess. Ja see on otseselt seotud inseneritegevusega. On isegi spetsialiseeritud teadmiste valdkond — tehnika filosoofia.

Minu ĂŒlikoolis ei olnud sellist ainet, pidin kĂ”ik iseseisvalt Ă”ppima 90ndatel leitud materjalide pĂ”hjal. Teema ei ole insenerihariduse jaoks kohustuslik, seega puudub ka vastuse formaliseerimine. Kuid need inimesed, kes on tĂ”siselt sĂŒvenenud DevOps-i, hakkavad tunnetama mingit "vaimu" vĂ”i "teadmatult kĂ”ikehĂ”lmavust" kĂ”igis ettevĂ”tte protsessides.

Olen oma kogemuste pĂ”hjal pĂŒĂŒdnud formaliseerida mĂ”ned selle filosoofia "postulaadid". Tulemuseks on jĂ€rgmine:

  • DevOps ei ole iseseisev asi, mida saaks eraldi teadus- vĂ”i tegevusvaldkonnana vĂ€lja tuua.
  • DevOps-i metoodikat peaksid jĂ€rgima kĂ”ik ettevĂ”tte töötajad, planeerides oma tegevust.
  • DevOps puudutab kĂ”iki protsesse ettevĂ”ttes.
  • DevOps eksisteerib, et vĂ€hendada ajakulusid igasuguste protsesside jaoks ettevĂ”ttes, tagades teenuste arengu ja maksimaalse kliendi mugavuse.
  • DevOps, tĂ€napĂ€eva keeles, on iga ettevĂ”tte töötaja proaktiivne positsioon, mis on suunatud ajakulude vĂ€hendamisele ja ĂŒmbritsevate IT-toodete kvaliteedi parandamisele.

Arvan, et minu "postulaadid" on eraldi arutelu teema. Kuid nĂŒĂŒd on millegi najal alustada.

Mida teeb DevOps

Siin on vÔtmesÔna - suhtlemine. Suure hulga suhtlemiste algataja peaks olema just see DevOps-insener. Miks? Sest see on filosoofia ja metoodika, ning alles seejÀrel inseneriteadmised.

LÀÀne tööjĂ”uturust ei saa ma 100% kindlusega rÀÀkida. Kuid Venemaa DevOps turust tean ma ĂŒsna palju. Viimase pooleteise aastaga olen osalenud sadades tehnilistes eeltöötlemistes teenuse "DevOps-i rakendamine" jaoks suurtes Venemaa ettevĂ”tetes ja pankades.

Venemaal on DevOps veel vĂ€ga noor, kuid juba trenditeema. Nii palju kui mina tean, oli 2019. aastal Moskvas selliste spetsialistide puudus ĂŒle 1000 inimese. Ja sĂ”na Kubernetes on tööandjate jaoks peaaegu nagu punane rĂ€tt pulli jaoks. Selle tööriista austajad on valmis seda kasutama isegi seal, kus see ei ole vajalik ega majanduslikult kasulik. Tööandja ei mĂ”ista alati, millistes olukordades on mĂ”istlikum kasutada, ja korraliku klastrite kasutuselevĂ”tu korral maksab Kubernetes'i klastrite sisu 2-3 korda rohkem kui rakenduse hÀÀlestamine tavapĂ€rase klastriskeemi jĂ€rgi. Kasutage seda seal, kus see tĂ”eliselt vajalik on.

Kes on DevOps ja millal seda ei vajata

DevOps'i rakendamine rahaga vaadates on kallis. Ja seda pÔhjendatakse ainult seal, kus see toob majanduslikku kasu teistes valdkondades, mitte iseenesest.

DevOps-insenerid on tegelikult teerajajad — just nemad peaksid esimesena seda metoodikat ettevĂ”ttes rakendama ja protsesse ĂŒles ehitama. Selleks, et see oleks edukas, peab spetsialist pidevalt suhtlema töötajate ja kolleegidega igal tasandil. Nagu ma tavaliselt ĂŒtlen, peavad DevOps'i rakendamisse olema kaasatud kĂ”ik ettevĂ”tte töötajad: koristajast kuni tegevjuhini. Ja see on kohustuslik tingimus. Kui meeskonna noorim liige ei tea ega mĂ”ista, mis on DevOps ja miks teatud organisatsioonilised tegevused toimuvad, ei Ă”nnestu edukas rakendamine.

Samuti peab DevOps-insener aeg-ajalt kasutama haldussuutlikkust. NĂ€iteks, et ĂŒletada „keskkonna vastupanu” — kui meeskond ei ole valmis vĂ”tma omaks DevOps'i tööriistu ja metoodikat.

Arendaja peaks kirjutama ainult koodi ja teste. Selleks ei vaja ta supervĂ”imekaid sĂŒlearvuteid, millega ta kohapeal kogu projekti infrastruktuuri ĂŒles seab ja toetab. NĂ€iteks front-end arendaja hoiab endal sĂŒlearvutis kĂ”ik rakenduse elemendid, sealhulgas andmebaasi, S3 emulaatori (minio) jne. See tĂ€hendab, et ta kulutab palju aega selle kohaliku infrastruktuuri hooldamiseks ja ĂŒksinda vĂ”itleb kĂ”igi sellise lahenduse probleemidega. Selle asemel, et arendada koodi esiosa jaoks. Sellised inimesed vĂ”ivad muutuda igasuguste muudatuste vastasteks.

Kuid on ka meeskondi, kes on vastupidi rÔÔmsad uute tööriistade ja meetodite kasutuselevÔtust ning osalevad aktiivselt selles protsessis. Isegi sellisel juhul ei ole kommunikatsioon DevOps-inseneri ja meeskonna vahel kuhugi kadunud.

Kui DevOps'i ei vajata

On olukordi, kus DevOps'i ei vajata. See on fakt — seda tuleb mĂ”ista ja aktsepteerida.

Esiteks puudutab see kĂ”iki ettevĂ”tteid (eriti vĂ€ikeettevĂ”tteid), kui nende kasum ei sĂ”ltu otseselt IT-toodetest, mis pakuvad klientidele teabeteenuseid. Ja siinkohal ei ole jutt ettevĂ”tte veebisaidist, olgu see staatiline "visiitkaart" vĂ”i dĂŒnaamilised uudistetooted jne.

DevOps'i on vaja, kui nende teabeteenuste olemasolu, kvaliteet ja sihtrikkus, mis aitavad kliendisuhtlust, mÔjutavad teie kliendi rahulolu ja tema soovi tagasi tulla just teie juurde.

Selge nĂ€ide on ĂŒks tuntud pank. EttevĂ”ttel ei ole traditsioonilisi klienditeeninduse bĂŒroosid, dokumentatsioon kĂ€ib posti vĂ”i kullerite kaudu, ja paljud töötajad töötavad kodus. EttevĂ”te ei ole enam lihtsalt pank, vaid minu arvates on see muutunud IT-ettevĂ”tteks, millel on arenenud DevOps-tehnoloogiad.

Palju teisi nĂ€iteid ja loenguid leidub temaatiliste ĂŒrituste ja konverentside salvestustes. Osa neist olen kĂŒlastanud isiklikult — see on vĂ€ga kasulik kogemus neile, kes soovivad selles valdkonnas areneda. Siin on lingid YouTube'i kanalitele, kus on hĂ€id loenguid ja materjale DevOps'i kohta:

NĂŒĂŒd vaadake oma Ă€ri ja mĂ”elge sellele: kui palju teie ettevĂ”te ja selle kasum sĂ”ltuvad IT-toodetest, mis tagavad kliendisuhtluse?

Kui teie ettevĂ”te mĂŒĂŒb kala vĂ€ikestes poodides ja ainus IT-toode on kaks 1C: EttevĂ”tte konfiguratsiooni (Raamatupidamine ja UHF), siis ei ole ilmselt mĂ”tet DevOps'ist rÀÀkida.

Kuid kui töötate suures jaotuse ja tootmise ettevĂ”ttes (nĂ€iteks tootmate jahipĂŒsse), siis tasub mĂ”elda. Te saate algatada ja edastada oma juhtkonnale DevOps'i rakendamise perspektiive. Samuti vĂ”ite selle protsessi juhtimise endale vĂ”tta. Proaktiivne hoiak on ĂŒks DevOps'i filosoofia olulisi principe.

Aasta finantskÀibe suurus ja maht ei ole peamine kriteerium, et mÀÀrata, kas teie ettevÔttele on vajalik DevOps.

Kujutame ette suurt tööstusettevÔtet, mis ei suhtu otse klientidega. NÀiteks mÔned autotootjad ja autotööstusettevÔtted. Hetkel ei ole ma kindel, aga minu varasemast kogemusest tulenevalt toimus kogu suhtlus klientidega aastaid lÀbi e-posti ja telefoni.

Nende kliendid on piiratud nimekiri autode edasimĂŒĂŒjatest. IgaĂŒhe juurde on mÀÀratud tootja esindaja. Kogu sisemine dokumentatsioon toimub ERP SAP kaudu. Sisemised töötajad on sisuliselt infok sĂŒsteemi kliendid. Kuid selle infok sĂŒsteemi juhtimine toimub klassikaliste klastrite juhtimise meetodite kaudu, mis vĂ€listab DevOps'i praktikate kasutamise.

Seega jÀreldus: sarnastele ettevÔtetele ei ole DevOps'i rakendamine kriitiliselt oluline, kui meenutada artikli alguses mainitud metoodika eesmÀrke. Kuid ei vÀlista, et nad kasutavad tÀna mÔningaid DevOps'i tööriistu.

Teisest kĂŒljest on palju vĂ€ikeseid ettevĂ”tteid, mis arendavad tarkvara, kasutades DevOps'i metoodikat, filosoofiat, praktikaid ja tööriistu. Nad arvavad, et DevOps'i rakendamise kulud on kulud, mis vĂ”imaldavad neil tĂ”husalt konkureerida tarkvaraturul. Selliseid ettevĂ”tteid vĂ”ib nĂ€ha. siin.

Peamine kriteerium, et mÔista, kas DevOps on vajalik: kui tÀhtsad on teie IT-tooted ettevÔtte ja klientide jaoks.

Kui ettevĂ”tte peamine toode, mis toob kasumit, on tarkvara — vajate DevOps'i. Ja ei ole nii oluline, kui tĂ”eliselt raha teenite teiste kaupadega. Siia vĂ”ib kuulu Interneti-poode vĂ”i mobiilirakendusi mĂ€ngudega.

Igasugused mÀngud eksisteerivad tÀnu rahastusele: kas otse vÔi kaudselt mÀngijate poolt. Playgendary's arendame tasuta mobiilmÀnge, mille loomises osaleb rohkem kui 200 inimest. Kuidas meie kasutame DevOps'i?

Jaa, tÀpselt nii nagu eespool kirjeldatud. Suhtlen pidevalt arendajate ja testijatega, korraldan töötajatele siseÔpet DevOps'i metoodika ja tööriistade osas.

Praegu kasutame aktiivselt Jenkinsit CI/CD torude tööriistana, et tÀita kÔiki Unity kogumisseadmete ja sellele jÀrgnevate rakenduste juurutamiseks App Store'is ja Play Marketis. Veel klassikaline tööriistade valik:

  • Asana — projektide haldamiseks. Integreerimine Jenkinsiga on seadistatud.
  • Google Meet — videokohtumiste korraldamiseks.
  • Slack — kommunikatsiooniks ja erinevate teavituste jaoks, sealhulgas Jenkinsist saadud teavituste jaoks.
  • Atlassian Confluence — dokumenteerimiseks ja rĂŒhmatööks.

LĂ€hitulevikus plaanime rakendada staatilist koodi analĂŒĂŒsi SonarQube'i abil ja lĂ€bi viia automatiseeritud UI-testimise Seleniumi vahenditega pideva integreerimise etapis.

LÔpetuseks

Soovin lÔpetada jÀrgmise mÔttega: et saada kÔrgelt kvalifitseeritud DevOps-inseneriks, on eluliselt tÀhtis Ôppida tÔhusat inimestevaheline suhtlemist.

DevOps-insener on meeskonna mÀngija. Ja mitte muidu. Initsiatiiv suhtlemiseks kolleegidega peab tulema temalt endalt, mitte mingi olukorra ajendil. DevOps-spetsialist peab nÀgema ja pakkuma meeskonnale parimat lahendust.

Ja jah, iga lahenduse rakendamine nĂ”uab palju arutelusid, ning lĂ”puks vĂ”ib see tĂ€iesti muutuda. Iseseisvalt arenedes, pakkudes ja tehes oma ideid — selline inimene omab ĂŒha suuremat vÀÀrtust nii meeskonna kui ka tööandja jaoks. Mis lĂ”ppkokkuvĂ”ttes kajastub tema kuusissetulekus vĂ”i lisapreemiates.

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