ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo
Ukwakha ikhonkco lakho lokuqala le-DevOps ngamanyathelo amahlanu kwabaqalayo.

I-DevOps iye yaba sisisulu sokucotha kakhulu, ukuqhawulwa kunye nezinye iinkqubo zophuhliso eziyingxaki. Kodwa udinga ulwazi oluncinci kwi-DevOps. Iza kugubungela iikhonsepthi ezinje ngekhonkco le-DevOps kunye nendlela yokwenza enye kumanyathelo amahlanu. Esi ayisosikhokelo esipheleleyo, kodwa kuphela "intlanzi" enokwandiswa. Masiqale ngembali.

Intshayelelo yam kwiDevOps

Bendihlala ndisebenza kunye namafu kwi-Citi Group kwaye ndiphuhlise isicelo sewebhu se-IaaS ukulawula i-infrastructure yelifu le-Citi, kodwa ndihlala ndinomdla kwindlela yokuphucula ikhonkco lophuhliso kunye nokuphucula inkcubeko phakathi kwabaphuhlisi. UGreg Lavender, i-CTO yethu ye-Cloud Architecture kunye ne-Infrastructure, undicebise le ncwadi. Iprojekthi "Phoenix". Icacisa imigaqo ye-DevOps kakuhle kwaye ifundeka njengenoveli.

Itheyibhile engasemva ibonisa ukuba iinkampani zihlala zikhupha iinguqulelo ezintsha:

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

I-Amazon, iGoogle kunye neNetflix ikwazi njani ukukhupha okuninzi? Kwaye ilula: bacinge ukuba bangayenza njani ikhonkco leDevOps eliphantse ligqibelele.

Izinto zahluke kakhulu kuthi eCiti de satshintshela kwi-DevOps. Emva koko iqela lam lineendawo ezahlukeneyo, kodwa senze ukuhanjiswa kumncedisi wophuhliso ngesandla. Bonke abaphuhlisi babenofikelelo kumncedisi wophuhliso omnye kuphela osekwe kwi-IBM WebSphere Application Server Community Edition. Ngokuzama ngaxeshanye ukuhambisa, umncedisi "wawa", kwaye ixesha ngalinye kwafuneka "ngokubuhlungu" ukuthethathethana phakathi kwethu. Siphinde saba ne-code coverage engonelanga kunye novavanyo, inkqubo yokuhambisa ngesandla ethatha ixesha, kwaye akukho ndlela yokulandelela ukuhanjiswa kwekhowudi kunye nomsebenzi othile okanye imfuno yabathengi.

Kwacaca ukuba kukho into engxamisekileyo ekufuneka yenziwe, ndaza ndafumana umntu osebenza naye onengqondo efanayo. Sagqiba ekubeni senze ikhonkco lokuqala le-DevOps kunye - wamisa umatshini we-virtual kunye ne-server yesicelo se-Tomcat, kwaye ndanyamekela i-Jenkins, ukuhlanganiswa kunye ne-Atlassian Jira kunye ne-BitBucket, kunye nekhowudi yokugubungela ngeemvavanyo. Iprojekthi yaba yimpumelelo: sizenzele ngokuzenzekelayo ikhonkco lophuhliso, sifezekise phantse i-100% ixesha lokuphumla kwi-server yophuhliso, sakwazi ukubeka iliso kunye nokuphucula ukukhutshwa kwekhowudi kunye neemvavanyo, kwaye isebe le-Git lingabotshwa kwi-Jira yokuhanjiswa kunye nokukhupha. Kwaye phantse zonke izixhobo esizisebenzisileyo ukwakha ikhonkco le-DevOps zaziyimithombo evulekileyo.

Enyanisweni, ikhonkco lenziwe lula, kuba asizange sisebenzise ulungelelwaniso oluphezulu usebenzisa i-Jenkins okanye i-Ansible. Kodwa siye saphumelela. Mhlawumbi esi sisiphumo somgaqo Pareto (aka umthetho 80/20).

Inkcazo emfutshane ye-DevOps kunye ne-CI / CD Chain

I-DevOps ineenkcazo ezahlukeneyo. I-DevOps, njenge-Agile, ibandakanya iindidi ezahlukeneyo. Kodwa uninzi luya kuvumelana nale nkcazo ilandelayo: I-DevOps yindlela, okanye umjikelo wobomi, wophuhliso lwesoftware, umgaqo ophambili kukudala inkcubeko apho abaphuhlisi kunye nabanye abasebenzi "bekwi-wavelength efanayo", umsebenzi wezandla uzenzekelayo, wonke umntu wenza eyona nto ingcono kakhulu, ukuphindaphinda kokuhanjiswa kuyanda, imveliso yomsebenzi iyanda, ukuguquguquka kuyanda.

Ngelixa izixhobo zodwa azanelanga ukwenza indawo ye-DevOps, ziyimfuneko. Okubaluleke kakhulu kwezi zinto kukuhlanganiswa okuqhubekayo kunye nokuhanjiswa okuqhubekayo (CI / CD). Kukho izigaba ezahlukeneyo kwikhonkco kwindawo nganye (umzekelo, i-DEV (uphuhliso), i-INT (ukuhlanganiswa), i-TST (uvavanyo), i-QA (ukuqinisekiswa komgangatho), i-UAT (uvavanyo lokumkela umsebenzisi), i-STG (ukulungiselela), i-PROD (ukusetyenziswa)) , imisebenzi yezandla izenzekelayo, abaphuhlisi banokwenza ikhowudi esemgangathweni, bayihambise, kwaye banokuphinda bayakhe ngokulula.

Eli nqaku lichaza indlela yokwenza ikhonkco le-DevOps ngamanyathelo amahlanu, njengoko kuboniswe kumfanekiso ongezantsi, usebenzisa izixhobo ezivulekileyo zomthombo.

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Masihle siye kwishishini.

Inyathelo 1: CI/CD Platform

Okokuqala, kufuneka isixhobo CI/CD. I-Jenkins iyilayisenisi ye-MIT, i-CI / CD isixhobo esivulekileyo esibhalwe kwiJava esandisa ukunyakaza kwe-DevOps kwaye ibe ngumgangatho we-de facto we-CICD.

Yintoni iJenkins? Khawucinge ukuba unepaneli yokulawula umlingo kwiinkonzo ezahlukeneyo kunye nezixhobo. Ngokwayo, i-CI / CD isixhobo esifana neJenkins ayinamsebenzi, kodwa ngezixhobo ezahlukeneyo kunye neenkonzo, iba namandla onke.

Ukongeza kwiJenkins, kukho ezinye izixhobo ezininzi ezivulekileyo, khetha nayiphi na.

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Nantsi indlela inkqubo yeDevOps ejongeka ngayo ngesixhobo seCI/CD

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Unesixhobo se-CI / CD kwihostela yendawo, kodwa akukho nto ingako onokuyenza okwangoku. Masiqhubele phambili kwinyathelo elilandelayo.

Inyathelo 2: Uguqulelo

Eyona ndlela ilungileyo (kwaye ngokuqinisekileyo ilula) yokuvavanya umlingo wesixhobo seCI/CD kukusidibanisa nesixhobo solawulo lomthombo (SCM). Kutheni ufuna ulawulo lwenguqulelo? Masithi wenza isicelo. Uyibhala ngeJava, iPython, iC ++, iGo, iRuby, iJavaScript, okanye naluphi na olunye ulwimi oluyinqwelo kunye nenqwelo encinci. Into oyibhalayo ibizwa ngokuba yikhowudi yemvelaphi. Ekuqaleni, ngakumbi ukuba usebenza wedwa, ungagcina yonke into kulawulo lwendawo. Kodwa njengoko iprojekthi ikhula kwaye abantu abaninzi bajoyina, udinga indlela yokwabelana ngeenguqu zekhowudi kodwa ugweme iingxabano xa udibanisa utshintsho. Kwaye kufuneka ngandlel 'ithile ubuyisele iinguqulelo zangaphambili ngaphandle kokusebenzisa i-backups kunye nokusebenzisa indlela yokukopisha-uncamathisele kwiifayile zekhowudi.

Kwaye apha ngaphandle kweSCM naphi na. I-SCM igcina ikhowudi kwiindawo zokugcina, ilawula iinguqulelo zayo, kwaye iyilungelelanise phakathi kwabaphuhlisi.

Zininzi izixhobo zeSCM, kodwa iGit iye yaba ngumgangatho wede facto ngokufanelekileyo. Ndikucebisa ukuba uyisebenzise, ​​kodwa kukho ezinye iindlela.

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Nantsi indlela umbhobho we-DevOps obukeka ngayo emva kokongeza i-SCM.

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Isixhobo seCI/CD sinokwenza ngokuzenzekelayo ukulayishwa kwekhowudi yomthombo kunye nokukhuphela kunye nentsebenziswano yeqela. Akukubanga? Kodwa ngoku usenza njani isicelo esisebenzayo kule nto, ethandwa ngamawaka ezigidi zabasebenzisi?

Inyathelo lesi-3: Yakha iSixhobo sokuZisebenzela

Yonke into ihamba ngendlela ebekufanele ngayo. Ungalayisha ikhowudi kwaye wenze utshintsho kulawulo lomthombo, kwaye umeme abahlobo ukuba basebenze nawe. Kodwa awukabinayo i-app. Ukuze oku kube sisicelo sewebhu, kufuneka siqulunqwe kwaye sipakishwe ukuze sisasazwe okanye siqhutywe njengento ephunyezwayo. (Ulwimi lwenkqubo olutolikwayo njengeJavaScript okanye i-PHP akufuneki luqulunqwe.)

Sebenzisa isixhobo sokwakha esizenzekelayo. Nasiphi na isixhobo osikhethayo, siya kudibanisa ikhowudi kwifomathi efanelekileyo kunye nokucoca ngokuzenzekelayo, ukuhlanganiswa, uvavanyo kunye nokuhanjiswa. Izixhobo zokwakha ziyahluka ngokolwimi, kodwa ezi ndlela zilandelayo ziqhelekileyo zisetyenziswa.

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Igqibelele! Ngoku masifake ifayile yoqwalaselo lwesixhobo esizenzekelayo kulawulo lomthombo ukuze isixhobo seCI/CD sizakhe.

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Kuvakala kamnandi. Kodwa iphi yonke le nto iza kukhutshwa ngoku?

Inyathelo 4: Iseva yeSicelo seWebhu

Ke, unefayile epakishiweyo enokuphunyezwa okanye ikhutshwe. Ukuze isicelo sibe luncedo ngokwenene, kufuneka sibe nohlobo oluthile lwenkonzo okanye ujongano, kodwa kufuneka usibeke ndaweni ithile.

Usetyenziso lwewebhu lungabanjwa kwiseva yesicelo sewebhu. Umncedisi wesicelo ubonelela ngobume apho ungenza umgaqo opakishweyo, unikeze ujongano, kwaye uveze iinkonzo zewebhu phezu kwesokethi. Udinga umncedisi we-HTTP kunye nezinye iindawo ezimbalwa (umatshini wenyani, umzekelo) ukufaka umncedisi wesicelo. Okwangoku, masenze ngathi ujongene nayo yonke le nto njengoko usiya (nangona ndiza kuthetha ngezikhongozeli ezingezantsi).

Kukho iiseva ezininzi ezivulekileyo zesicelo sewebhu.

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Sele sinalo phantse ikhonkco elisebenzayo le-DevOps. Umsebenzi omhle kakhulu!

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Ngokomgaqo, unokuma apha, ngoko unako ukusingatha ngokwakho, kodwa kukufanelekile ukuthetha ngomgangatho wekhowudi.

Inyathelo lesi-5: Uvavanyo lokufikelela

Uvavanyo luthatha ixesha elininzi kunye nomzamo, kodwa kungcono ukufumana iimpazamo kwangoko kwaye uphucule ikhowudi ukukholisa abasebenzisi bokuphela. Ngenxa yale njongo, kukho izixhobo ezininzi ezivulekileyo ezingayi kuvavanya kuphela ikhowudi, kodwa ziphinde zicebise malunga nendlela yokuphucula ngayo. Uninzi lwezixhobo zeCI/CD zinokuplaga kwezi zixhobo kwaye zizenzele inkqubo.

Uvavanyo lwahlulwe lwaba ngamacandelo amabini: izikhokelo zokuvavanya ukubhala kunye nokwenza iimvavanyo, kunye nezixhobo ezinamacebo okuphucula umgangatho wekhowudi.

Iinkqubo zoVavanyo

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Izixhobo ezineengcebiso ezisemgangathweni

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Uninzi lwezi zixhobo kunye nezicwangciso zibhalelwe iJava, iPython, kunye neJavaScript kuba i-C ++ kunye ne-C # ziyi-proprietary (nangona i-GCC ingumthombo ovulekileyo).

Sisebenzise izixhobo zokugubungela uvavanyo, kwaye ngoku umbhobho we-DevOps kufuneka ujonge njengomfanekiso ekuqaleni kwesifundo.

Amanyathelo ongezelelweyo

Izikhongozeli

Njengoko benditshilo ngaphambili, iseva yesicelo inokubanjwa kumatshini obonakalayo okanye iseva, kodwa izikhongozeli zithandwa kakhulu.

Ziziphi izitya? Ngamafutshane, kumatshini obonakalayo, inkqubo yokusebenza ihlala ithatha indawo engaphezulu kunesicelo, kwaye isikhongozeli sihlala sanele ngamathala eencwadi ambalwa kunye noqwalaselo. Kwezinye iimeko, oomatshini benyani bayafuneka, kodwa isikhongozeli sinokwamkela isicelo kunye nomncedisi ngaphandle kweendleko ezongezelelweyo.

Kwimigqomo, iDocker kunye neKubernetes zihlala zithathwa, nangona kukho ezinye iindlela.

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Funda amanqaku malunga neDocker kunye neKubernetes apha opensource.com:

Izixhobo ezizenzekelayo ze-Middleware

Ikhonkco lethu leDevOps ligxile kwintsebenziswano yokwakha kunye nokuhanjiswa kwesicelo, kodwa kukho ezinye izinto ezinomdla onokuzenza ngezixhobo zeDevOps. Umzekelo, sebenzisa izixhobo ze-Infrastructure njenge-Code (IaC) izixhobo, ezikwaziwa ngokuba zizixhobo ezizenzekelayo ze-middleware. Ezi zixhobo zinceda ukufakela, ulawulo, kunye neminye imisebenzi ye-middleware. Ngokomzekelo, isixhobo esizenzekelayo sinokuthatha izicelo (umncedisi wesicelo sewebhu, i-database, izixhobo zokubeka iliso) kunye noqwalaselo oluchanekileyo kwaye uzityhalele kwiseva yesicelo.

Nazi ezinye iinketho zokuvula izixhobo ezizisebenzelayo ze-middleware:

ISikhokelo seDummies: Ukwakha amatyathanga e-DevOps ngeZixhobo zoMthombo oVulekileyo

Iinkcukacha kumanqaku opensource.com:

Ngoku kuthweni?

Le yincam nje ye-iceberg. Ikhonkco leDevOps linokwenza okungakumbi. Qala ngesixhobo se-CI/CD kwaye ubone ukuba yintoni enye onokuyenza ukuze wenze umsebenzi wakho ube lula. Ungalibali malunga izixhobo zonxibelelwano ezivulekileyo kwintsebenziswano esebenzayo.

Nanga amanye amanqaku alungileyo eDevOps abaqalayo:

Unokudibanisa i-DevOps ngezixhobo ezivulekileyo ezivulekileyo:

umthombo: www.habr.com

Yongeza izimvo