I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile
Ukwakha uchungechunge lwakho lokuqala lwe-DevOps ngezinyathelo ezinhlanu zabaqalayo.

I-DevOps isiphenduke ikhambi lezinqubo zokuthuthukisa ezihamba kancane kakhulu, ezinqanyuliwe futhi eziyinkinga. Kepha udinga ulwazi oluncane ku-DevOps. Izohlanganisa imiqondo efana neketango le-DevOps nendlela yokudala eyodwa ezinyathelweni ezinhlanu. Lesi akusona isiqondiso esiphelele, kodwa kuphela "inhlanzi" enganwetshwa. Ake siqale ngomlando.

Isingeniso sami ku-DevOps

Ngangivame ukusebenza namafu e-Citi Group futhi ngakha uhlelo lokusebenza lwewebhu lwe-IaaS ukuze ngiphathe ingqalasizinda yamafu ye-Citi, kodwa bengihlale nginentshisekelo yokuthi ungaluthuthukisa kanjani uchungechunge lwentuthuko nokuthuthukisa isiko phakathi konjiniyela. U-Greg Lavender, i-CTO yethu ye-Cloud Architecture and Infrastructure, ungincomele le ncwadi. Iphrojekthi "Phoenix". Ichaza izimiso ze-DevOps kahle futhi ifundeka njengenoveli.

Ithebula elingemuva libonisa ukuthi izinkampani zikhipha kaningi kangakanani izinguqulo ezintsha:

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Ngabe i-Amazon, iGoogle neNetflix ikwazi kanjani ukukhipha okungaka? Futhi kulula: bathole ukuthi bangalwakha kanjani uchungechunge lwe-DevOps olucishe luphelele.

Izinto bezihluke kakhulu kithi eCiti saze sashintshela ku-DevOps. Khona-ke ithimba lami libe nezindawo ezihlukene, kodwa senze ukulethwa kuseva yokuthuthukisa mathupha. Bonke onjiniyela babe nokufinyelela kuseva eyodwa yokuthuthukisa esekelwe ku-IBM WebSphere Application Server Community Edition. Ngomzamo ofanayo wokuletha, iseva "yawa", futhi isikhathi ngasinye kwakudingeka "ngokubuhlungu" sixoxisane phakathi kwethu. Siphinde saba nokufakwa kwekhodi okunganele ngokuhlolwa, inqubo yokulethwa mathupha edla isikhathi, futhi singenayo indlela yokulandelela ukulethwa kwekhodi ngosizo lomsebenzi othile noma imfuneko yeklayenti.

Kwacaca ukuthi kukhona okwakudingeka kwenziwe ngokushesha, futhi ngathola uzakwethu owayenomqondo ofanayo. Sinqume ukudala iketango lokuqala le-DevOps ndawonye - wamisa umshini obonakalayo kanye neseva yesicelo se-Tomcat, futhi nganakekela i-Jenkins, ukuhlanganiswa no-Atlassian Jira kanye ne-BitBucket, kanye nokufakwa kwekhodi ngokuhlolwa. Iphrojekthi ibe yimpumelelo: senze ngokuzenzakalelayo uchungechunge lokuthuthukisa, safinyelela cishe u-100% wesikhathi sokuphumula kuseva yokuthuthukisa, sakwazi ukuqapha nokuthuthukisa ukumbozwa kwekhodi ngokuhlolwa, futhi igatsha le-Git lalingase liboshwe ekulethweni kwe-Jira kanye nokukhishwa. Futhi cishe wonke amathuluzi esawasebenzisa ukwakha uchungechunge lwe-DevOps abengumthombo ovulekile.

Eqinisweni, iketango lenziwe laba lula, ngoba asizange sisebenzise ukulungiselelwa okuthuthukile sisebenzisa i-Jenkins noma i-Ansible. Kodwa saphumelela. Mhlawumbe lokhu kuwumphumela wesimiso I-Pareto (okungumthetho wama-80/20).

Incazelo emfushane ye-DevOps kanye ne-CI/CD Chain

I-DevOps inezincazelo ezihlukile. I-DevOps, njenge-Agile, ihlanganisa imikhakha eyahlukene. Kodwa abaningi bazovumelana nencazelo elandelayo: I-DevOps iyindlela, noma umjikelezo wokuphila, wokuthuthukiswa kwesofthiwe, umgomo oyinhloko okuwukwenza isiko lapho abathuthukisi nabanye abasebenzi "bekubude obufanayo", umsebenzi wezandla uyazenzakalela, wonke umuntu wenza lokho angcono kakhulu kukho, imvamisa yokudiliva iyakhula, ukukhiqiza komsebenzi kuyanda, ukuguquguquka kuyanda.

Yize amathuluzi ewodwa enganele ukudala indawo ye-DevOps, abalulekile. Okubaluleke kakhulu kulokhu ukuhlanganiswa okuqhubekayo nokulethwa okuqhubekayo (CI/CD). Kunezigaba ezihlukene kuchungechunge lwendawo ngayinye (isb. I-DEV (intuthuko), i-INT (ukuhlanganiswa), i-TST (ukuhlola), i-QA (ukuqinisekiswa kwekhwalithi), i-UAT (ukuhlolwa kokwamukelwa komsebenzisi), i-STG (ukulungiselela), i-PROD (ukusetshenziswa)) , imisebenzi eyenziwa ngesandla iyazenzakalela, onjiniyela bangenza ikhodi yekhwalithi, bayilethe, futhi bangakha kabusha kalula.

Leli nothi lichaza indlela yokudala uchungechunge lwe-DevOps ngezinyathelo ezinhlanu, njengoba kuboniswe esithombeni esingezansi, usebenzisa amathuluzi omthombo ovulekile.

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Ake sehlele ebhizinisini.

Isinyathelo 1: I-CI/CD Platform

Okokuqala, udinga ithuluzi le-CI/CD. I-Jenkins iyithuluzi elinelayisensi ye-MIT, elinomthombo ovulekile we-CI/CD elibhalwe ku-Java eladuma ukunyakaza kwe-DevOps futhi seliyindinganiso ye-de facto ye-CICD.

Uyini uJenkins? Cabanga ukuthi unephaneli yokulawula imilingo yezinsizakalo namathuluzi ahlukahlukene. Ngokwalo, ithuluzi le-CI/CD elifana ne-Jenkins alinamsebenzi, kodwa ngamathuluzi nezinsizakalo ezahlukene, liba namandla onke.

Ngokungeziwe ku-Jenkins, kunamanye amathuluzi amaningi omthombo ovulekile, khetha noma yikuphi.

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Nansi indlela inqubo ye-DevOps ebukeka ngayo ngethuluzi le-CI/CD

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Unethuluzi le-CI/CD ku-localhost, kodwa akukho okuningi okufanele ukwenze okwamanje. Asiqhubekele esinyathelweni esilandelayo.

Isinyathelo sesi-2: Ukwenza inguqulo

Indlela engcono kakhulu (futhi ngokungangabazeki elula) yokuhlola umlingo wethuluzi le-CI/CD ukulihlanganisa nethuluzi lokulawula umthombo (SCM). Kungani udinga ukulawula inguqulo? Ake sithi wenza isicelo. Uyibhala nge-Java, Python, C++, Go, Ruby, JavaScript, nanoma yiluphi olunye ulimi okuyinqola nekalishi elincane. Okubhalayo kubizwa ngekhodi yomthombo. Ekuqaleni, ikakhulukazi uma usebenza wedwa, ungagcina yonke into kuhla lwemibhalo yendawo. Kodwa njengoba iphrojekthi ikhula futhi abantu abaningi bajoyina, udinga indlela yokwabelana ngezinguquko zekhodi kodwa ugweme izingxabano lapho uhlanganisa izinguquko. Futhi udinga ukuthi ngandlela thile ubuyisele izinguqulo zangaphambilini ngaphandle kokusebenzisa izipele nokusebenzisa indlela yokukopisha-namathisela kumafayela ekhodi.

Futhi lapha ngaphandle kwe-SCM noma kuphi. I-SCM igcina ikhodi kumakhosombe, iphatha izinguqulo zayo, futhi iyixhumanise nonjiniyela.

Kunamathuluzi amaningi e-SCM, kodwa i-Git isibe yizinga elifanele le-de facto. Ngikweluleka ukuthi uyisebenzise, ​​kodwa kukhona ezinye izinketho.

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Nakhu ukuthi ipayipi le-DevOps libukeka kanjani ngemuva kokwengeza i-SCM.

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Ithuluzi le-CI/CD lingenza ngokuzenzakalelayo ukulayishwa kwekhodi yomthombo nokulanda nokusebenzisana kweqembu. Akukubi? Kodwa manje ungenza kanjani uhlelo lokusebenza kusuka kulokhu, oluthandwa izigidigidi zabasebenzisi?

Isinyathelo sesi-3: Yakha Ithuluzi Lokuzenzakalelayo

Konke kuhamba njengoba kufanele. Ungalayisha ikhodi futhi wenze izinguquko ekulawuleni umthombo, futhi umeme abangani ukuthi basebenze nawe. Kodwa okwamanje awunalo uhlelo lokusebenza. Ukuze lolu kube uhlelo lokusebenza lwewebhu, kufanele luhlanganiswe futhi lupakishwe ukuze lusatshalaliswe noma lusetshenziswe njengolusebenzisekayo. (Ulimi lokuhlela oluhunyushwe njengeJavaScript noma i-PHP aludingi ukuhlanganiswa.)

Sebenzisa ithuluzi lokwakha elizenzakalelayo. Noma ngabe yiliphi ithuluzi olikhethayo, lizohlanganisa ikhodi ngefomethi elungile futhi lihlanzeke ngokuzenzakalelayo, lihlanganise, lihlole, futhi lilethwe. Amathuluzi okwakha ayahluka ngolimi, kodwa izinketho ezilandelayo zomthombo ovulekile zivame ukusetshenziswa.

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Iphelele! Manje ake sifake amafayela okumisa ithuluzi lokwakha elizenzakalelayo kulawulo lomthombo ukuze ithuluzi le-CI/CD liwakhe.

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Kuzwakala kumnandi. Kodwa kuphi konke lokhu okumele kukhishwe manje?

Isinyathelo sesi-4: Iseva Yohlelo Lwewebhu

Ngakho-ke, unefayela elihlanganisiwe elingenziwa noma likhishwe. Ukuze uhlelo lokusebenza lube usizo ngempela, kufanele lube nohlobo oluthile lwesevisi noma isixhumi esibonakalayo, kodwa udinga ukukubeka konke ndawana thize.

Uhlelo lokusebenza lwewebhu lungabanjwa kuseva yohlelo lokusebenza lwewebhu. Iseva yohlelo lokusebenza ihlinzeka ngendawo lapho ungasebenzisa khona ukuqonda okuhlanganisiwe, unikeze izixhumanisi, futhi uveze izinsiza zewebhu phezu kwesokhethi. Udinga iseva ye-HTTP nezinye izindawo ezimbalwa (umshini obonakalayo, isibonelo) ukuze ufake iseva yohlelo. Okwamanje, asenze sengathi ubhekene nakho konke lokhu njengoba uhamba (yize ngizokhuluma ngeziqukathi ezingezansi).

Kunamaseva ezinhlelo zokusebenza zewebhu ezimbalwa ezivulekile.

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Sesivele sinochungechunge lwe-DevOps olucishe lusebenze. Umsebenzi omuhle!

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Eqinisweni, ungama lapha, khona-ke ungazisingatha ngokwakho, kodwa kufanelekile ukukhuluma ngekhwalithi yekhodi.

Isinyathelo sesi-5: Ukufakwa kokuhlola

Ukuhlola kuthatha isikhathi esiningi nomzamo, kodwa kungcono ukuthola iziphazamisi ngokushesha futhi uthuthukise ikhodi ukuze ujabulise abasebenzisi bokugcina. Ngale njongo, kunamathuluzi amaningi avulekile angeke ahlole ikhodi kuphela, kodwa futhi eluleka ngokuthi ungayithuthukisa kanjani. Amathuluzi amaningi e-CI/CD angaxhumeka kulawa mathuluzi futhi enze inqubo ngokuzenzakalelayo.

Ukuhlola kuhlukaniswe izingxenye ezimbili: izinhlaka zokuhlola zokubhala nokwenza izivivinyo, namathuluzi anamacebiso okuthuthukisa ikhwalithi yekhodi.

Testing Frameworks

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Amathuluzi anamathiphu ekhwalithi

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Iningi lala mathuluzi nezinhlaka zibhalelwe i-Java, i-Python, ne-JavaScript ngoba i-C++ ne-C# ziphathelene nobunikazi (yize i-GCC ingumthombo ovulekile).

Sisebenzise amathuluzi okuhlola, futhi manje ipayipi le-DevOps kufanele libukeke njengesithombe esisekuqaleni kwesifundo.

Izinyathelo Ezengeziwe

Izitsha

Njengoba ngishilo ngaphambili, iseva yesicelo ingasingathwa emshinini obonakalayo noma iseva, kodwa iziqukathi zithandwa kakhulu.

Ziyini iziqukathi? Ngamafuphi, emshinini we-virtual, isistimu yokusebenza ivamise ukuthatha isikhala esiningi kunohlelo lokusebenza, futhi isiqukathi sivamise ukwanela ngamalabhulali ambalwa nokucushwa. Kwezinye izimo, imishini ebonakalayo ibalulekile, kodwa isiqukathi singakwazi ukufaka isicelo kanye neseva ngaphandle kwezindleko ezengeziwe.

Eziqukathi, i-Docker ne-Kubernetes ivame ukuthathwa, nakuba zikhona ezinye izinketho.

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Funda izindatshana mayelana ne-Docker ne-Kubernetes ku I-Opensource.com:

Amathuluzi e-automation aphakathi

Uchungechunge lwethu lwe-DevOps lugxile ekwakhiweni ngokubambisana nasekulethweni kwesicelo, kodwa kukhona ezinye izinto ezithokozisayo ongazenza ngamathuluzi e-DevOps. Isibonelo, sebenzisa amathuluzi we-Infrastructure as Code (IaC), aziwa nangokuthi amathuluzi e-middleware automation. Lawa mathuluzi asiza ukufaka ngokuzenzakalelayo, ukuphatha, neminye imisebenzi ye-middleware. Isibonelo, ithuluzi lokuzenzakalela lingathatha izinhlelo zokusebenza (iseva yohlelo lokusebenza lwewebhu, isizindalwazi, amathuluzi okuqapha) ngokulungiselelwa okulungile futhi liziphushele kuseva yohlelo lokusebenza.

Nazi ezinye izinketho zamathuluzi e-open middleware automation:

I-Dummies Guide: Ukwakha Amaketanga e-DevOps Ngamathuluzi Omthombo Ovulekile

Imininingwane ezihlokweni I-Opensource.com:

Manje?

Lona nje ithiphu leqhwa. Uchungechunge lwe-DevOps lungenza okuningi kakhulu. Qala ngethuluzi le-CI/CD futhi ubone ukuthi yini enye ongayenza ukuze wenze umsebenzi wakho ube lula. Ungakhohlwa mayelana amathuluzi okuxhumana avulekile ngokubambisana okusebenzayo.

Nazi ezinye izindatshana ezinhle ze-DevOps zabaqalayo:

Ungaphinda uhlanganise i-DevOps ngamathuluzi agugile avulekile:

Source: www.habr.com

Engeza amazwana