Isikhokelo se-DevOps sabaqalayo

Yintoni ukubaluleka kwe-DevOps, ithetha ntoni kwiingcali ze-IT, inkcazo yeendlela, izikhokelo kunye nezixhobo.

Isikhokelo se-DevOps sabaqalayo

Kuninzi okwenzekileyo ukususela ekubeni igama elithi DevOps libambe kwihlabathi le-IT. Ngomthombo ovulekileyo we-ecosystem, kubalulekile ukuphinda ucinge ukuba kutheni iqalile kwaye ithetha ukuthini kwikhondo lomsebenzi kwi-IT.

Yintoni i-DevOps

Nangona kungekho nkcazo enye, ndiyakholelwa ukuba i-DevOps yinkqubo yeteknoloji eyenza intsebenziswano phakathi kwamaqela ophuhliso kunye nokusebenza ukuba afake ikhowudi ngokukhawuleza kwiindawo zokuvelisa kunye nokukwazi ukuphindaphinda kunye nokuzenzekelayo. Siza kuchitha lonke eli nqaku sisombulula eli bango.

Igama elithi "DevOps" yindibaniselwano yamagama "uphuhliso" kunye "nemisebenzi". I-DevOps inceda ukwandisa isantya sokuhanjiswa kwezicelo kunye neenkonzo. Oku kuvumela imibutho ukuba isebenze ngokufanelekileyo abathengi bayo kwaye ibe nokhuphiswano ngakumbi kwindawo yentengiso. Ukubeka nje, i-DevOps kukulungelelaniswa phakathi kophuhliso kunye nokusebenza kwe-IT ngonxibelelwano olusebenzayo kunye nentsebenziswano.

I-DevOps ibandakanya inkcubeko apho intsebenziswano phakathi kophuhliso, imisebenzi, kunye namaqela oshishino ithathwa njengento ebalulekileyo. Ayisiyonto nje malunga nezixhobo, njengoko i-DevOps kumbutho ihlala inceda abathengi ngokunjalo. Izixhobo zezinye zeentsika zayo, kunye nabantu kunye neenkqubo. I-DevOps yonyusa amandla emibutho ukuhambisa izisombululo ezikumgangatho ophezulu ngexesha elifutshane. I-DevOps iphinda izenze ngokuzenzekelayo zonke iinkqubo, ukusuka kwisakhiwo ukuya ekuhanjisweni, kwisicelo okanye kwimveliso.

Ingxoxo ye-DevOps igxile kubudlelwane phakathi kwabaphuhlisi, abantu ababhala isoftware ukuze baziphilise, kunye nabaqhubi abanoxanduva lokugcina loo software.

Imingeni yeqela lophuhliso

Abaphuhlisi badla ngokuba nomdla kwaye banomdla wokuphumeza iindlela ezintsha kunye nobuchwepheshe bokusombulula iingxaki zombutho. Nangona kunjalo, bajongana neengxaki ezithile:

  • Imarike yokhuphiswano idala uxinzelelo oluninzi lokuhambisa imveliso ngexesha.
  • Kufuneka banakekele ukulawula ikhowudi elungele imveliso kunye nokwazisa iimpawu ezintsha.
  • Umjikelo wokukhulula unokude, ngoko ke iqela lophuhliso kufuneka lenze iingcamango ezininzi ngaphambi kokuphumeza izicelo. Kule meko, ixesha elingakumbi liyafuneka ukusombulula imiba evela ngexesha lokuthunyelwa kwindawo yokuvelisa okanye yovavanyo.

Imingeni ejongene neqela lemisebenzi

Amaqela okusebenza agxininise ngokwembali kuzinzo nokuthembeka kweenkonzo ze-IT. Yiyo loo nto amaqela okusebenza efuna uzinzo ngotshintsho kwizibonelelo, itekhnoloji, okanye iindlela. Imisebenzi yabo ibandakanya:

  • Lawula ulwabiwo lwezibonelelo njengoko imfuno isanda.
  • Ukuphatha uyilo okanye utshintsho olufunekayo ukuze lusetyenziswe kwindawo yokuvelisa.
  • Ukuxilongwa kunye nokusombulula imiba yemveliso emva kokuzithumela ngokwakho kwezicelo.

I-DevOps isombulula njani iingxaki zophuhliso kunye nokusebenza

Endaweni yokukhupha inani elikhulu leefitsha zeapp ngaxeshanye, iinkampani zizama ukubona ukuba zingakhupha inani elincinci leempawu kubathengi bazo ngothotho lokuphinda kukhutshwe. Le ndlela ineenzuzo ezininzi, ezinjengomgangatho ongcono wesoftware, impendulo yomthengi ngokukhawuleza, njl. Oku, kuqinisekisa ukwaneliseka okuphezulu kwabathengi. Ukufezekisa ezi njongo, iinkampani kufuneka:

  • Nciphisa izinga lokusilela xa ukhupha ukhupho olutsha
  • Yandisa ukusasazwa rhoqo
  • Ukufezekisa ixesha eliphakathi elikhawulezayo lokubuyisela kwimeko yokukhutshwa kwesicelo esitsha.
  • Nciphisa ixesha lolungiso

I-DevOps yenza yonke le misebenzi kwaye inceda ekuqinisekiseni ukuhanjiswa okungaphazamisekiyo. Imibutho isebenzisa i-DevOps ukufezekisa amanqanaba emveliso ebingenakucingelwa kwiminyaka embalwa edlulileyo. Benza amashumi, amakhulu, kunye namawaka okuthunyelwa ngosuku ngelixa behambisa ukuthembeka komgangatho wehlabathi, uzinzo kunye nokhuseleko. (Funda ngakumbi malunga neesayizi ezininzi kunye nefuthe labo ekunikezelweni kwesoftware).

I-DevOps izama ukusombulula iingxaki ezahlukeneyo ezivela kwiindlela ezidlulileyo, kubandakanya:

  • Ukwahlulwa komsebenzi phakathi kwamaqela ophuhliso kunye nawokusebenza
  • Uvavanyo kunye nokusasazwa zizigaba ezahlukeneyo ezenzeka emva koyilo kunye nokwakha kwaye zifuna ixesha elingaphezulu kunemijikelo yokwakha.
  • Ixesha elininzi elichithwe kuvavanyo, ukusasaza, kunye nokuyila endaweni yokugxila ekwakheni iinkonzo eziphambili zoshishino
  • Ukuhanjiswa kwekhowudi yokwenziwa ngesandla ekhokelela kwiimpazamo kwimveliso
  • Umahluko kuphuhliso kunye neeshedyuli zeqela lokusebenza ezibangela ukulibaziseka okongeziweyo

Isikhokelo se-DevOps sabaqalayo

Ukujongana phakathi kwe-DevOps, i-Agile kunye ne-IT yendabuko

I-DevOps isoloko ixoxwa ngokumalunga nezinye izenzo ze-IT, ngokukodwa i-Agile kunye ne-Waterfall IT.

I-Agile yiseti yemigaqo, imilinganiselo, kunye nezenzo zokuvelisa isoftware. Ngoko, umzekelo, ukuba unombono ofuna ukuguqula kwisofthiwe, ungasebenzisa imigaqo ye-Agile kunye nemilinganiselo. Kodwa le software inokuqhuba kuphela kwindawo yophuhliso okanye yovavanyo. Udinga indlela elula, ekhuselekileyo yokuhambisa isoftware yakho kwimveliso ngokukhawuleza nangokuphindaphindiweyo, kwaye indlela ikwizixhobo kunye nobuchule beDevOps. Uphuhliso lwesoftware ye-Agile lujolise kwiinkqubo zophuhliso kwaye i-DevOps inoxanduva lophuhliso kunye nokuthunyelwa ngendlela ekhuselekileyo nethembekileyo.

Ukuthelekisa imodeli yemveli yamanzi kunye ne-DevOps yindlela efanelekileyo yokuqonda izibonelelo eziziswa yiDevOps. Umzekelo olandelayo ucinga ukuba isicelo siya kuhlala kwiiveki ezine, uphuhliso luphelele i-85%, isicelo siya kuba siphila, kwaye inkqubo yokuthenga iiseva ukuthumela ikhowudi sele iqalile.

Iinkqubo zemveli
Iinkqubo kwi-DevOps

Emva kokubeka umyalelo weeseva ezintsha, iqela lophuhliso lisebenza ekuvavanyeni. Iqela elisebenzayo lisebenza kumaxwebhu abanzi afunwa ngamashishini ukuze asasaze iziseko zophuhliso.
Nje ukuba umyalelo weeseva ezintsha ubekwe, amaqela ophuhliso kunye nokusebenza asebenza kunye kwiinkqubo kunye namaphepha okufaka iiseva ezintsha. Oku kukuvumela ukuba uziqonde ngcono iimfuno zakho zeziseko zophuhliso.

Ulwazi malunga ne-failover, u-redundancy, iindawo zamaziko edatha, kunye neemfuno zokugcinwa zichazwa kakubi ngenxa yokuba akukho galelo elivela kwiqela lophuhliso elinolwazi olunzulu lwesizinda.
Iinkcukacha malunga ne-failover, u-redundancy, ukubuyiswa kweentlekele, iindawo zedatha yedatha, kunye neemfuno zokugcina ziyaziwa kwaye zichanekile ngenxa yegalelo leqela lophuhliso.

Iqela lemisebenzi alinalwazi malunga nenkqubela phambili yeqela lophuhliso. Ukwaqulunqa nesicwangciso sokubeka iliso esisekelwe kwiingcamango zakhe.

Iqela lemisebenzi liyazi ngokupheleleyo inkqubela eyenziwe liqela lophuhliso. Ukwasebenzisana neqela lophuhliso kwaye basebenza kunye ukuphuhlisa isicwangciso sokubeka iliso esihlangabezana ne-IT kunye neemfuno zoshishino. Bakwasebenzisa izixhobo zokujonga ukusebenza kwesicelo (APM) izixhobo.

Uvavanyo lomthwalo olwenziwa phambi kokuba isicelo sindululwe sibangela ukuba isicelo siwe, silibazise ukuqaliswa kwalo.
Uvavanyo lomthwalo olwenziwayo phambi kokuqhuba isicelo lubangela ukusebenza kakubi. Iqela lophuhliso likhawuleza lisombulule imiqobo kwaye isicelo siqaliswa ngexesha.

DevOps Lifecycle

I-DevOps ibandakanya ukwamkelwa kweendlela ezithile ezamkelwe ngokubanzi.

Ucwangciso oluqhubekayo

Ucwangciso oluqhubekayo luxhomekeke kwimigaqo ebhityileyo ukuqalisa kancinane ngokuchonga izibonelelo kunye neziphumo ezifunekayo ukuvavanya ixabiso leshishini okanye umbono, ukuziqhelanisa ngokuqhubekayo, ukulinganisa inkqubela, ukufunda kwiimfuno zabathengi, ukuguqula ulwalathiso njengoko kuyimfuneko ukulungiselela ukuguquguquka, kunye nokuvuselela isicwangciso soshishino.

Uphuhliso oludibeneyo

Inkqubo yophuhliso lwentsebenziswano ivumela amashishini, amaqela ophuhliso, kunye namaqela ovavanyo asasazeke kwiindawo ezahlukeneyo zexesha ukuba aqhubeke nokuhambisa isoftware esemgangathweni. Oku kubandakanya uphuhliso lwamaqonga amaninzi, inkxaso yenkqubo yolwimi oluxubeneyo, ukudala ibali labasebenzisi, uphuhliso lweengcinga, kunye nolawulo lomjikelo wobomi. Uphuhliso lwentsebenziswano lubandakanya inkqubo kunye nokusebenza kokuhlanganiswa okuqhubekayo, okukhuthaza ukuhlanganiswa kwekhowudi rhoqo kunye nokwakhiwa okuzenzekelayo. Ngokuthumela ikhowudi rhoqo kwisicelo, iingxaki zokudibanisa zichongwa kwangethuba kwi-lifecycle (xa kulula ukuyilungisa) kwaye umzamo wokudibanisa ngokubanzi uyancitshiswa ngempendulo eqhubekayo njengoko iprojekthi ibonisa inkqubela eqhubekayo nebonakalayo.

Uvavanyo oluqhubekayo

Uvavanyo oluqhubekayo lunciphisa iindleko zokuvavanya ngokunceda amaqela ophuhliso alinganise isantya kunye nomgangatho. Kwakhona kuphelisa ukuvavanywa kweebhotile ngokusebenzisa i-virtualization yenkonzo kwaye yenza kube lula ukudala iindawo zovavanyo ezibonakalayo ezinokwabelwana ngokulula, zisetyenziswe, kwaye zihlaziywe njengoko iinkqubo zitshintsha. Ezi zakhono zinciphisa iindleko zokubonelela kunye nokugcinwa kweemeko zovavanyo kunye nokunciphisa amaxesha omjikelo wovavanyo, ukuvumela uvavanyo lokudibanisa ukuba lwenzeke kwangoko kumjikelo wobomi.

Ukukhutshwa okuqhubekayo kunye nokuthunyelwa

Ezi ndlela zobuchule ziza kunye nomsebenzi ongundoqo: ukukhululwa okuqhubekayo kunye nokuthunyelwa. Oku kuqinisekiswa ngumbhobho oqhubekayo owenza ngokuzenzekelayo iinkqubo eziphambili. Inciphisa amanyathelo okwenziwa ngesandla, amaxesha okulinda izibonelelo, kunye nokusebenza kwakhona ngokuvumela ukusasazwa ngokucofa iqhosha, kubangele ukukhutshwa okuninzi, iimpazamo ezimbalwa, kunye nokungafihli ngokupheleleyo.

Ukuzenzekela kudlala indima ephambili ekuqinisekiseni ukukhutshwa kwesoftware ezinzileyo nethembekileyo. Omnye weyona mingeni mikhulu kukuthatha iinkqubo zezandla ezifana nokwakha, ukuhlehliswa, ukusasazwa kunye nokuyilwa kweziseko ezingundoqo kunye nokuzenza ngokuzenzekelayo. Oku kufuna ulawulo lwenguqulelo yekhowudi yemvelaphi; uvavanyo kunye nemeko yokusasazwa; iziseko zophuhliso kunye nedatha yoqwalaselo lwesicelo; kunye namathala eencwadi kunye neepakethe isicelo esixhomekeke kuzo. Enye into ebalulekileyo kukukwazi ukubuza imeko yazo zonke iindawo ezisingqongileyo.

Ukubeka iliso rhoqo

Ukubeka iliso okuqhubekayo kunika ingxelo yomgangatho weshishini onceda amaqela ophuhliso aqonde ukufumaneka kunye nokusebenza kwezicelo kwiindawo zemveliso ngaphambi kokuba zisiwe kwimveliso. Ingxelo enikwa kwangethuba ngokubeka iliso eqhubekayo ibalulekile ekunciphiseni iindleko zeempazamo kunye neeprojekthi zokuqhuba ngendlela efanelekileyo. Esi senzo sisoloko sibandakanya izixhobo zokubeka iliso ezibonisa iimethrikhi ezinxulumene nokusebenza kwesicelo.

Ingxelo ethe rhoqo kunye nokwenza ngcono

Ingxelo eqhubekayo kunye nokulungiswa kubonelela ngokubonakaliswa okubonakalayo kokuhamba kwabathengi kunye nokukhomba iindawo ezinengxaki. Ingxelo inokubandakanywa kuzo zombini izigaba zangaphambili kunye nasemva kokuthengisa ukunyusa ixabiso kunye nokuqinisekisa ukuba ukuthengiselana okungaphezulu kugqitywe ngempumelelo. Konke oku kubonelela ngokukhawuleza ngombono wengcambu yeengxaki zabathengi ezichaphazela ukuziphatha kwabo kunye nefuthe leshishini.

Isikhokelo se-DevOps sabaqalayo

Izibonelelo zeDevOps

I-DevOps inokunceda ukudala indawo apho abaphuhlisi kunye nokusebenza basebenza njengeqela ukufezekisa iinjongo ezifanayo. Isiganeko esibalulekileyo kule nkqubo kukuphunyezwa kokuhlanganiswa okuqhubekayo kunye nonikezelo oluqhubekayo (CI / CD). Ezi ndlela ziya kuvumela amaqela ukuba afumane isoftware yokuthengisa ngokukhawuleza kunye neebhugi ezimbalwa.

Izibonelelo ezibalulekileyo zeDevOps zezi:

  • Ukuqikelelwa kwangaphambili: I-DevOps inikezela ngezinga elisezantsi kakhulu lokungaphumeleli kukukhutshwa okutsha.
  • Ukugcinwa: I-DevOps ivumela ukubuyiswa lula ukuba ukukhululwa okutsha kusilela okanye isicelo sihla.
  • Ukuvelisa kwakhona: Ulawulo lwenguqulelo yesakhiwo okanye ikhowudi ikuvumela ukuba ubuyisele iinguqulelo zangaphambili njengoko zifuneka.
  • Umgangatho oPhezulu: Ukujongana nemiba yeziseko ezingundoqo kuphucula umgangatho wophuhliso lwesicelo.
  • Ixesha lokuya kwintengiso: Ukuphucula ukuhanjiswa kwesoftware kunciphisa ixesha lokuthengisa nge-50%.
  • Ukunciphisa uMngcipheko: Ukuphumeza ukhuseleko kumjikelo wobomi besoftware kunciphisa inani leziphene kumjikelo wobomi bonke.
  • Ucikizeko lweendleko: Ukusukela ukusebenza kakuhle kweendleko kuphuhliso lwesoftware kubhenela kubaphathi abaphezulu.
  • Uzinzo: Inkqubo yesoftware izinzile, ikhuselekile, kwaye utshintsho lunokuphicothwa.
  • Ukuqhawula i-codebase enkulu kwiinqununu ezilawulekayo: I-DevOps isekelwe kwiindlela zokuphuhlisa i-agile, ekuvumela ukuba uchithe i-codebase enkulu kwiincinci ezincinci, ezilawulwayo.

Imigaqo ye-DevOps

Ukwamkelwa kwee-DevOps kwavelisa imigaqo emininzi eye yavela (kwaye iyaqhubeka nokuvela). Uninzi lwababoneleli bezisombululo baphuhlise ezabo izilungiso zeendlela ezahlukeneyo. Yonke le migaqo isekelwe kwindlela epheleleyo kwi-DevOps, kunye nemibutho yayo nayiphi na isayizi ingayisebenzisa.

Phuhlisa kwaye uvavanye kwindawo efana nemveliso

Ingcamango kukuvumela amaqela ophuhliso kunye nokuqinisekiswa komgangatho (QA) ukuba aphuhlise kwaye avavanye iinkqubo eziziphatha njengeenkqubo zokuvelisa ukwenzela ukuba zibone indlela isicelo esiziphatha ngayo kwaye senze ixesha elide ngaphambi kokuba silungele ukuthunyelwa .

Isicelo kufuneka siqhagamshelwe kwiinkqubo zokuvelisa kwangoko kangangoko kunokwenzeka kumjikelo wobomi bawo ukujongana neengxaki ezinkulu ezinokuba ntathu. Okokuqala, ikuvumela ukuba uvavanye isicelo kwindawo ekufutshane nendawo yokwenyani. Okwesibini, ikuvumela ukuba uvavanye kwaye uqinisekise iinkqubo zokuhanjiswa kwesicelo kwangaphambili. Okwesithathu, ivumela iqela lemisebenzi ukuba livavanye kwangethuba kumjikelo wobomi ukuba imeko-bume yabo iya kuziphatha njani xa izicelo zithunyelwa, ngaloo ndlela zibavumela ukuba benze indawo elungelelanisiweyo, ephakathi kwesicelo.

Sebenzisa ngokuphindaphindiweyo, iinkqubo ezithembekileyo

Lo mgaqo uvumela uphuhliso kunye namaqela okusebenza ukuba axhase iinkqubo zophuhliso lwesoftware kulo lonke ixesha lokuphila kwesoftware. I-automation ibalulekile ekudaleni iinkqubo eziphindaphindwayo, ezithembekileyo, neziphindaphindwayo. Ngoko ke, umbutho kufuneka udale umbhobho wokuhambisa ovumela ukuqhubeka, ukuthunyelwa kunye nokuvavanya ngokuzenzekelayo. Ukuthunyelwa rhoqo kuvumela amaqela ukuba avavanye iinkqubo zokuthunyelwa, ngokunciphisa umngcipheko wokungaphumeleli kokuthunyelwa ngexesha lokukhutshwa okuphilayo.

Ukubeka iliso kunye nokujonga umgangatho womsebenzi

Imibutho ilungile ekubekeni iliso kwizicelo kwimveliso kuba inezixhobo ezithatha iimethrikhi kunye nezalathisi eziphambili zokusebenza (KPIs) ngexesha langempela. Lo mgaqo uhambisa iliso kwangethuba kumjikelo wobomi, uqinisekisa ukuba uvavanyo oluzenzekelayo lubeka iliso kwiimpawu ezisebenzayo nezingasebenziyo zesicelo kwangethuba kwinkqubo. Nanini na isicelo sivavanywa kwaye sisetyenziswa, iimetriki zomgangatho kufuneka zihlolwe kwaye zihlalutywe. Izixhobo zokubeka iliso zibonelela ngesilumkiso sangethuba seengxaki zokusebenza kunye nomgangatho ezinokuvela ngexesha lemveliso. Ezi zalathi kufuneka ziqokelelwe ngendlela efikelelekayo neqondakalayo kubo bonke abachaphazelekayo.

Ukuphucula i-Reedback Loops

Enye yeenjongo zeenkqubo ze-DevOps kukwenza ukuba imibutho iphendule kwaye yenze utshintsho ngokukhawuleza. Kunikezelo lwesoftware, le njongo ifuna ukuba umbutho ufumane ingxelo kwangoko kwaye ufunde ngokukhawuleza kwisenzo ngasinye esithathiweyo. Lo mgaqo ufuna ukuba imibutho idale amajelo onxibelelwano avumela abachaphazelekayo ukuba bafikelele kwaye basebenzisane ngendlela yempendulo. Uphuhliso lunokwenziwa ngokuhlengahlengisa izicwangciso zeprojekthi yakho okanye izinto eziphambili ngokubaluleka. Ukwenziwa kwemveliso kunokusebenza ngokuphucula imeko yemveliso.

dev

  • Ukucwangcisa: I-Kanboard, Wekan kunye nezinye iindlela zeTrello; I-GitLab, iTuleap, iRedmine kunye nezinye iindlela ze-JIRA; I-Mattermost, i-Roit.im, i-IRC kunye nezinye iindlela ze-Slack.
  • Ikhowudi yokubhala: eGit, eGerrit, eBugzilla; Jenkins kunye nezinye izixhobo ezivulekileyo ze-CI / CD
  • Indibano: Apache Maven, Gradle, Apache Ant, Packer
  • Uvavanyo: JUnit, Cucumber, Selenium, Apache JMeter

Ops

  • Ukukhutshwa, ukusasazwa, imisebenzi: Kubernetes, Nomad, Jenkins, Zuul, Spinnaker, Ansible, Apache ZooKeeper, etcd, Netflix Archaius, Terraform
  • Ukubeka iliso: IGrafana, iPrometheus, iNagios, i-InfluxDB, iFluentd, kunye nezinye ezichazwe kwesi sikhokelo

(*Izixhobo zokusebenza zifakwe iinombolo ngokolandelelwano lokusetyenziswa ngamaqela asebenzayo, kodwa izixhobo zazo zidlula izigaba zomjikelo wobomi bokukhululwa kunye nezixhobo zokusasazwa. Ukuze kube lula ukufunda, amanani asusiwe.)

Ekugqibeleni

I-DevOps yindlela ethandwa kakhulu ejolise ekuhlanganiseni abaphuhlisi kunye nokusebenza njengeyunithi enye. Iyingqayizivele, ihluke kwimisebenzi ye-IT yendabuko, kwaye incedisa i-Agile (kodwa ayifani nokuguquguquka).

Isikhokelo se-DevOps sabaqalayo

Fumana iinkcukacha malunga nendlela yokufumana umsebenzi ofunwayo ukusuka ekuqaleni okanye kwiNqanaba eliphezulu ngokwezakhono kunye nomvuzo ngokuthatha iikhosi ezihlawulwayo ze-intanethi kwi-SkillFactory:

iikhosi ezininzi

Iluncedo

umthombo: www.habr.com

Yongeza izimvo