5 Fitsipika mahazatra amin'ny fananganana fampiharana Cloud-Native

Ny fampiharana "Cloud native" na "cloud" tsotra dia noforonina manokana hiasa amin'ny fotodrafitrasa rahona. Matetika izy ireo dia amboarina ho andian-tsarimihetsika mikraoba mifamatotra ao anaty kaontenera, izay tantanin'ny sehatra rahona. Ny fampiharana toy izany dia voaomana amin'ny tsy fahombiazana amin'ny alΓ lan'ny default, izay midika fa miasa azo antoka sy mirefy izy ireo na dia misy ny tsy fahombiazan'ny fotodrafitrasa lehibe aza. Ny lafiny hafa amin'ny vola madinika dia ireo andiana fameperana (fifanarahana) apetraky ny sehatra rahona amin'ny rindranasa kaontenera mba hahafahana mitantana azy ireo ho azy.

5 Fitsipika mahazatra amin'ny fananganana fampiharana Cloud-Native

Na dia mahafantatra tsara ny filana sy ny maha-zava-dehibe ny fifindran'ny rindranasa mifototra amin'ny rahona aza, dia maro ireo fikambanana no tsy mahalala hoe aiza no hanombohana. Ato amin'ity lahatsoratra ity dia hijery fitsipika maromaro isika izay, raha arahina amin'ny famolavolana fampiharana containerized, dia ahafahanao mahatsapa ny mety hisian'ny sehatra rahona ary hahatratra ny asa azo antoka sy ny fampitomboana ny rindranasa na dia misy tsy fahombiazana lehibe amin'ny fotodrafitrasa IT. ambaratonga. Ny tanjona faratampony amin'ireo fitsipika voasoritra eto dia ny hianatra ny fomba fananganana rindranasa azo tantanan'ny sehatra rahona toy ny Kubernetes ho azy.

Fitsipiky ny famolavolana rindrambaiko

Ao amin'ny tontolon'ny fandaharana, ny fitsipika dia manondro fitsipika ankapobeny tsy maintsy arahina rehefa mamolavola rindrambaiko. Azo ampiasaina izy ireo rehefa miasa amin'ny fiteny fandaharana rehetra. Ny fitsipika tsirairay dia manana ny tanjony manokana, ny fitaovana hanatrarana izay matetika modely sy fomba fanao. Misy fitsipika fototra maromaro ihany koa amin'ny famoronana rindrambaiko avo lenta, izay ikorianan'ny hafa rehetra. Ireto misy ohatra vitsivitsy amin'ny fitsipika fototra:

  • Kiss (Ataovy tsotra, adala) - aza manasarotra azy;
  • MAIMA (Aza mamerina ny tenanao) – aza mamerina ny tenanao;
  • YAGNI (Tsy mila izany ianao) – aza mamorona zavatra tsy ilaina avy hatrany;
  • Soc Fanasarahana ny ahiahy - mizara andraikitra.

Araka ny hitanao, ireo fitsipika ireo dia tsy mametraka fitsipika manokana, fa tafiditra ao anatin'ny sokajy antsoina hoe fiheverana ny saina mifototra amin'ny traikefa azo ampiharina, izay iraisan'ny mpamorona maro ary resahin'izy ireo matetika.
Ankoatra izany, misy mafy – Fitsipika dimy voalohany amin'ny fandaharana sy famolavolana miompana amin'ny zavatra, noforonin'i Robert Martin. Ny SOLID dia ahitana fitsipika midadasika, misokatra, mifameno izayβ€”rehefa ampiharina miarakaβ€”dia manampy amin'ny famoronana rafitra rindrambaiko tsara kokoa sy mitazona azy ireo mandritra ny fotoana maharitra.

Ny fitsipika SOLID dia an'ny sehatry ny OOP ary voavolavola amin'ny fitenin'ny hevitra sy foto-kevitra toy ny kilasy, fifandraisana ary lova. Amin'ny analogy, ny fitsipiky ny fampandrosoana dia azo amboarina ihany koa ho an'ny rindranasa rahona, ny singa fototra eto dia tsy ho kilasy, fa fitoeran-javatra. Amin'ny fanarahana ireo fitsipika ireo dia azonao atao ny mamorona fampiharana voatahiry izay mahafeno tsara ny tanjona sy ny tanjon'ny sehatra rahona toa an'i Kubernetes.

Kaontenera rahona: ny fomba fiasa Red Hat

Amin'izao fotoana izao, saika ny fampiharana rehetra dia azo ampidirina mora foana ao anaty container. Saingy raha te ho mandeha ho azy sy voarindra tsara ao anatin'ny sehatra rahona toa an'i Kubernetes ny fampiharana, dia ilaina ny ezaka fanampiny.
Ny fototry ny hevitra voalaza etsy ambany dia ny fomba fiasa Ny App Twelve-Factor ary asa maro hafa amin'ny lafiny samihafa amin'ny fananganana rindranasa an-tranonkala, manomboka amin'ny fitantanana ny kaody loharano mankany amin'ny maodely scaling. Ireo fitsipika voalaza ireo dia mihatra amin'ny fampivoarana ireo rindranasa voatahiry ao an-tampon'ny microservices ary natao ho an'ny sehatra rahona toy ny Kubernetes. Ny singa fototra amin'ny fifanakalozan-kevitray dia ny sarin'ny kaontenera, ary ny fotoana fampandehanana ny kaontenera kendrena dia ny sehatra orkestra kaontenera. Ny tanjon'ireo fitsipika naroso dia ny hamorona kaontenera izay ahafahan'ny fandaharam-potoana, ny fanamafisam-peo ary ny fanaraha-maso ny asa atao ho azy amin'ny ankamaroan'ny sehatra orkestra. Tsy misy filaharana manokana no aseho ireo fitsipika ireo.

Fitsipika momba ny raharaha tokana (SCP)

Ity fitsipika ity dia mitovy amin'ny fomba maro amin'ny fitsipiky ny andraikitra tokana. SRP), izay ao anatin'ny seta SOLID ary milaza fa ny zavatra tsirairay dia tsy maintsy manana andraikitra iray, ary io andraikitra io dia tsy maintsy atambatra tanteraka ao anaty kilasy iray. Ny tanjon'ny SRP dia ny hoe anton'ny fiovana ny andraikitra rehetra, ary ny kilasy iray dia tsy maintsy manana antony iray sy tokana ho an'ny fiovana.

Ao amin'ny SCP, mampiasa ny teny hoe "manahy" izahay fa tsy ny teny hoe "andraikitra" mba hanondroana ny haavon'ny abstraction sy ny tanjona midadasika kokoa amin'ny fitoeran-javatra iray raha oharina amin'ny kilasy OOP. Ary raha ny tanjon'ny SRP dia ny tsy hanana afa-tsy antony iray hanovana, dia ao ambadiky ny SCP ny faniriana hanitarana ny fahafahana mampiasa sy manolo ny kaontenera. Amin'ny fanarahana ny SRP sy ny famoronana kaontenera iray izay mamaha olana tokana ary manao izany amin'ny fomba feno amin'ny fomba fiasa, dia mampitombo ny fahafahana hampiasa indray io sary fitoeran-javatra io amin'ny toe-javatra fampiharana samihafa ianao.

Ny fitsipika SCP dia milaza fa ny kaontenera tsirairay dia tokony hamaha olana tokana ary hanao izany tsara. Ankoatra izany, ny SCP ao amin'ny tontolon'ny kaontenera dia mora kokoa noho ny SRP ao amin'ny tontolon'ny OOP, satria matetika ny kaontenera dia manao dingana tokana, ary matetika io dingana io dia mamaha asa tokana.

Raha tsy maintsy mamaha olana maromaro indray mandeha ny microservice iray kaontenera, dia azo zaraina ho kaontenera tokana izy io ary atambatra ao anatin'ny pod iray (sehatra iray amin'ny fametrahana sehatra fitahirizana) amin'ny fampiasana modely sidecar sy init. Fanampin'izany, ny SCP dia manamora ny fanoloana kaontenera tranainy iray (toy ny mpizara tranonkala na mpizara hafatra) amin'ny vaovao iray izay mamaha olana iray ihany saingy nanitatra ny fiasa na mizana tsara kokoa.

5 Fitsipika mahazatra amin'ny fananganana fampiharana Cloud-Native

Fitsipika avo lenta (HOP)

Rehefa ampiasaina ho fomba iray iraisan'ny fonosana sy fampandehanana fampiharana ny kaontenera, dia raisina ho toy ny boaty mainty ny fampiharana. Na izany aza, raha fitahirizana rahona ireo, dia tsy maintsy manome API manokana amin'ny fotoana fandehanana izy ireo mba hanaraha-maso ny fahasalaman'ny kaontenera ary, raha ilaina, dia mandray fepetra mifanaraka amin'izany. Raha tsy misy izany, dia tsy ho azo atao ny mampiray ny automatique amin'ny fanavaozana ny kaontenera sy ny fitantanana ny tsingerin'ny fiainany, izay, kosa, dia hanaratsy ny fahamarinan-toerana sy ny fampiasana ny rafitra rindrambaiko.

5 Fitsipika mahazatra amin'ny fananganana fampiharana Cloud-Native
Amin'ny fampiharana, ny fampiharana voatahiry dia tokony hanana API ho an'ny karazana fitsirihana ara-pahasalamana isan-karazany: fitsapana fahavelomana sy fitsapana fahavononana. Raha misy fampiharana milaza fa manao zavatra bebe kokoa, dia tsy maintsy manome fomba hafa hanaraha-maso ny toerany. Ohatra, manoratra hetsika manan-danja amin'ny alΓ lan'ny STDERR sy STDOUT ho an'ny fanangonana log amin'ny alΓ lan'ny Fluentd, Logstash ary fitaovana hafa mitovy. Ary koa ny fampifangaroana amin'ny tranomboky fanangonana tracing sy metrika, toy ny OpenTracing, Prometheus, sns.

Amin'ny ankapobeny, ny fampiharana dia mbola azo raisina ho toy ny boaty mainty, saingy tsy maintsy omena miaraka amin'ireo API rehetra ilain'ny sehatra izany mba hanaraha-maso sy hitantana azy amin'ny fomba tsara indrindra.

Fitsipika mifanaraka amin'ny tsingerin'ny fiainana (LCP)

LCP dia manohitra ny HOP. Raha milaza ny HOP fa ny kaontenera dia tsy maintsy mampibaribary ny API vakiana eo amin'ny lampihazo, ny LCP dia mitaky ny fampiharana mba hahazoana fampahalalana avy amin'ny sehatra. Ankoatr'izay, ny kaontenera dia tsy maintsy mandray hetsika fotsiny, fa mampifanaraka ihany koa, amin'ny teny hafa, mihetsika amin'izy ireo. Noho izany ny anaran'ny fitsipika, izay azo raisina ho toy ny fepetra takiana mba hanomezana ny sehatra amin'ny fanoratana API.

5 Fitsipika mahazatra amin'ny fananganana fampiharana Cloud-Native
Ny sehatra dia manana karazana hetsika samihafa hanampiana amin'ny fitantanana ny tsingerin'ny fiainan'ny container. Anjaran’ny fampiharana mihitsy anefa no manapa-kevitra hoe iza amin’izy ireo no horaisina sy hatao.

Miharihary fa zava-dehibe kokoa noho ny hafa ny fisehoan-javatra sasany. Ohatra, raha tsy mandefitra tsara ny fianjerana ny fampiharana iray, dia tsy maintsy manaiky famantarana: atsaharo ny hafatra (SIGTERM) ary atombohy haingana araka izay azo atao ny fanafarana azy mba hahazoana ilay famantarana: mamono (SIGKILL) izay tonga aorian'ny SIGTERM.

Fanampin'izany, ny hetsika toy ny PostStart sy PreStop dia mety ho zava-dehibe amin'ny fiainan'ny fampiharana. Ohatra, aorian'ny fandefasana fampiharana dia mety mitaky fotoana mafana vao afaka mamaly ny fangatahana. Na ny fampiharana dia tsy maintsy mamoaka loharano amin'ny fomba manokana rehefa mikatona.

The Image Immutability Principle (IIP)

Ekena amin'ny ankapobeny fa tsy tokony hiova intsony ny fampiharana efa misy container rehefa avy naorina, na dia mandeha amin'ny tontolo samihafa aza. Izany dia mitaky ny filΓ na ny fitehirizana angon-drakitra ivelany amin'ny fotoana fandehanana (amin'ny teny hafa, ny fampiasana fitaovana ivelany ho an'izany) ary miantehitra amin'ny fanamafisam-peo manokana momba ny fandehanana, fa tsy manova na mamorona fitoeran-javatra tokana ho an'ny tontolo tsirairay. Aorian'ny fanovana rehetra amin'ny fampiharana dia tsy maintsy amboarina sy apetraka amin'ny tontolo ampiasaina rehetra ny sary fitoeran-javatra. Raha ny tokony ho izy, rehefa mitantana ny rafitra IT dia misy fitsipika mitovy amin'izany ampiasaina, fantatra amin'ny hoe ny fitsipiky ny tsy fiovaovan'ny server sy ny fotodrafitrasa.

Ny tanjon'ny IIP dia ny hisoroka ny famoronana sary kaontenera misaraka ho an'ny tontolon'ny fotoam-pivoriana samihafa ary ny fampiasana sary mitovy na aiza na aiza miaraka amin'ny fandrindrana mifanaraka amin'ny tontolo iainana. Ny fanarahana an'io fitsipika io dia ahafahanao mampihatra fomba fanao manan-danja toy izany avy amin'ny fomba fijerin'ny automatique ny rafitra rahona toy ny famerenana sy fanavaozana ny fampiharana.

5 Fitsipika mahazatra amin'ny fananganana fampiharana Cloud-Native

Fitsipi-pifehezana ny fanariana (PDP)

Ny iray amin'ireo toetra manan-danja indrindra amin'ny kaontenera dia ny maha-ephemeral azy: ny ohatra iray amin'ny container dia mora noforonina ary mora simba, ka azo soloina mora foana amin'ny fotoana iray hafa. Mety misy antony maro ho an'ny fanoloana toy izany: tsy fahombiazan'ny andrana azo ampiasaina, ny fampitomboana ny fampiharana, ny fifindrana amin'ny mpampiantrano hafa, ny faharerahana ny loharanon'ny sehatra, na ny toe-javatra hafa.

5 Fitsipika mahazatra amin'ny fananganana fampiharana Cloud-Native
Vokatr'izany dia tsy maintsy mitazona ny toerany amin'ny fampiasana fitaovana ivelany ny rindranasa efa voatahiry, na mampiasa tetika zaraina anatiny miaraka amin'ny tsy fahampiana amin'izany. Ankoatr'izay, ny fampiharana dia tsy maintsy manomboka haingana sy mihidy haingana, ary miomana amin'ny tsy fahombiazan'ny fitaovana mahafaty tampoka.

Fomba iray manampy amin'ny fampiharana io fitsipika io ny fitazonana kaontenera kely. Ny tontolon'ny rahona dia afaka misafidy ho azy ny mpampiantrano iray handefasana ohatra kaontenera, ka arakaraka ny kely kokoa ny kaontenera no hanombohany azy - handika fotsiny amin'ny mpampiantrano kendrena amin'ny tambajotra haingana kokoa.

Fitsipika mifehy tena (S-CP)

Araka io fitsipika io, amin'ny dingana fivoriambe, ny singa ilaina rehetra dia tafiditra ao anaty fitoeran-javatra. Ny kaontenera dia tokony hatsangana amin'ny fiheverana fa ny rafitra ihany no manana kernel Linux madio, ka ny trano famakiam-boky fanampiny ilaina rehetra dia tokony hapetraka ao anaty fitoeran-javatra. Izy io koa dia tokony ahitana zavatra toy ny fotoana fampandehanan-draharaha ho an'ny fiteny fandaharana mifanaraka amin'izany, ny sehatra fampiharana (raha ilaina), ary ny fiankinan-doha hafa izay takiana rehefa mandeha ny fampiharana container.

5 Fitsipika mahazatra amin'ny fananganana fampiharana Cloud-Native

Ny fanavahana dia natao ho an'ny fanefena tsy mitovy amin'ny tontolo iainana ary tsy maintsy omena amin'ny fotoana fandehanana, ohatra amin'ny alalan'ny Kubernetes ConfigMap.

Ny fampiharana iray dia mety ahitana singa maromaro voatahiry, ohatra, fitoeran-javatra DBMS mitokana ao anatin'ny rindranasa tranonkala voatokana. Araka ny fitsipiky ny S-CP, ireo fitoeran-javatra ireo dia tsy tokony hitambatra ho iray, fa tokony hatao mba ny DBMS fitoeran-javatra dia ahitana ny zava-drehetra ilaina amin'ny fampandehanana ny angon-drakitra, ary ny tranonkala fampiharana fitoeran-javatra dia ahitana ny zava-drehetra ilaina amin'ny fampandehanana ny tranonkala. fampiharana, mpizara tranonkala mitovy. Vokatr'izany dia miankina amin'ny fitoeran'ny DBMS ny fitoeran'entana fampiharana amin'ny Internet ary miditra amin'izany araka izay ilaina.

Fitsipiky ny famehezana fotoana (RCP)

Ny fitsipiky ny S-CP dia mamaritra ny fomba tokony hananganana ny fitoeran-javatra sy ny tokony ho ao amin'ny binary sary. Fa ny kaontenera dia tsy "boaty mainty" fotsiny izay manana toetra tokana - ny haben'ny rakitra. Mandritra ny famonoana, ny kaontenera dia manana refy hafa: ny habetsaky ny fahatsiarovana ampiasaina, ny fotoanan'ny CPU ary ny loharanon'ny rafitra hafa.

5 Fitsipika mahazatra amin'ny fananganana fampiharana Cloud-Native
Ary eto dia tonga lafatra ny fitsipiky ny RCP, izay tsy maintsy ampitaina amin'ny kaontenera ny fepetra takian'ny loharanon'ny rafitra ary hamindra azy ireo amin'ny sehatra. Miaraka amin'ny mombamomba ny loharanon'ny kaontenera tsirairay (ohatrinona ny CPU, ny fitadidiana, ny tambajotra, ary ny loharanon-drakitra ilainy), ny sehatra dia afaka manatanteraka tsara ny fandaharam-potoana sy ny autoscaling, mitantana ny fahaizan'ny IT ary mitazona ny haavon'ny SLA ho an'ny kaontenera.

Ankoatra ny mahafeno ny fepetra takian'ny kaontenera, dia zava-dehibe ihany koa ho an'ny fampiharana ny tsy hihoatra ny fetrany. Raha tsy izany, rehefa misy ny tsy fahampian'ny loharanon-karena, ny sehatra dia mety hampiditra azy io ao amin'ny lisitry ny rindranasa tokony hatsahatra na hafindra.

Rehefa miresaka momba ny maha rahona isika dia miresaka momba ny fomba fiasa.
Ambonin'izany, namolavola fitsipika ankapobeny maromaro izahay izay mametraka ny fototra metodolojika amin'ny fananganana rindranasa kaontenera avo lenta ho an'ny tontolo rahona.

Mariho fa ho fanampin'ireo fitsipika ankapobeny ireo dia mila fomba sy teknika fanampiny fanampiny ianao amin'ny fiasana amin'ny kaontenera. Fanampin'izany, manana tolo-kevitra fohy vitsivitsy izahay izay voafaritra kokoa ary tokony hampiharina (na tsy ampiharina) arakaraka ny toe-javatra:

Webinar amin'ny dika vaovao OpenShift Container Platform - 4
11 Jona amin'ny 11.00:XNUMX

Inona no hianaranao:

  • Tsy azo ovaina Red Hat Enterprise Linux CoreOS
  • OpenShift service mesh
  • Rafitra opΓ©rateur
  • Framework Knative

Source: www.habr.com

Add a comment