Għaliex huwa meħtieġ DevOps u min huma speċjalisti DevOps?

Meta applikazzjoni ma taħdimx, l-aħħar ħaġa li trid tisma' mingħand il-kollegi tiegħek hija l-frażi "il-problema hija min-naħa tiegħek." Bħala riżultat, l-utenti jbatu - u ma jimpurtahomx liema parti tat-tim hija responsabbli għat-tqassim. Il-kultura DevOps ħarġet preċiżament biex iġġib l-iżvilupp u l-appoġġ flimkien madwar responsabbiltà kondiviża għall-prodott finali.

Liema prattiki huma inklużi fil-kunċett ta 'DevOps u għaliex huma meħtieġa? X'jagħmlu l-inġiniera DevOps u x'għandhom ikunu kapaċi jagħmlu? Esperti mill-EPAM iwieġbu dawn u mistoqsijiet oħra: Kirill Sergeev, inġinier tas-sistemi u evanġelista DevOps, u Igor Boyko, inġinier ewlieni tas-sistemi u koordinatur ta’ wieħed mit-timijiet DevOps tal-kumpanija.

Għaliex huwa meħtieġ DevOps u min huma speċjalisti DevOps?

Għaliex hija meħtieġa DevOps?

Preċedentement, kien hemm ostaklu bejn l-iżviluppaturi u l-appoġġ (l-hekk imsejħa operazzjonijiet). Jidher paradossali, iżda kellhom għanijiet u KPIs differenti, għalkemm kienu qed jagħmlu l-istess ħaġa. L-għan tal-iżvilupp kien li jimplimenta r-rekwiżiti tan-negozju malajr kemm jista 'jkun u jżidhom ma' prodott li jaħdem. L-appoġġ kien responsabbli biex jiżgura li l-applikazzjoni taħdem b'mod stabbli - u kwalunkwe bidla tpoġġi l-istabbiltà f'riskju. Hemm kunflitt ta 'interess - DevOps deher li jsolvih.

X'inhu DevOps?

Hija mistoqsija tajba - u waħda kontroversjali: id-dinja għadha ma qablitx dwar dan. EPAM temmen li DevOps jgħaqqad teknoloġiji, proċessi u kultura ta 'interazzjoni fi ħdan tim. Din l-assoċjazzjoni għandha l-għan li tagħti valur kontinwament lill-utenti finali.

Kirill Sergeev: “L-iżviluppaturi jiktbu kodiċi, dawk li jittestjaw jirreveduh, u l-amministraturi jużaw il-prodott finali għall-produzzjoni. Għal żmien twil, dawn il-partijiet tat-tim kienu kemmxejn imxerrda, u mbagħad ħarġet l-idea li jgħaqqduhom permezz ta 'proċess komuni. Hekk dehru l-prattiki DevOps.”

Wasal il-jum meta l-iżviluppaturi u l-inġiniera tas-sistema saru interessati fix-xogħol ta’ xulxin. L-ostaklu bejn il-produzzjoni u l-appoġġ beda jisparixxi. Hekk ħarġu DevOps, li jinkludi prattiċi, kultura u interazzjoni tat-tim.

Għaliex huwa meħtieġ DevOps u min huma speċjalisti DevOps?

X'inhi l-essenza tal-kultura DevOps?

Il-fatt hu li r-responsabbiltà għar-riżultat finali hija ta’ kull membru tat-tim. L-iktar ħaġa interessanti u diffiċli fil-filosofija DevOps hija li tifhem li persuna speċifika mhix biss responsabbli għall-istadju tax-xogħol tagħha stess, iżda hija responsabbli għal kif se jaħdem il-prodott kollu. Il-problema ma tinsab fuq in-naħa ta 'ħadd - hija kondiviża, u kull membru tat-tim jgħin biex issolviha.

L-iktar ħaġa importanti f'kultura DevOps hija li ssolvi l-problema, mhux biss tapplika l-prattiki DevOps. Barra minn hekk, dawn il-prattiki mhumiex implimentati "min-naħa ta 'xi ħadd", iżda matul il-prodott kollu. Proġett m'għandux bżonn inġinier DevOps per se - jeħtieġ soluzzjoni għal problema, u r-rwol ta 'inġinier DevOps jista' jitqassam fost diversi membri tat-tim bi speċjalizzazzjonijiet differenti.

X'inhuma t-tipi ta' prattiki DevOps?

Il-prattiki DevOps ikopru l-istadji kollha taċ-ċiklu tal-ħajja tas-softwer.

Igor Boyko: "Il-każ ideali huwa meta nibdew nużaw il-prattiki DevOps eżatt fil-bidu ta 'proġett. Flimkien mal-periti, nippjanaw liema pajsaġġ arkitettoniku se jkollha l-applikazzjoni, fejn se tkun tinsab u kif tiskala, u nagħżlu pjattaforma. Illum il-ġurnata, l-arkitettura tal-mikroservizzi hija moda; għaliha aħna nagħżlu sistema ta 'orkestrazzjoni: trid tkun kapaċi tmexxi kull element tal-applikazzjoni separatament u taġġornaha indipendentement mill-oħrajn. Prattika oħra hija "l-infrastruttura bħala kodiċi." Dan huwa l-isem għal approċċ li fih l-infrastruttura tal-proġett hija maħluqa u ġestita bl-użu ta 'kodiċi, aktar milli permezz ta' interazzjoni diretta mas-servers.

Sussegwentement nimxu għall-istadju ta 'żvilupp. Waħda mill-akbar prattiki hawnhekk hija l-bini ta 'CI/CD: għandek bżonn tgħin lill-iżviluppaturi jintegraw il-bidliet fil-prodott malajr, f'porzjonijiet żgħar, aktar spiss u mingħajr tbatija. CI/CD tkopri reviżjoni tal-kodiċi, ittella 'l-kaptan fil-bażi tal-kodiċi, u skjerament tal-applikazzjoni għall-ambjenti tat-test u tal-produzzjoni.

Fl-istadji CI/CD, il-kodiċi jgħaddi minn gradi ta 'kwalità. Bl-għajnuna tagħhom, huma jiċċekkjaw li l-kodiċi li joħroġ mill-istazzjon tax-xogħol tal-iżviluppatur jissodisfa l-kriterji ta 'kwalità speċifikati. L-ittestjar tal-unità u tal-UI huwa miżjud hawn. Għal skjerament tal-prodott veloċi, mingħajr tbatija u ffukat, tista 'tagħżel it-tip ta' skjerament xieraq.

Il-prattikanti tad-DevOps għandhom ukoll post fl-istadju li jappoġġaw il-prodott lest. Jintużaw għall-monitoraġġ, feedback, sigurtà, u l-introduzzjoni ta 'bidliet. DevOps iħares lejn dawn il-kompiti kollha minn perspettiva ta 'titjib kontinwu. Aħna nimminimizzaw l-operazzjonijiet ripetittivi u nawtomathom. Dan jinkludi wkoll migrazzjonijiet, espansjoni tal-applikazzjoni, u appoġġ għall-prestazzjoni.”

X'inhuma l-benefiċċji tal-prattiki DevOps?

Kieku konna qed niktbu ktieb ta 'test dwar il-prattiki moderni ta' DevOps, ikun hemm tliet punti fl-ewwel paġna: awtomazzjoni, tħaffif tar-rilaxxi, u feedback rapidu mill-utenti.

Kirill Sergeev: “L-ewwel ħaġa hija l-awtomazzjoni. Nistgħu nawtomatizzaw l-interazzjonijiet kollha fit-tim: kiteb il-kodiċi - ħarġet - iċċekkjah - installah - ġabar feedback - lura għall-bidu. Dan kollu huwa awtomatiku.

It-tieni qed tħaffef ir-rilaxx u anke tissimplifika l-iżvilupp. Huwa dejjem importanti għall-klijent li l-prodott jidħol fis-suq kemm jista 'jkun malajr u jibda jipprovdi benefiċċji qabel l-analogi tal-kompetituri. Il-proċess tal-kunsinna tal-prodott jista 'jitjieb bla tmiem: jitnaqqas il-ħin, jiżdiedu marki ta' kontroll addizzjonali, jittejjeb il-monitoraġġ.

It-tielet hija l-aċċelerazzjoni tar-rispons tal-utent. Jekk ikollu kummenti, nistgħu immedjatament nagħmlu aġġustamenti u naġġornaw l-applikazzjoni immedjatament.”

Għaliex huwa meħtieġ DevOps u min huma speċjalisti DevOps?

Kif jirrelataw il-kunċetti ta '"inġinier tas-sistemi", "inġinier tal-bini" u "inġinier DevOps"?

Huma jikkoinċidu, iżda jappartjenu għal żoni kemmxejn differenti.

Inġinier tas-sistemi fl-EPAM huwa pożizzjoni. Jiġu f'livelli differenti: minn junior sa chief specialist.

Inġinier tal-bini huwa aktar rwol li jista 'jitwettaq fuq proġett. Issa hekk jissejħu n-nies responsabbli għas-CI/CD.

Inġinier DevOps huwa speċjalista li jimplimenta prattiki DevOps fuq proġett.

Jekk niġbru dan kollu, nieħdu xi ħaġa bħal din: persuna fil-pożizzjoni ta 'inġinier tas-sistemi għandha r-rwol ta' inġinier tal-bini fuq proġett u hija involuta fl-implimentazzjoni tal-prattiki DevOps hemmhekk.

X'jagħmel eżattament inġinier DevOps?

L-inġiniera DevOps ġabru flimkien il-biċċiet kollha li jiffurmaw proġett. Huma jafu l-ispeċifiċitajiet tax-xogħol tal-programmaturi, tat-testers, tal-amministraturi tas-sistema u jgħinu biex jissimplifikaw ix-xogħol tagħhom. Huma jifhmu l-ħtiġijiet u r-rekwiżiti tan-negozju, ir-rwol tiegħu fil-proċess ta 'żvilupp - u jibnu l-proċess filwaqt li jqisu l-interessi tal-klijent.

Tkellimna ħafna dwar l-awtomazzjoni - dan huwa dak li jittrattaw l-inġiniera DevOps l-ewwel u qabel kollox. Dan huwa punt kbir ħafna, li, fost affarijiet oħra, jinkludi t-tħejjija tal-ambjent.

Kirill Sergeev: “Qabel ma jiġu implimentati aġġornamenti fil-prodott, jeħtieġ li jiġu ttestjati f'ambjent ta 'parti terza. Huwa ppreparat minn inġiniera DevOps. Huma jrawmu kultura DevOps fuq il-proġett kollu kemm hu: jintroduċu prattiki DevOps fis-saffi kollha tal-proġetti tagħhom. Dawn it-tliet prinċipji: awtomazzjoni, simplifikazzjoni, aċċelerazzjoni - iġibu kull fejn jistgħu jilħqu.”

X'għandu jkun jaf inġinier DevOps?

B'mod ġenerali, għandu jkollu għarfien minn oqsma differenti: programmar, ħidma ma 'sistemi operattivi, databases, sistemi ta' assemblaġġ u konfigurazzjoni. Dawn jinkludu l-abbiltà li taħdem b'infrastruttura tal-cloud, orkestrazzjoni u sistemi ta' monitoraġġ.

1. Lingwi tal-ipprogrammar

L-inġiniera DevOps jafu diversi lingwi bażiċi għall-awtomazzjoni u jistgħu, pereżempju, jgħidu lil programmatur: "Xi ngħidu li tinstalla l-kodiċi mhux bl-idejn, iżda billi tuża l-iskrittura tagħna, li awtomat kollox? Aħna ser nippreparaw fajl ta 'konfigurazzjoni għaliha, ikun konvenjenti kemm għalik kif ukoll għalina biex naqraw, u nkunu nistgħu nbiddluh fi kwalunkwe ħin. Se naraw ukoll min, meta u għaliex jagħmel bidliet għaliha.”

Inġinier DevOps jista’ jitgħallem waħda jew aktar minn dawn il-lingwi: Python, Groovy, Bash, Powershell, Ruby, Go. Mhuwiex meħtieġ li tkun tafhom f'livell profond - il-baŜi tas-sintassi, il-prinċipji OOP, u l-abbiltà li tikteb skripts sempliċi għall-awtomazzjoni huma biżżejjed.

2. Sistemi operattivi

Inġinier DevOps irid jifhem fuq liema server se jkun installat il-prodott, f'liema ambjent se jaħdem, u liema servizzi se jinteraġixxi magħhom. Tista' tagħżel li tispeċjalizza fil-Windows jew fil-familja Linux.

3. Sistemi ta 'kontroll tal-verżjoni

Mingħajr għarfien ta 'sistema ta' kontroll tal-verżjoni, inġinier DevOps mhu mkien. Git hija waħda mis-sistemi l-aktar popolari bħalissa.

4. Fornituri tal-cloud

AWS, Google, Azure - speċjalment jekk qed nitkellmu dwar id-direzzjoni tal-Windows.

Kirill Sergeev: “Il-fornituri tas-sħab jipprovdulna servers virtwali li jidħlu perfettament fis-CI/CD.

L-installazzjoni ta 'għaxar servers fiżiċi teħtieġ madwar mitt operazzjoni manwali. Kull server għandu jiġi mniedi manwalment, installat u kkonfigurat is-sistema operattiva meħtieġa, installat l-applikazzjoni tagħna fuq dawn l-għaxar servers, u mbagħad iċċekkja kollox għaxar darbiet. Is-servizzi tal-cloud jissostitwixxu din il-proċedura b'għaxar linji ta 'kodiċi, u inġinier DevOps tajjeb għandu jkun jista' jopera magħhom. Dan jiffranka ħin, sforz u flus – kemm għall-klijent kif ukoll għall-kumpanija.”

5. Sistemi ta 'orkestrazzjoni: Docker u Kubernetes

Kirill Sergeev: “Is-servers virtwali huma maqsuma f’kontenituri, li f’kull wieħed minnhom nistgħu ninstallaw l-applikazzjoni tagħna. Meta jkun hemm ħafna kontenituri, trid timmaniġġjahom: ixgħel wieħed, itfi ieħor, tagħmel backups x'imkien. Dan isir pjuttost kumpless u jeħtieġ sistema ta 'orkestrazzjoni.

Preċedentement, kull applikazzjoni kienet ttrattata minn server separat - kwalunkwe tibdil fit-tħaddim tagħha jista 'jaffettwa s-servizz tal-applikazzjoni. Grazzi għall-kontenituri, l-applikazzjonijiet isiru iżolati u jaħdmu separatament - kull wieħed fuq il-magna virtwali tiegħu stess. Jekk isseħħ falliment, m'hemmx għalfejn taħli l-ħin biex tfittex il-kawża. Huwa aktar faċli li teqred il-kontenitur il-qadim u żżid wieħed ġdid.”

6. Sistemi ta 'konfigurazzjoni: Chef, Ansible, Puppet

Meta jkollok bżonn iżżomm flotta sħiħa ta 'servers, trid tagħmel ħafna mill-istess tip ta' operazzjonijiet. Huwa twil u diffiċli, u x-xogħol manwali jżid ukoll iċ-ċans ta 'żball. Dan huwa fejn is-sistemi ta 'konfigurazzjoni jiġu għas-salvataġġ. Bl-għajnuna tagħhom, huma joħolqu skript li huwa faċli biex jinqara għal programmaturi, inġiniera DevOps, u amministraturi tas-sistema. Din l-iskrittura tgħin biex twettaq l-istess operazzjonijiet fuq servers awtomatikament. Dan inaqqas l-operazzjonijiet manwali (u għalhekk l-iżbalji).

X'tip ta' karriera jista' jibni inġinier DevOps?

Tista 'tiżviluppa kemm orizzontalment kif ukoll vertikalment.

Igor Boyko: "Mill-aspett ta 'żvilupp orizzontali, l-inġiniera DevOps issa għandhom l-aktar prospetti wesgħin. Kollox qed jinbidel kontinwament, u tista 'tibni ħiliet f'varjetà ta' oqsma: minn sistemi ta 'kontroll tal-verżjoni għal monitoraġġ, mill-ġestjoni tal-konfigurazzjoni għal databases.

Tista’ ssir perit tas-sistema jekk impjegat ikun interessat li jifhem kif taħdem applikazzjoni fl-istadji kollha taċ-ċiklu tal-ħajja tagħha – mill-iżvilupp sal-appoġġ.”

Kif issir inġinier DevOps?

  1. Aqra l-Manwal tal-Proġett Phoenix u DevOps. Dawn huma l-pilastri reali tal-filosofija DevOps, bl-ewwel wieħed ikun xogħol ta’ finzjoni.
  2. Tgħallem it-teknoloġiji mil-lista ta’ hawn fuq: waħdek jew permezz ta’ korsijiet onlajn.
  3. Ingħaqad bħala inġinier DevOps għal proġett open source.
  4. Ipprattika u toffri prattiki DevOps fuq il-proġetti personali u tax-xogħol tiegħek.

Sors: www.habr.com

Żid kumment