Af hverju er DevOps þörf og hverjir eru DevOps sérfræðingar?

Þegar forrit virkar ekki er það síðasta sem þú vilt heyra frá samstarfsfólki þínu setningin „vandamálið er þín megin“. Fyrir vikið þjást notendur - og þeim er alveg sama hvaða hluti teymisins ber ábyrgð á biluninni. DevOps menningin varð til einmitt til að koma þróun og stuðningi saman í kringum sameiginlega ábyrgð á lokaafurðinni.

Hvaða vinnubrögð eru innifalin í hugmyndinni um DevOps og hvers vegna er þörf á þeim? Hvað gera DevOps verkfræðingar og hvað ættu þeir að geta gert? Sérfræðingar frá EPAM svara þessum og öðrum spurningum: Kirill Sergeev, kerfisverkfræðingur og DevOps evangelist, og Igor Boyko, leiðandi kerfisverkfræðingur og umsjónarmaður eins af DevOps teymum fyrirtækisins.

Af hverju er DevOps þörf og hverjir eru DevOps sérfræðingar?

Af hverju er DevOps þörf?

Áður var þröskuldur milli þróunaraðila og stuðnings (svokallaður rekstur). Það hljómar þversagnakennt, en þeir höfðu mismunandi markmið og KPI, þó þeir væru að gera það sama. Markmið þróunarinnar var að innleiða viðskiptakröfur eins fljótt og auðið er og bæta þeim við virka vöru. Stuðningur bar ábyrgð á að tryggja að forritið virkaði stöðugt - og allar breytingar settu stöðugleika í hættu. Það eru hagsmunaárekstrar - DevOps virtist leysa hann.

Hvað er DevOps?

Það er góð spurning - og umdeild: heimurinn hefur ekki enn verið endanlega sammála um þetta. EPAM telur að DevOps sameinar tækni, ferla og menningu samskipta innan teymisins. Þetta félag hefur það að markmiði að skila stöðugt gildi til notenda.

Kirill Sergeev: „Hönnuðir skrifa kóða, prófunaraðilar fara yfir hann og stjórnendur senda lokaafurðina í framleiðslu. Lengi vel dreifðust þessir hlutar teymisins nokkuð og þá kom upp sú hugmynd að sameina þá í gegnum sameiginlegt ferli. Svona birtust DevOps venjur.

Dagurinn rann upp þegar forritarar og kerfisfræðingar fengu áhuga á verkum hvors annars. Múrinn milli framleiðslu og stuðnings fór að hverfa. Þetta er hvernig DevOps varð til, sem felur í sér starfshætti, menningu og samskipti teymi.

Af hverju er DevOps þörf og hverjir eru DevOps sérfræðingar?

Hver er kjarninn í DevOps menningu?

Staðreyndin er sú að ábyrgð á endanlegri niðurstöðu er hjá hverjum liðsmanni. Það áhugaverðasta og erfiðasta í DevOps hugmyndafræðinni er að skilja að tiltekinn einstaklingur er ekki bara ábyrgur fyrir eigin vinnustigi, heldur ber ábyrgð á því hvernig öll varan mun virka. Vandamálið liggur ekki hjá neinum - því er deilt og hver liðsmaður hjálpar til við að leysa það.

Það mikilvægasta í DevOps menningu er að leysa vandamálið, ekki bara beita DevOps venjum. Þar að auki eru þessar aðferðir ekki innleiddar „af hálfu einhvers“, heldur um alla vöruna. Verkefni þarf ekki DevOps verkfræðing í sjálfu sér - það þarf lausn á vandamáli og hlutverki DevOps verkfræðings er hægt að dreifa á nokkra liðsmenn með mismunandi sérhæfingu.

Hverjar eru tegundir DevOps starfsvenja?

DevOps venjur ná yfir öll stig hugbúnaðarlífsferils.

Igor Boyko: „Tilvalið tilvik er þegar við byrjum að nota DevOps vinnubrögð strax við upphaf verkefnisins. Í sameiningu með arkitektunum skipuleggjum við hvers konar byggingarlandslag umsóknin mun hafa, hvar hún verður staðsett og hvernig skal skalast og veljum vettvang. Nú á dögum er örþjónustuarkitektúr í tísku - fyrir hann veljum við hljómsveitarkerfi: þú þarft að geta stjórnað hverjum þætti forritsins fyrir sig og uppfært það óháð öðrum. Önnur venja er „innviðir sem kóða“. Þetta er nafnið á nálgun þar sem innviði verkefnisins er búið til og stjórnað með kóða, frekar en með beinum samskiptum við netþjóna.

Næst förum við yfir á þróunarstigið. Ein stærsta aðferðin hér er að byggja CI/CD: þú þarft að hjálpa forriturum að samþætta breytingar inn í vöruna fljótt, í litlum skömmtum, oftar og sársaukalaust. CI/CD fjallar um endurskoðun kóða, upphleðslu meistarans í kóðagrunninn og uppsetningu forritsins í prófunar- og framleiðsluumhverfi.

Á CI/CD stigum fer kóðinn í gegnum gæðahlið. Með hjálp þeirra athuga þeir hvort kóðinn sem kemur út úr vinnustöð þróunaraðila uppfylli tilgreind gæðaviðmið. Eininga- og notendaprófun er bætt við hér. Fyrir hraða, sársaukalausa og markvissa vöruuppsetningu geturðu valið viðeigandi dreifingargerð.

DevOps iðkendur eiga einnig stað á því stigi að styðja við fullunna vöru. Þau eru notuð til að fylgjast með, endurgjöf, öryggi og kynna breytingar. DevOps lítur á öll þessi verkefni út frá stöðugum umbótum. Við lágmarkum endurteknar aðgerðir og gerum þær sjálfvirkar. Þetta felur einnig í sér flutninga, stækkun forrita og frammistöðustuðning.

Hver er ávinningurinn af DevOps aðferðum?

Ef við værum að skrifa kennslubók um nútíma DevOps starfshætti, þá væru þrír punktar á fyrstu síðu: sjálfvirkni, flýta útgáfum og skjót viðbrögð frá notendum.

Kirill Sergeev: „Það fyrsta er sjálfvirkni. Við getum sjálfvirkt öll samskipti í teyminu: skrifaði kóðann - rúllaði honum út - athugaði hann - setti hann upp - safnað endurgjöf - fór aftur í byrjun. Allt er þetta sjálfvirkt.

Annað er að flýta útgáfunni og jafnvel einfalda þróun. Það er alltaf mikilvægt fyrir viðskiptavininn að varan komi á markaðinn eins fljótt og auðið er og byrji að skila ávinningi fyrr en hliðstæður samkeppnisaðila. Hægt er að bæta vöruafhendingarferlið endalaust: stytta tíma, bæta við viðbótarstýringarmerkjum, bæta eftirlit.

Í þriðja lagi er hröðun á endurgjöf notenda. Ef hann hefur athugasemdir getum við strax gert breytingar og uppfært umsóknina strax.“

Af hverju er DevOps þörf og hverjir eru DevOps sérfræðingar?

Hvernig tengjast hugtökin „kerfisverkfræðingur“, „byggingaverkfræðingur“ og „DevOps verkfræðingur“?

Þeir skarast, en tilheyra aðeins mismunandi svæðum.

Kerfisfræðingur hjá EPAM er starf. Þeir koma á mismunandi stigum: frá yngri til yfirsérfræðings.

Byggingarverkfræðingur er meira hlutverk sem hægt er að sinna í verkefni. Nú kallast þetta fólk sem ber ábyrgð á CI/CD.

DevOps verkfræðingur er sérfræðingur sem innleiðir DevOps starfshætti í verkefni.

Ef við tökum þetta allt saman þá fáum við eitthvað á þessa leið: einstaklingur í stöðu kerfisfræðings gegnir hlutverki byggingarverkfræðings í verkefni og tekur þátt í innleiðingu á DevOps starfsháttum þar.

Hvað nákvæmlega gerir DevOps verkfræðingur?

DevOps verkfræðingar setja saman alla hlutina sem mynda verkefni. Þeir þekkja sérstöðu í starfi forritara, prófunaraðila, kerfisstjóra og hjálpa til við að einfalda vinnu þeirra. Þeir skilja þarfir og kröfur fyrirtækisins, hlutverk þess í þróunarferlinu - og byggja ferlið upp með hliðsjón af hagsmunum viðskiptavinarins.

Við ræddum mikið um sjálfvirkni - þetta er það sem DevOps verkfræðingar fást við fyrst og fremst. Þetta er mjög stór punktur sem felur meðal annars í sér að undirbúa umhverfið.

Kirill Sergeev: „Áður en uppfærslur eru innleiddar í vöruna þarf að prófa þær í þriðja aðila umhverfi. Það er útbúið af DevOps verkfræðingum. Þeir innræta DevOps menningu á verkefnið í heild sinni: þeir kynna DevOps venjur á öllum lögum verkefna sinna. Þessar þrjár meginreglur: sjálfvirkni, einföldun, hröðun - þær koma með hvert sem þær geta náð.“

Hvað ætti DevOps verkfræðingur að vita?

Í stórum dráttum þarf hann að hafa þekkingu frá mismunandi sviðum: forritun, vinnu með stýrikerfi, gagnagrunna, samsetningu og stillingarkerfi. Þetta er bætt við getu til að vinna með skýjainnviði, hljómsveitarkerfi og eftirlitskerfi.

1. Forritunarmál

DevOps verkfræðingar kunna nokkur grunntungumál fyrir sjálfvirkni og geta til dæmis sagt við forritara: „Hvað með að setja kóðann upp ekki með höndunum heldur með því að nota handritið okkar, sem gerir allt sjálfvirkt? Við munum útbúa stillingarskrá fyrir það, það verður þægilegt fyrir bæði þig og okkur að lesa og við munum geta breytt henni hvenær sem er. Við munum líka sjá hver, hvenær og hvers vegna gerir breytingar á því.“

DevOps verkfræðingur getur lært eitt eða fleiri af þessum tungumálum: Python, Groovy, Bash, Powershell, Ruby, Go. Það er ekki nauðsynlegt að þekkja þau á djúpu stigi - grunnatriði setningafræði, OOP meginreglur og hæfileikinn til að skrifa einföld forskrift fyrir sjálfvirkni eru nóg.

2. Stýrikerfi

DevOps verkfræðingur verður að skilja á hvaða netþjóni varan verður sett upp, í hvaða umhverfi hún mun keyra og hvaða þjónustu hún mun hafa samskipti við. Þú getur valið að sérhæfa þig í Windows eða Linux fjölskyldunni.

3. Útgáfustýringarkerfi

Án þekkingar á útgáfustýringarkerfi er DevOps verkfræðingur hvergi. Git er eitt vinsælasta kerfið um þessar mundir.

4. Skýjaveitur

AWS, Google, Azure - sérstaklega ef við erum að tala um Windows átt.

Kirill Sergeev: „Skýjaveitur útvega okkur sýndarþjóna sem passa fullkomlega inn í CI/CD.

Að setja upp tíu líkamlega netþjóna krefst um hundrað handvirkra aðgerða. Hvern netþjón verður að vera handvirkt ræstur, settur upp og stilltur tilskilið stýrikerfi, sett upp forritið okkar á þessum tíu netþjónum og síðan tvítékkað allt tíu sinnum. Skýjaþjónusta kemur í stað þessarar aðferðar fyrir tíu línur af kóða og góður DevOps verkfræðingur ætti að geta starfað með þeim. Þetta sparar tíma, fyrirhöfn og peninga – bæði fyrir viðskiptavininn og fyrirtækið.“

5. Hljómsveitarkerfi: Docker og Kubernetes

Kirill Sergeev: „Syndarþjónum er skipt í gáma, í hverjum þeirra getum við sett upp forritið okkar. Þegar það er mikið af gámum þarftu að stjórna þeim: kveikja á einum, slökkva á öðrum, taka afrit einhvers staðar. Þetta verður frekar flókið og krefst hljómsveitarkerfis.

Áður var hvert forrit meðhöndlað af sérstökum netþjóni - allar breytingar á rekstri þess gætu haft áhrif á nothæfi forritsins. Þökk sé gámum verða forrit einangruð og keyrð sérstaklega - hvert á sinni sýndarvél. Ef bilun kemur upp er engin þörf á að eyða tíma í að leita að orsökinni. Það er auðveldara að eyða gamla ílátinu og bæta við nýjum.

6. Stillingarkerfi: Chef, Ansible, Puppet

Þegar þú þarft að viðhalda heilum flota netþjóna þarftu að gera mikið af sömu tegund aðgerða. Það er langt og erfitt og handavinna eykur líka líkurnar á mistökum. Þetta er þar sem stillingarkerfi koma til bjargar. Með hjálp þeirra búa þeir til handrit sem auðvelt er að lesa fyrir forritara, DevOps verkfræðinga og kerfisstjóra. Þetta handrit hjálpar til við að framkvæma sömu aðgerðir á netþjónum sjálfkrafa. Þetta dregur úr handvirkum aðgerðum (og þar af leiðandi villum).

Hvers konar feril getur DevOps verkfræðingur byggt upp?

Þú getur þróað bæði lárétt og lóðrétt.

Igor Boyko: „Frá sjónarhóli láréttrar þróunar hafa DevOps verkfræðingar nú víðtækustu möguleikana. Allt er stöðugt að breytast og þú getur byggt upp færni á ýmsum sviðum: frá útgáfustýringarkerfum til eftirlits, frá stillingastjórnun til gagnagrunna.

Þú getur orðið kerfisarkitekt ef starfsmaður hefur áhuga á að skilja hvernig forrit virkar á öllum stigum lífsferils þess - frá þróun til stuðnings.“

Hvernig á að verða DevOps verkfræðingur?

  1. Lestu The Phoenix Project og DevOps Handbook. Þetta eru hinar raunverulegu stoðir DevOps heimspekinnar, þar sem sú fyrsta er skáldverk.
  2. Lærðu tækni af listanum hér að ofan: á eigin spýtur eða í gegnum netnámskeið.
  3. Vertu með sem DevOps verkfræðingur fyrir opinn uppspretta verkefni.
  4. Æfðu þig og bjóddu upp á DevOps æfingar í persónulegum og vinnuverkefnum þínum.

Heimild: www.habr.com

Bæta við athugasemd