DevOps leiðarvísir fyrir byrjendur

Hvert er mikilvægi DevOps, hvað þýðir það fyrir fagfólk í upplýsingatækni, lýsing á aðferðum, ramma og verkfærum.

DevOps leiðarvísir fyrir byrjendur

Margt hefur gerst síðan hugtakið DevOps tók við sér í upplýsingatækniheiminum. Þar sem mikið af vistkerfinu er opinn uppspretta er mikilvægt að endurskoða hvers vegna það byrjaði og hvað það þýðir fyrir feril í upplýsingatækni.

Hvað er DevOps

Þó að það sé engin ein skilgreining, tel ég að DevOps sé tæknirammi sem gerir samvinnu milli þróunar- og rekstrarteyma kleift að dreifa kóða hraðar inn í framleiðsluumhverfi með getu til að endurtaka og gera sjálfvirkan. Við munum eyða restinni af þessari grein í að pakka niður þessari kröfu.

Orðið „DevOps“ er samsetning orðanna „þróun“ og „rekstur“. DevOps hjálpar til við að auka afhendingarhraða forrita og þjónustu. Þetta gerir fyrirtækjum kleift að þjóna viðskiptavinum sínum á áhrifaríkan hátt og verða samkeppnishæfari á markaðnum. Einfaldlega sagt, DevOps er jöfnun þróunar og upplýsingatæknireksturs með skilvirkari samskiptum og samvinnu.

DevOps felur í sér menningu þar sem samstarf milli þróunar-, rekstrar- og viðskiptateyma er talið mikilvægt. Þetta snýst ekki bara um verkfæri, þar sem DevOps í stofnun gagnast viðskiptavinum stöðugt líka. Verkfæri eru ein af stoðum þess, ásamt fólki og ferlum. DevOps eykur getu fyrirtækja til að afhenda hágæða lausnir á sem skemmstum tíma. DevOps gerir einnig sjálfvirkan alla ferla, frá smíði til uppsetningar, forrits eða vöru.

DevOps umræðan beinist að tengslum milli þróunaraðila, fólksins sem skrifar hugbúnað fyrir lífsviðurværi og rekstraraðila sem bera ábyrgð á viðhaldi hugbúnaðarins.

Áskoranir fyrir þróunarteymið

Hönnuðir hafa tilhneigingu til að vera áhugasamir og áhugasamir um að innleiða nýjar aðferðir og tækni til að leysa skipulagsvandamál. Hins vegar standa þeir einnig frammi fyrir ákveðnum vandamálum:

  • Samkeppnismarkaðurinn skapar mikinn þrýsting á að afhenda vöruna á réttum tíma.
  • Þeir verða að sjá um að stjórna framleiðslutilbúnum kóða og kynna nýja eiginleika.
  • Útgáfuferillinn getur verið langur, þannig að þróunarteymið verður að gera sér nokkrar forsendur áður en forrit eru innleidd. Í þessari atburðarás þarf meiri tíma til að leysa vandamál sem koma upp við dreifingu í framleiðslu- eða prófunarumhverfi.

Áskoranir sem rekstrarteymið stendur frammi fyrir

Rekstrarteymi hafa í gegnum tíðina einbeitt sér að stöðugleika og áreiðanleika upplýsingatækniþjónustu. Þess vegna leita rekstrarteymi stöðugleika með breytingum á auðlindum, tækni eða nálgunum. Meðal verkefna þeirra eru:

  • Stjórna auðlindaúthlutun eftir því sem eftirspurn eykst.
  • Meðhöndla hönnunar- eða sérsniðnar breytingar sem þarf til notkunar í framleiðsluumhverfi.
  • Greina og leysa framleiðsluvandamál eftir sjálfdreifingu forrita.

Hvernig DevOps leysir þróunar- og rekstrarvandamál

Í stað þess að setja út mikinn fjölda appeiginleika í einu, eru fyrirtæki að reyna að sjá hvort þau geti sett út lítinn fjölda eiginleika til viðskiptavina sinna með röð endurtekningar á útgáfu. Þessi nálgun hefur ýmsa kosti, svo sem betri hugbúnaðargæði, hraðari endurgjöf viðskiptavina o.s.frv. Þetta tryggir aftur á móti mikla ánægju viðskiptavina. Til að ná þessum markmiðum þurfa fyrirtæki að:

  • Dragðu úr bilanatíðni þegar þú gefur út nýjar útgáfur
  • Auka dreifingartíðni
  • Náðu hraðari meðaltíma til bata ef ný forritsútgáfa kemur.
  • Draga úr tíma fyrir leiðréttingar

DevOps sinnir öllum þessum verkefnum og hjálpar til við að tryggja samfellda afhendingu. Stofnanir nota DevOps til að ná fram framleiðni sem var ólýsanleg fyrir aðeins nokkrum árum. Þeir framkvæma tugi, hundruð og jafnvel þúsundir dreifingar á dag á meðan þeir skila heimsklassa áreiðanleika, stöðugleika og öryggi. (Frekari upplýsingar um lotastærðir og áhrif þeirra á afhendingu hugbúnaðar).

DevOps reynir að leysa ýmis vandamál sem stafa af fyrri aðferðafræði, þar á meðal:

  • Einangrun vinnu milli þróunar- og rekstrarteyma
  • Prófanir og dreifing eru aðskildir áfangar sem eiga sér stað eftir hönnun og byggingu og krefjast meiri tíma en byggingarlotur.
  • Óhóflegur tími varið í að prófa, dreifa og hanna í stað þess að einblína á að byggja upp kjarnaþjónustu fyrir fyrirtæki
  • Handvirk dreifing kóða sem leiðir til villna í framleiðslu
  • Mismunur á áætlunum þróunar- og rekstrarteyma sem veldur frekari töfum

DevOps leiðarvísir fyrir byrjendur

Átök milli DevOps, Agile og hefðbundins upplýsingatækni

DevOps er oft rætt í tengslum við aðra upplýsingatækniaðferðir, sérstaklega Agile og Waterfall IT.

Agile er sett af meginreglum, gildum og starfsháttum fyrir hugbúnaðarframleiðslu. Svo, til dæmis, ef þú hefur hugmynd sem þú vilt breyta í hugbúnað, geturðu notað Agile meginreglur og gildi. En þessi hugbúnaður getur aðeins keyrt í þróunar- eða prófunarumhverfi. Þú þarft einfalda, örugga leið til að koma hugbúnaðinum þínum í framleiðslu fljótt og endurtekið, og leiðin er í gegnum DevOps verkfæri og tækni. Agile hugbúnaðarþróun einbeitir sér að þróunarferlum og DevOps ber ábyrgð á þróun og dreifingu á sem öruggastan og áreiðanlegastan hátt.

Að bera saman hefðbundna fossalíkanið við DevOps er góð leið til að skilja ávinninginn sem DevOps hefur í för með sér. Eftirfarandi dæmi gerir ráð fyrir að forritið verði virkt eftir fjórar vikur, þróun er 85% lokið, forritið verður í beinni og ferlið við að kaupa netþjóna til að senda kóðann er nýhafið.

Hefðbundin ferli
Ferlar í DevOps

Eftir að hafa lagt inn pöntun fyrir nýja netþjóna vinnur þróunarteymið að prófunum. Starfshópurinn vinnur að umfangsmiklum skjölum sem fyrirtæki þurfa til að dreifa innviðum.
Þegar pöntun á nýjum netþjónum hefur verið lögð vinna þróunar- og rekstrarteymi saman að ferlum og pappírsvinnu til að setja upp nýju netþjónana. Þetta gerir þér kleift að skilja betur kröfur þínar um innviði.

Upplýsingar um bilun, offramboð, staðsetningu gagnavera og kröfur um geymslu eru rangar vegna þess að það er ekkert inntak frá þróunarteymi sem hefur djúpa lénsþekkingu.
Upplýsingar um bilun, offramboð, endurheimt hörmungar, staðsetningu gagnavera og kröfur um geymslu eru þekktar og réttar vegna inntaks þróunarteymisins.

Rekstrarhópurinn hefur ekki hugmynd um framgang þróunarteymisins. Hún gerir einnig eftirlitsáætlun sem byggir á eigin hugmyndum.

Rekstrarhópurinn er fullkomlega meðvitaður um framfarir þróunarteymisins. Hún hefur einnig samskipti við þróunarteymið og þeir vinna saman að því að þróa eftirlitsáætlun sem uppfyllir þarfir upplýsingatækni og viðskipta. Þeir nota einnig verkfæri fyrir eftirlit með frammistöðu forrita (APM).

Hleðslupróf sem framkvæmt er áður en forrit er ræst veldur því að forritið hrynur, sem seinkar ræsingu þess.
Hleðslupróf sem er gert áður en forrit er keyrt leiðir til lélegrar frammistöðu. Þróunarteymið leysir fljótt flöskuhálsa og forritið opnar á réttum tíma.

Lífsferill DevOps

DevOps felur í sér upptöku á tilteknum almennt viðurkenndum starfsháttum.

Stöðugt skipulag

Stöðug áætlanagerð byggir á lean meginreglum til að byrja smátt með því að bera kennsl á úrræði og framleiðsla sem þarf til að prófa gildi fyrirtækisins eða framtíðarsýn, stöðugt aðlagast, mæla framfarir, læra af þörfum viðskiptavina, breyta stefnu eftir þörfum til að mæta lipurð og endurskapa viðskiptaáætlun.

Sameiginleg þróun

Samvinnuþróunarferlið gerir fyrirtækjum, þróunarteymi og prófunarteymum sem dreifast á mismunandi tímabelti kleift að afhenda stöðugt gæðahugbúnað. Þetta felur í sér þróun á mörgum vettvangi, stuðning við þvermál forritunar, sköpun notendasögu, hugmyndaþróun og lífsferilsstjórnun. Samvinnuþróun felur í sér ferlið og ástundun stöðugrar samþættingar, sem stuðlar að tíðri kóðasamþættingu og sjálfvirkri byggingu. Með því að dreifa kóða oft í forrit eru samþættingarvandamál auðkennd snemma á lífsferlinum (þegar auðveldara er að laga þau) og heildarsamþættingarátakið minnkar með stöðugri endurgjöf þar sem verkefnið sýnir stöðuga og sýnilega framfarir.

Stöðugar prófanir

Stöðugar prófanir draga úr prófunarkostnaði með því að hjálpa þróunarteymi að koma jafnvægi á hraða og gæði. Það útilokar einnig prófunarflöskuhálsa í gegnum sýndarvæðingu þjónustu og gerir það auðvelt að búa til sýndarvædd prófunarumhverfi sem auðvelt er að deila, dreifa og uppfæra þegar kerfi breytast. Þessir eiginleikar draga úr kostnaði við að útvega og viðhalda prófunarumhverfi og stytta prófunartíma, sem gerir samþættingarprófunum kleift að eiga sér stað fyrr á líftímanum.

Stöðug losun og dreifing

Þessar aðferðir bera með sér kjarnastarfsemi: stöðug losun og dreifing. Þetta er tryggt með samfelldri leiðslu sem gerir lykilferla sjálfvirkan. Það dregur úr handvirkum skrefum, biðtíma tilfanga og endurvinnslu með því að virkja uppsetningu með því að ýta á hnapp, sem leiðir til fleiri útgáfur, færri villur og fullkomið gagnsæi.

Sjálfvirkni gegnir lykilhlutverki við að tryggja stöðuga og áreiðanlega útgáfu hugbúnaðar. Ein stærsta áskorunin er að taka handvirka ferla eins og byggingu, aðhvarf, uppsetningu og sköpun innviða og gera þau sjálfvirk. Þetta krefst útgáfustýringar frumkóða; prófunar- og dreifingarsviðsmyndir; gögn um innviði og stillingar forrita; og söfn og pakka sem forritið er háð. Annar mikilvægur þáttur er hæfileikinn til að spyrjast fyrir um ástand allra umhverfis.

Stöðugt eftirlit

Stöðugt eftirlit veitir skýrslugerð í fyrirtækisgráðu sem hjálpar þróunarteymi að skilja framboð og afköst forrita í framleiðsluumhverfi áður en þau eru sett í framleiðslu. Snemma endurgjöf sem veitt er með stöðugu eftirliti er mikilvægt til að draga úr kostnaði við villur og stýra verkefnum í rétta átt. Þessi æfing felur oft í sér eftirlitsverkfæri sem sýna venjulega mælikvarða sem tengjast frammistöðu forrita.

Stöðug endurgjöf og hagræðing

Stöðug endurgjöf og hagræðing veita sjónræna framsetningu á flæði viðskiptavina og benda á vandamálasvæði. Viðbrögð geta verið innifalin bæði fyrir og eftir sölu til að hámarka verðmæti og tryggja að enn fleiri viðskiptum sé lokið með góðum árangri. Allt þetta gefur tafarlausa mynd af rótum vandamála viðskiptavina sem hafa áhrif á hegðun þeirra og viðskiptaáhrif.

DevOps leiðarvísir fyrir byrjendur

Kostir DevOps

DevOps getur hjálpað til við að skapa umhverfi þar sem þróunaraðilar og rekstur vinna sem teymi til að ná sameiginlegum markmiðum. Mikilvægur áfangi í þessu ferli er innleiðing á stöðugri samþættingu og stöðugri afhendingu (CI/CD). Þessar aðferðir munu gera teymum kleift að koma hugbúnaði á markað hraðar með færri villum.

Mikilvægir kostir DevOps eru:

  • Fyrirsjáanleiki: DevOps býður upp á verulega lægri bilanatíðni fyrir nýjar útgáfur.
  • Viðhaldshæfni: DevOps gerir kleift að endurheimta auðveldan endurheimt ef ný útgáfa mistekst eða forrit fer niður.
  • Endurgerðanleiki: Útgáfustýring smíði eða kóða gerir þér kleift að endurheimta fyrri útgáfur eftir þörfum.
  • Meiri gæði: Að taka á innviðavandamálum bætir gæði umsóknarþróunar.
  • Tími á markað: Hagræðing hugbúnaðarafhendingar styttir tíma á markað um 50%.
  • Minnkun áhættu: Innleiðing öryggis í líftíma hugbúnaðarins dregur úr fjölda galla allan líftímann.
  • Kostnaðarhagkvæmni: Leitin að kostnaðarhagkvæmni í hugbúnaðarþróun höfðar til yfirstjórnar.
  • Stöðugleiki: Hugbúnaðarkerfið er stöðugra, öruggara og hægt er að endurskoða breytingar.
  • Að brjóta niður stærri kóðagrunn í viðráðanlega hluti: DevOps byggir á liprum þróunaraðferðum, sem gerir þér kleift að brjóta niður stóran kóðagrunn í smærri, viðráðanlega hluti.

DevOps meginreglur

Samþykkt DevOps gaf tilefni til nokkurra meginreglna sem hafa þróast (og halda áfram að þróast). Flestir lausnaveitendur hafa þróað sínar eigin breytingar á ýmsum aðferðum. Allar þessar reglur byggja á heildrænni nálgun á DevOps og stofnanir af hvaða stærð sem er geta notað þær.

Þróa og prófa í framleiðslu-eins umhverfi

Hugmyndin er að gera þróunar- og gæðatryggingarteymi (QA) kleift að þróa og prófa kerfi sem hegða sér eins og framleiðslukerfi þannig að þau geti séð hvernig forritið hegðar sér og skilar árangri löngu áður en það er tilbúið til dreifingar.

Forritið ætti að vera tengt framleiðslukerfum eins snemma og mögulegt er á líftíma þess til að takast á við þrjú stór hugsanleg vandamál. Í fyrsta lagi gerir það þér kleift að prófa forritið í umhverfi nálægt raunverulegu umhverfi. Í öðru lagi gerir það þér kleift að prófa og staðfesta sendingarferli umsókna fyrirfram. Í þriðja lagi gerir það rekstrarteyminu kleift að prófa snemma á lífsferlinum hvernig umhverfi þeirra mun hegða sér þegar forrit eru notuð, og gerir þeim þannig kleift að búa til mjög sérsniðið, forritsmiðað umhverfi.

Dreifðu með endurteknum, áreiðanlegum ferlum

Þessi meginregla gerir þróunar- og rekstrarteymum kleift að styðja við lipran hugbúnaðarþróunarferli allan líftíma hugbúnaðarins. Sjálfvirkni er mikilvæg til að búa til endurtekna, áreiðanlega og endurtekna ferla. Þess vegna verður stofnunin að búa til afhendingarleiðslu sem gerir stöðuga, sjálfvirka dreifingu og prófun kleift. Tíð dreifing gerir teymum einnig kleift að prófa dreifingarferla og dregur þar með úr hættunni á misbresti í dreifingunni við útgáfur í beinni.

Eftirlit og athugun á gæðum vinnu

Stofnanir eru góðar í að fylgjast með forritum í framleiðslu vegna þess að þau hafa verkfæri sem fanga mælikvarða og lykilframmistöðuvísa (KPIs) í rauntíma. Þessi meginregla færir vöktun snemma á lífsferlinum og tryggir að sjálfvirk prófun fylgist með virkum og óvirkum eiginleikum forrits snemma í ferlinu. Alltaf þegar forrit er prófað og dreift verður að skoða og greina gæðamælingar. Vöktunartæki veita snemma viðvörun um rekstrar- og gæðavandamál sem geta komið upp við framleiðslu. Þessum vísbendingum verður að safna á sniði sem er aðgengilegt og skiljanlegt öllum hagsmunaaðilum.

Bæta endurgjöf lykkja

Eitt af markmiðum DevOps ferla er að gera fyrirtækjum kleift að bregðast við og gera breytingar hraðar. Við afhendingu hugbúnaðar krefst þetta markmið þess að fyrirtækið fái endurgjöf snemma og læri síðan fljótt af hverri aðgerð sem gripið er til. Þessi regla krefst þess að stofnanir búi til samskiptaleiðir sem gera hagsmunaaðilum kleift að fá aðgang að og hafa samskipti á endurgjöf hátt. Þróun er hægt að gera með því að aðlaga verkefnaáætlanir þínar eða forgangsröðun. Framleiðsla getur virkað með því að bæta framleiðsluumhverfi.

dev

  • Skipulag: Kanboard, Wekan og aðrir Trello valkostir; GitLab, Tuleap, Redmine og aðrir JIRA valkostir; Mattermost, Roit.im, IRC og aðrir Slack valkostir.
  • Að skrifa kóða: Git, Gerrit, Bugzilla; Jenkins og önnur opinn hugbúnaður fyrir CI/CD
  • Samkoma: Apache Maven, Gradle, Apache Maur, Packer
  • Próf: JUnit, Agúrka, Selen, Apache JMeter

ops

  • Losun, dreifing, aðgerðir: Kubernetes, Nomad, Jenkins, Zuul, Spinnaker, Ansible, Apache ZooKeeper, etcd, Netflix Archaius, Terraform
  • Eftirlit: Grafana, Prometheus, Nagios, InfluxDB, Fluentd og fleiri sem fjallað er um í þessari handbók

(*Rekstrarverkfæri hafa verið númeruð í notkunarröð rekstrarteyma, en verkfæri þeirra skarast á lífsferilsstigum útgáfu- og dreifingarverkfæranna. Til að auðvelda læsileika hefur númerið verið fjarlægt.)

Að lokum

DevOps er sífellt vinsælli aðferðafræði sem miðar að því að sameina forritara og rekstur sem eina einingu. Það er einstakt, ólíkt hefðbundnum upplýsingatæknirekstri og bætir við Agile (en er ekki eins sveigjanlegt).

DevOps leiðarvísir fyrir byrjendur

Finndu út upplýsingar um hvernig á að fá eftirsótta starfsgrein frá grunni eða Level Up hvað varðar færni og laun með því að taka greitt netnámskeið frá SkillFactory:

fleiri námskeið

Gagnlegar

Heimild: www.habr.com

Bæta við athugasemd