Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso
Kuvaka yako yekutanga DevOps cheni mumatanho mashanu evatangi.

DevOps yave panacea yekunonoka, kubviswa uye neimwe nzira inonetsa budiriro. Asi iwe unoda zvishoma ruzivo muDevOps. Ichavhara pfungwa dzakadai seDevOps cheni uye maitiro ekugadzira imwe mumatanho mashanu. Iyi haisi gwara rakazara, asi "hove" chete inogona kuwedzerwa. Ngatitange nenhoroondo.

Nhanganyaya yangu kuDevOps

Ini ndaigara ndichishanda nemakore kuCiti Group uye kugadzira IaaS webhu application kubata Citi's cloud infrastructure, asi ndagara ndichifarira maitiro ekugadzirisa cheni yekusimudzira uye kugadzirisa tsika pakati pevagadziri. Greg Lavender, CTO wedu weCloud Architecture uye Infrastructure, akandikurudzira bhuku iri. Project "Phoenix". Inotsanangura misimboti yeDevOps zvakanaka uye inoverenga senge novel.

Tafura iri kuseri inoratidza kuti kangani makambani anoburitsa shanduro itsva:

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Amazon, Google neNetflix vanoita sei kuti vabudise zvakanyanya? Uye zviri nyore: vakafunga nzira yekugadzira inenge yakakwana DevOps cheni.

Zvinhu zvainge zvasiyana chaizvo kwatiri paCiti kusvika tachinja kuDevOps. Ipapo timu yangu yaive nenzvimbo dzakasiyana, asi isu takaendesa kune server yekuvandudza nemaoko. Vese vagadziri vaikwanisa kuwana imwe chete sevha yekusimudzira yakavakirwa paIBM WebSphere Application Server Community Edition. Nekuedza kumwe chete kununura, sevha "yakadonha", uye nguva imwe neimwe taifanira "kurwadza" kutaurirana pakati pedu. Isu takanga zvakare tisina kukwana kodhi yekuvhara nemiedzo, inopedza nguva-inopedza manyore maitiro, uye pasina nzira yekutevera kuendeswa kwekodhi nerubatsiro rwerimwe basa kana zvinodiwa nevatengi.

Zvaiva pachena kuti chimwe chinhu chaifanira kukurumidza kuitwa, uye ndakawana mumwe wandaishanda naye aiva nepfungwa dzakafanana. Takasarudza kugadzira ketani yekutanga yeDevOps pamwe chete - akagadzira muchina chaiwo uye Tomcat application server, uye ini ndakatarisira Jenkins, kubatanidzwa neAtlassian Jira uye BitBucket, pamwe nekuvhara kwekodhi nemiedzo. Iyo purojekiti yakabudirira: isu takanyatso otomatiki cheni yekusimudzira, yakawana ingangoita 100% uptime pane yekuvandudza server, takakwanisa kutarisa nekuvandudza kodhi yekuvhara nemiedzo, uye bazi reGit rinogona kusungirirwa kune Jira kuendesa uye nyaya. Uye anenge ese maturusi atakashandisa kuvaka iyo DevOps cheni aive akavhurika sosi.

Muchokwadi, cheni yakarerutswa, nekuti isu hatina kana kushandisa magadzirirwo epamberi tichishandisa Jenkins kana Ansible. Asi takabudirira. Zvichida izvi mhedzisiro yenheyo Pareto (aka iyo 80/20 mutemo).

Tsanangudzo Pfupi yeDevOps uye CI/CD Chain

DevOps ine tsananguro dzakasiyana. DevOps, seAgile, inosanganisira maitiro akasiyana. Asi vazhinji vanobvumirana netsanangudzo inotevera: DevOps inzira, kana kutenderera kwehupenyu, yekuvandudza software, musimboti mukuru wekugadzira tsika apo vanogadzira uye vamwe vashandi vari "pahumwe wavelength", basa remaoko rinoitwa otomatiki, munhu wese anoita zvaanogona paari, kuwanda kwekutakura kunowedzera, kugadzirwa kwebasa kunowedzera, kushanduka kunowedzera.

Nepo maturusi ega asina kukwana kugadzira DevOps nharaunda, iwo akakosha. Chinonyanya kukosha pane izvi ndechekuenderera mberi kwekubatanidzwa uye kuenderera mberi kwekutumira (CI / CD). Kune matanho akasiyana mumaketani kune yega yega nharaunda (semuenzaniso DEV (budiriro), INT (kubatanidzwa), TST (yekuyedza), QA (kusimbiswa kwemhando), UAT (yemushandisi yekugamuchira bvunzo), STG (kugadzirira), PROD (kushandisa)) , mabasa emaoko ari otomatiki, vagadziri vanogona kugadzira kodhi yemhando, kuiburitsa, uye inogona kuvaka zvakare nyore.

Ichi chinyorwa chinotsanangura maitiro ekugadzira cheni yeDevOps mumatanho mashanu, sezvakaratidzwa mumufananidzo uri pazasi, uchishandisa yakavhurika sosi maturusi.

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Ngatidzikei kubhizinesi.

Danho 1: CI/CD Platform

Chekutanga pane zvese, unoda CI/CD chishandiso. Jenkins iMIT-ine rezinesi, yakavhurika-sosi CI/CD chishandiso chakanyorwa muJava icho chakaparidzira kufamba kweDevOps uye yave iyo de facto chiyero cheCICD.

Chii chinonzi Jenkins? Fungidzira kuti une mashiripiti ekudzora pani kune akasiyana masevhisi uye zvishandiso. Payo pachayo, CI/CD chishandiso chakaita seJenkins hachibatsiri, asi nemidziyo nemasevhisi akasiyana, chinova chine simba rose.

Pamusoro peJenkins, kune mamwe akawanda akavhurika sosi maturusi, sarudza chero.

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Hezvino izvo maitiro eDevOps anotaridzika neCI/CD chishandiso

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Iwe une CI/CD chishandiso mune localhost, asi hapana zvakawanda zvekuita parizvino. Ngatienderere mberi kune nhanho inotevera.

Danho 2: Kushandura

Iyo yakanakisa (uye ine nharo iri nyore) nzira yekuyedza mashiripiti eCI / CD chishandiso ndeyekubatanidza iyo neyekudzora kudzora manejimendi (SCM) chishandiso. Sei uchida shanduro control? Ngatiti uri kuita application. Iwe unoinyora muJava, Python, C++, Go, Ruby, JavaScript, kana chero mumwe mutauro uri ngoro uye ngoro diki. Zvaunonyora zvinonzi source code. Pakutanga, kunyanya kana uri kushanda wega, unogona kuchengetedza zvese kudhairekitori renzvimbo. Asi sezvo purojekiti ichikura uye vanhu vazhinji vanojoinha, iwe unoda nzira yekugovana shanduko yekodhi asi dzivirira kukakavara kana uchibatanidza shanduko. Uye iwe zvakare unofanirwa kudzoreredza zvekare mavhezheni pasina kushandisa backups uye kushandisa iyo kopi-namira nzira yekodhi mafaera.

Uye pano pasina SCM chero kupi. Iyo SCM inochengeta kodhi mumarepositori, inogadzirisa shanduro dzayo, uye inoironga pakati pevagadziri.

Kune akawanda maSCM maturusi, asi Git yakafanirwa kuve iyo de facto standard. Ndinokupa zano kuti uishandise, asi pane dzimwe sarudzo.

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Hezvino izvo pombi yeDevOps inotaridzika mushure mekuwedzera iyo SCM.

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Iyo CI/CD chishandiso chinogona kuita otomatiki kodhi kodhi kurodha uye kurodha uye kubatana kwechikwata. Kusaipa? Asi ikozvino maitiro ekuita basa rekushanda kubva pane izvi, rinodiwa nemabhiriyoni evashandisi?

Danho rechitatu: Vaka otomatiki Tool

Zvese zviri kufamba sezvazvinofanira. Iwe unogona kurodha kodhi uye kuita shanduko kune sosi kutonga, uye kukoka shamwari kuti dzishande newe. Asi iwe hausati wava neapp. Kuti iyi ive yewebhu application, inofanirwa kuunganidzwa uye kurongedzerwa kuti igovane kana kumhanya sechinhu chinoitwa. (Mutauro wakadudzirwa wechirongwa seJavaScript kana PHP haudi kuunganidzwa.)

Shandisa kuvaka otomatiki chishandiso. Chero chishandiso chaunosarudza, chinounganidza kodhi mufomati chaiyo uye otomatiki kuchenesa, kuunganidza, kuyedzwa, uye kutumira. Maturusi ekuvaka anosiyana nemutauro, asi anotevera akavhurwa sosi sarudzo anowanzo kushandiswa.

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Yakakwana! Zvino ngatiisei iyo yekuvaka otomatiki chishandiso chekugadzirisa mafaera mune sosi yekutonga kuitira kuti CI/CD mudziyo uvavake.

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Zvinonzwa zvakanaka. Asi zvese izvi zvichabuda kupi izvozvi?

Nhanho 4: Webhu Yekushandisa Server

Saka, une faira rakapetwa rinogona kuurayiwa kana kukungurutswa. Kuti application inyatso batsira, inofanirwa kunge iine imwe mhando yebasa kana interface, asi iwe unofanirwa kuiisa yese kumwe kumwe.

Webhu application inogona kuitirwa pawebhu application server. Iyo sevha yekushandisa inopa nharaunda kwaunogona kuita akaputirwa logic, kupa maficha, uye kufumura webhu masevhisi pamusoro pesokisi. Unoda sevha yeHTTP uye mamwe mashoma nharaunda (muchina chaiwo, semuenzaniso) kuisa server yekushandisa. Parizvino, ngatiite seuri kubata nazvo zvese izvi sezvaunoenda (kunyangwe ini ndichataura nezve midziyo pazasi).

Kune akati wandei akavhurika ewebhu application maseva.

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Isu tatova neketani inenge ichishanda yeDevOps. Basa rakanaka!

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Muchidimbu, iwe unogona kumira pano, ipapo iwe unogona kuzvibata iwe pachako, asi zvakakodzera kutaura nezvemhando yekodhi.

Nhanho yechishanu: Kuongororwa kwezve

Kuedza kunotora nguva yakawanda uye kushanda nesimba, asi zviri nani kuti uwane tsikidzi ipapo uye uvandudze kodhi kufadza vashandisi vekupedzisira. Nechinangwa ichi, kune akawanda maturusi akavhurika ayo asingangoyedze iyo kodhi chete, asi zvakare inopa zano kuti ungaivandudza sei. Maturusi mazhinji eCI/CD anogona kubaya mune aya maturusi uye otomatiki maitiro.

Muedzo wakakamurwa kuita zvikamu zviviri: mafomu ekuyedza ekunyora nekuita bvunzo, uye maturusi ane mazano ekuvandudza kodhi yemhando.

Testing Frameworks

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Zvishandiso zvine mazano emhando

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Zvizhinji zvezvishandiso izvi nemafuremu zvakanyorerwa Java, Python, uye JavaScript nekuti C++ neC# ndezvavo (kunyangwe GCC yakavhurika sosi).

Isu takashandisa maturusi ekuvhara bvunzo, uye ikozvino pombi yeDevOps inofanirwa kutaridzika semufananidzo uri pakutanga kwechidzidzo.

Mamwe Matanho

Containers

Sezvandambotaura, sevha yekushandisa inogona kubatwa mumushini chaiwo kana sevha, asi midziyo inonyanya kufarirwa.

Ko midziyo chii? Muchidimbu, mumuchina chaiwo, iyo inoshanda sisitimu inowanzotora nzvimbo yakawanda kupfuura yekushandisa, uye mudziyo unowanzo kukwana nemaraibhurari mashoma uye kumisikidzwa. Mune zvimwe zviitiko, machina chaiwo anodiwa, asi mudziyo unogona kugarisa application pamwe neserver pasina muripo wakawedzerwa.

Kune midziyo, Docker uye Kubernetes inowanzotorwa, kunyangwe paine dzimwe sarudzo.

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Verenga zvinyorwa nezve Docker uye Kubernetes pa opensource.com:

Middleware otomatiki zvishandiso

Yedu DevOps cheni yakatarisana nekubatana kuvaka uye kuendesa application, asi pane zvimwe zvinonakidza zvinhu zvaunogona kuita neDevOps maturusi. Semuenzaniso, shandisa Infrastructure seCode (IaC) maturusi, anozivikanwawo semiddleware otomatiki maturusi. Aya maturusi anobatsira otomatiki kuisirwa, manejimendi, uye mamwe mabasa epakati. Semuenzaniso, otomatiki chishandiso chinogona kutora maapplication (web application server, dhatabhesi, yekutarisa maturusi) neayo magadzirirwo uye oasundira kune server application.

Hedzino dzimwe sarudzo dzekuvhura middleware otomatiki maturusi:

Dummies Guide: Kuvaka DevOps Maketani ane Open Source Zvishandiso

Tsanangudzo muzvinyorwa opensource.com:

Zvino chii?

Iyi inongova muromo wechando. Iyo DevOps cheni inogona kuita zvakawanda. Tanga neCI/CD chishandiso uye uone kuti ndezvipi zvimwe zvaungaite kuti basa rako rive nyore. Usakanganwa nezvazvo maturusi ekukurukurirana akazaruka kuitira kubatana kunoshanda.

Heano zvimwe zvakanaka zveDevOps zvinyorwa zvevanotanga:

Iwe unogona zvakare kubatanidza DevOps neakavhurika agile maturusi:

Source: www.habr.com

Voeg