Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte
A’ togail a’ chiad sreath DevOps agad ann an còig ceumannan airson luchd-tòiseachaidh.

Tha DevOps air a thighinn gu bhith na panacea airson pròiseasan leasachaidh a tha ro shlaodach, neo-cheangailte agus eile a tha duilich. Ach feumaidh tu glè bheag de eòlas ann an DevOps. Còmhdaichidh e bun-bheachdan leithid an t-sreath DevOps agus mar a chruthaicheas tu aon às gach còig ceumannan. Chan e stiùireadh iomlan a tha seo, ach dìreach "iasg" a ghabhas leudachadh. Feuch an tòisich sinn le eachdraidh.

An ro-ràdh agam gu DevOps

B’ àbhaist dhomh a bhith ag obair le sgòthan aig Citi Group agus a’ leasachadh tagradh lìn IaaS gus bun-structar sgòthan Citi a riaghladh, ach bha ùidh agam a-riamh ann a bhith a’ leasachadh an t-sreath leasachaidh agus a’ leasachadh a’ chultair am measg luchd-leasachaidh. Mhol Greg Lavender, an CTO againn airson Cloud Architecture and Infrastructure, an leabhar seo dhomh. Pròiseact Phoenix. Bidh e a’ mìneachadh prionnsapalan DevOps gu breagha agus a’ leughadh mar nobhail.

Tha an clàr air a’ chùl a’ sealltainn cho tric sa bhios companaidhean a’ sgaoileadh dreachan ùra:

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Ciamar a thèid aig Amazon, Google agus Netflix air uimhir a chuir a-mach? Agus tha e sìmplidh: rinn iad a-mach mar a chruthaicheas iad slabhraidh DevOps cha mhòr foirfe.

Bha cùisean gu math eadar-dhealaichte dhuinne aig Citi gus an do thionndaidh sinn gu DevOps. An uairsin bha àrainneachdan eadar-dhealaichte aig an sgioba agam, ach rinn sinn an lìbhrigeadh chun t-seirbheisiche leasachaidh le làimh. Cha robh cothrom aig a h-uile leasaiche ach air aon fhrithealaiche leasachaidh stèidhichte air IBM WebSphere Application Server Community Edition. Le oidhirp aig an aon àm air lìbhrigeadh, “thuit" am frithealaiche, agus a h-uile uair bha againn ri“ gu pianail ”barganachadh nar measg fhìn. Cha robh còmhdach còd gu leòr againn cuideachd le deuchainnean, pròiseas lìbhrigidh làimhe a thug ùine mhòr, agus cha robh dòigh ann sùil a chumail air lìbhrigeadh còd le cuideachadh bho chuid de ghnìomh no riatanas teachdaiche.

Bha e soilleir gu robh feum èiginneach air rudeigin a dhèanamh, agus lorg mi co-obraiche den aon seòrsa inntinn. Cho-dhùin sinn a’ chiad sreath DevOps a chruthachadh còmhla - stèidhich e inneal brìgheil agus frithealaiche tagraidh Tomcat, agus thug mi aire do Jenkins, amalachadh le Atlassian Jira agus BitBucket, a bharrachd air còmhdach còd le deuchainnean. Bha am pròiseact soirbheachail: rinn sinn làn fèin-ghluasad air an t-sreath leasachaidh, choilean sinn faisg air 100% uptime air an t-seirbheisiche leasachaidh, b’ urrainn dhuinn sùil a chumail air agus leasachadh còmhdach còd le deuchainnean, agus dh’ fhaodadh meur Git a bhith ceangailte ri lìbhrigeadh agus cùis Jira. Agus bha cha mhòr a h-uile inneal a chleachd sinn airson an t-sreath DevOps a thogail fosgailte.

Gu dearbh, chaidh an t-seine a dhèanamh nas sìmplidhe, oir cha do chuir sinn eadhon rèiteachaidhean adhartach an sàs le Jenkins no Ansible. Ach shoirbhich leinn. Is dòcha gu bheil seo mar thoradh air a’ phrionnsapal Pàruig (aka an riaghailt 80/20).

Tuairisgeul goirid air an t-sreath DevOps agus CI/CD

Tha mìneachaidhean eadar-dhealaichte aig DevOps. Tha DevOps, mar Agile, a’ toirt a-steach diofar chuspairean. Ach aontaichidh a’ mhòr-chuid leis a’ mhìneachadh a leanas: Is e dòigh, no cearcall-beatha, de leasachadh bathar-bog a th’ ann an DevOps, agus is e am prìomh phrionnsapal a bhith a’ cruthachadh cultar far a bheil luchd-leasachaidh agus luchd-obrach eile “air an aon tonn-tonn”, tha saothair làimhe fèin-ghluasadach, bidh a h-uile duine a’ dèanamh an rud as fheàrr aig, bidh tricead lìbhrigidh a’ dol am meud, cinneasachd obrach ag àrdachadh, sùbailteachd ag àrdachadh.

Ged nach eil innealan leotha fhèin gu leòr airson àrainneachd DevOps a chruthachadh, tha iad riatanach. Is e am fear as cudromaiche dhiubh sin amalachadh leantainneach agus lìbhrigeadh leantainneach (CI/CD). Tha diofar ìrean anns an t-sreath airson gach àrainneachd (me DEV (leasachadh), INT (amalachadh), TST (deuchainn), QA (deuchainn càileachd), UAT (deuchainn gabhail luchd-cleachdaidh), STG (ullachadh), PROD (cleachdadh)) , tha gnìomhan làimhe fèin-ghluasadach, faodaidh luchd-leasachaidh còd càileachd a thoirt gu buil, a lìbhrigeadh, agus is urrainn dhaibh ath-thogail gu furasta.

Tha an nota seo ag innse mar a chruthaicheas tu slabhraidh DevOps ann an còig ceumannan, mar a chithear san dealbh gu h-ìosal, a’ cleachdadh innealan stòr fosgailte.

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Rachamaid sìos gu gnìomhachas.

Ceum 1: Àrd-ùrlar CI / CD

An toiseach, feumaidh tu inneal CI / CD. Tha Jenkins na inneal CI / CD stòr fosgailte le cead MIT air a sgrìobhadh ann an Java a chòrd ri gluasad DevOps agus a thàinig gu bhith na inbhe de facto airson CICD.

Dè a th’ ann an Jenkins? Smaoinich gu bheil pannal smachd draoidheil agad airson grunn sheirbheisean is innealan. Leis fhèin, tha inneal CI / CD mar Jenkins gun fheum, ach le innealan agus seirbheisean eadar-dhealaichte, bidh e uile-chumhachdach.

A bharrachd air Jenkins, tha mòran innealan stòr fosgailte eile ann, tagh gin.

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Seo cò ris a tha pròiseas DevOps coltach le inneal CI / CD

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Tha inneal CI / CD agad ann an localhost, ach chan eil mòran ri dhèanamh fhathast. Gluaisidh sinn air adhart chun ath cheum.

Ceum 2: Tionndadh

Is e an dòigh as fheàrr (agus is dòcha as fhasa) gus draoidheachd inneal CI / CD a dhearbhadh a bhith ga fhilleadh a-steach le inneal riaghlaidh smachd stòr (SCM). Carson a tha feum agad air smachd dreach? Canaidh sinn gu bheil thu a’ dèanamh tagradh. Bidh thu ga sgrìobhadh ann an Java, Python, C ++, Go, Ruby, JavaScript, no cànan sam bith eile a tha na charbad agus na chairt bheag. Canar còd stòr ris na tha thu a’ sgrìobhadh. An toiseach, gu sònraichte ma tha thu ag obair leat fhèin, faodaidh tu a h-uile càil a shàbhaladh gu eòlaire ionadail. Ach mar a bhios am pròiseact a’ fàs agus barrachd dhaoine a’ tighinn còmhla, feumaidh tu dòigh air atharrachaidhean còd a cho-roinn ach còmhstrithean a sheachnadh nuair a thig atharrachaidhean còmhla. Agus feumaidh tu cuideachd dòigh air choireigin a thoirt air ais tionndaidhean roimhe gun a bhith a 'cleachdadh lethbhreacan-glèidhidh agus a' cleachdadh an dòigh lethbhreac-paste airson faidhlichean còd.

Agus an seo às aonais SCM an àite sam bith. Bidh an SCM a’ stòradh còd ann an stòran, a’ riaghladh dreachan dheth, agus ga cho-òrdanachadh am measg luchd-leasachaidh.

Tha mòran innealan SCM ann, ach tha Git airidh air a thighinn gu bhith na inbhe de facto. Tha mi a 'toirt comhairle dhut a chleachdadh, ach tha roghainnean eile ann.

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Seo cò ris a bhios loidhne-phìoban DevOps coltach às deidh dhaibh an SCM a chuir ris.

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Faodaidh an inneal CI / CD luchdachadh sìos còd stòr gu fèin-ghluasadach agus luchdachadh sìos agus co-obrachadh sgioba. Chan eil sin dona? Ach a-nis ciamar a nì thu tagradh obrach bho seo, air a bheil meas aig na billeanan de luchd-cleachdaidh?

Ceum 3: Tog Inneal Automation

Tha a h-uile dad a’ dol mar bu chòir. Faodaidh tu còd a luchdachadh suas agus atharrachaidhean a dhèanamh air smachd stòr, agus cuireadh a thoirt do charaidean a bhith ag obair còmhla riut. Ach chan eil aplacaid agad fhathast. Airson gur e tagradh lìn a tha seo, feumaidh e a bhith air a chur ri chèile agus air a phacaigeadh airson a chuairteachadh no a ruith mar ghnìomhaiche. (Chan fheum cànan prògramadh eadar-mhìneachaidh mar JavaScript no PHP a bhith air a chur ri chèile.)

Cleachd inneal fèin-ghluasaid togail. Ge bith dè an inneal a thaghas tu, cruinnichidh e an còd anns a’ chruth cheart agus nì e fèin-ghluasad air glanadh, cruinneachadh, deuchainn agus lìbhrigeadh. Bidh innealan togail ag atharrachadh a rèir cànan, ach tha na roghainnean stòr fosgailte a leanas air an cleachdadh gu cumanta.

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Perfect! A-nis leig dhuinn na faidhlichean rèiteachaidh inneal fèin-ghluasaid togail a chuir a-steach do smachd stòr gus am bi an inneal CI / CD gan togail.

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Tha e a’ faireachdainn math. Ach càite a bheil seo uile ri sgaoileadh a-mach a-nis?

Ceum 4: Web Application Server

Mar sin, tha faidhle pacaichte agad a ghabhas a chuir gu bàs no a sgaoileadh. Airson tagradh a bhith gu math feumail, feumaidh seòrsa de sheirbheis no eadar-aghaidh a bhith aige, ach feumaidh tu a h-uile càil a chuir an àiteigin.

Faodar tagradh lìn a chumail air frithealaiche tagradh lìn. Bidh frithealaiche an tagraidh a’ toirt seachad àrainneachd far an urrainn dhut loidsig pacaichte a chuir an gnìomh, eadar-aghaidh a thoirt seachad, agus seirbheisean lìn a nochdadh thairis air socaid. Feumaidh tu frithealaiche HTTP agus beagan àrainneachdan eile (inneal brìgheil, mar eisimpleir) gus frithealaiche an tagraidh a stàladh. Airson a-nis, leigamaid oirnn gu bheil thu a 'dèiligeadh ri seo uile mar a thèid thu air adhart (ged a bhruidhneas mi mu shoithichean gu h-ìosal).

Tha grunn luchd-frithealaidh aplacaid lìn fosgailte ann.

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Tha sreath DevOps againn a tha cha mhòr ag obair. Deagh obair!

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Ann am prionnsabal, faodaidh tu stad an seo, faodaidh tu fhèin a làimhseachadh, ach is fhiach bruidhinn mu chàileachd a 'chòd.

Ceum 5: Còmhdach deuchainn

Bheir deuchainnean tòrr ùine is oidhirp, ach tha e nas fheàrr biastagan a lorg anns a’ bhad agus an còd a leasachadh gus luchd-cleachdaidh deireannach a thoileachadh. Airson an adhbhair seo, tha mòran innealan fosgailte nach bi a-mhàin a 'dèanamh deuchainn air a' chòd, ach cuideachd a 'toirt comhairle air mar a leasaicheas tu e. Faodaidh a’ mhòr-chuid de dh’ innealan CI/CD na h-innealan sin a chur a-steach agus am pròiseas a dhèanamh fèin-ghluasadach.

Tha deuchainn air a roinn ann an dà phàirt: frèaman deuchainn airson sgrìobhadh agus coileanadh dheuchainnean, agus innealan le molaidhean gus càileachd còd a leasachadh.

Frèamaichean deuchainn

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Innealan le molaidhean càileachd

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Tha a’ mhòr-chuid de na h-innealan agus frèaman sin air an sgrìobhadh airson Java, Python, agus JavaScript leis gu bheil C ++ agus C # le sealbh (ged a tha GCC fosgailte).

Tha sinn air na h-innealan còmhdach deuchainn a chuir an sàs, agus a-nis bu chòir loidhne-phìoban DevOps a bhith coltach ris an dealbh aig toiseach an oideachaidh.

Ceumannan a bharrachd

Containers

Mar a thuirt mi roimhe, faodar frithealaiche tagraidh a chumail ann an inneal brìgheil no frithealaiche, ach tha fèill mhòr air soithichean.

Dè th 'ann an soithichean? Ann an ùine ghoirid, ann an inneal brìgheil, bidh an siostam obrachaidh gu tric a’ gabhail barrachd àite na an tagradh, agus mar as trice bidh soitheach gu leòr le beagan leabharlannan agus rèiteachadh. Ann an cuid de chùisean, tha innealan brìgheil riatanach, ach gabhaidh an soitheach an tagradh còmhla ris an t-seirbheisiche gun chosgais a bharrachd.

Airson soithichean, mar as trice thèid Docker agus Kubernetes a ghabhail, ged a tha roghainnean eile ann.

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Leugh artaigilean mu Docker agus Kubernetes aig opensource.com:

Innealan fèin-ghluasaid middleware

Tha an t-sreath DevOps againn ag amas air togail co-obrachail agus lìbhrigeadh tagradh, ach tha rudan inntinneach eile ann as urrainn dhut a dhèanamh le innealan DevOps. Mar eisimpleir, cleachd innealan Bun-structair mar Chòd (IaC), ris an canar cuideachd innealan fèin-ghluasaid midware. Bidh na h-innealan sin a’ cuideachadh le stàladh fèin-ghluasadach, riaghladh, agus gnìomhan eile airson bathar meadhanach. Mar eisimpleir, faodaidh inneal fèin-ghluasaid tagraidhean (frithealaiche tagradh lìn, stòr-dàta, innealan sgrùdaidh) a thoirt leis na rèiteachaidhean ceart agus am putadh gu frithealaiche an tagraidh.

Seo cuid de na roghainnean airson innealan fèin-ghluasaid midware fosgailte:

Iùl dummies: A’ togail slabhraidhean DevOps le Innealan Stòr Fosgailte

Mion-fhiosrachadh anns na h-artaigilean opensource.com:

Agus a-nis dè a th 'ann?

Is e seo dìreach bàrr na beinne-deighe. Faodaidh an t-sreath DevOps tòrr a bharrachd a dhèanamh. Tòisich le inneal CI/CD agus faic dè eile as urrainn dhut a dhèanamh fèin-ghluasadach gus do dhreuchd a dhèanamh nas fhasa. Na dìochuimhnich mu dheidhinn innealan conaltraidh fosgailte airson co-obrachadh èifeachdach.

Seo cuid de na h-artaigilean math DevOps airson luchd-tòiseachaidh:

Faodaidh tu cuideachd DevOps fhilleadh a-steach le innealan sùbailte fosgailte:

Source: www.habr.com

Cuir beachd ann