5 Prensîbên Aqilê Hevpar ji bo Avakirina Serlêdanên Cloud-Native

Serlêdanên "Cloud xwecihaxêv" an bi tenê "ewr" bi taybetî ji bo xebatê di binesaziyên ewr de têne afirandin. Ew bi gelemperî wekî komek mîkroxizmetên bêserûber ên ku di konteyneran de têne pak kirin têne çêkirin, ku di encamê de ji hêla platformek ewr ve têne rêve kirin. Serlêdanên weha ji hêla xwerû ve ji bo têkçûnan têne amade kirin, ku tê vê wateyê ku ew di bûyera têkçûnên cidî yên asta binesaziyê de jî pêbawer dixebitin û mezin dibin. Aliyê din ê drav komek qedexeyan (peymanan) e ku platforma ewr li ser sepanên konteyneran ferz dike da ku bikaribe wan bixweber birêve bibe.

5 Prensîbên Aqilê Hevpar ji bo Avakirina Serlêdanên Cloud-Native

Digel ku bi tevahî hewcedarî û girîngiya çûna ber bi serîlêdanên ewr-based haydar in, gelek rêxistin hîn jî nizanin ku dest pê bikin. Di vê postê de, em ê li hejmarek prensîbên ku ger di dema pêşdebirina serîlêdanên konteynirkirî de werin şopandin, bihêlin hûn ê potansiyela platformên ewr nas bikin û di bûyera têkçûnên cidî yên binesaziya IT-ê de jî bigihîjin xebitandin û pîvandina serîlêdanan. deşt. Armanca paşîn a prensîbên ku li vir hatine destnîşan kirin ev e ku meriv fêr bibe ka meriv çawa serîlêdanên ku bixweber ji hêla platformên ewr ên wekî Kubernetes ve têne rêve kirin ava dikin.

Prensîbên Design Software

Di cîhana bernamesaziyê de, prensîb qaîdeyên gelemperî yên ku divê dema ku nermalava pêşdebirinê bêne şopandin vedibêjin. Ew dikarin dema ku bi her zimanek bernamesaziyê re dixebitin werin bikar anîn. Her prensîb armancên xwe hene, amûrên ji bo bidestxistina ku bi gelemperî şablon û pratîk in. Di heman demê de ji bo afirandina nermalava kalîteya bilind, ku hemî yên din jê diherikin, gelek prensîbên bingehîn jî hene. Li vir çend nimûneyên prensîbên bingehîn hene:

  • MAÇ (Ew sade bihêle, bêaqil) - wê tevlihev neke;
  • ZÛHA (Xwe dûbare neke) - xwe dubare neke;
  • YAGNI (Hûn ê hewce nebin) - Tiştek ku tavilê ne hewce ye biafirînin;
  • SoC Veqetandina fikaran - parvekirina berpirsiyariyan.

Wekî ku hûn dikarin bibînin, ev prensîb tu qaîdeyên taybetî destnîşan nakin, lê ji kategoriya bi vî rengî ramanên hestiyar ên li ser bingeha ezmûna pratîkî ne, ku ji hêla gelek pêşdebiran ve têne parve kirin û ku ew bi rêkûpêk vedibêjin.
Herweha, heye LISERXWE - Komek ji pênc prensîbên pêşîn ên bername û sêwirana objekt-oriented, ku ji hêla Robert Martin ve hatî çêkirin. SOLID prensîbên berfireh, vekirî, temamker vedihewîne ku - gava ku bi hev re têne sepandin - dibe alîkar ku pergalên nermalava çêtir biafirînin û wan di demek dirêj de çêtir biparêzin.

Prensîbên SOLID girêdayî qada OOP-ê ne û bi zimanê têgeh û têgehên wekî çîn, navber û mîras têne formule kirin. Bi analogî, prensîbên pêşkeftinê jî dikarin ji bo serîlêdanên ewr bêne formule kirin, tenê hêmana bingehîn li vir dê ne çînek, lê konteynir be. Bi şopandina van prensîban, hûn dikarin serîlêdanên konteynirkirî biafirînin ku çêtir armanc û armancên platformên ewr ên mîna Kubernetes pêk tînin.

Konteynirên xwecî yên Cloud: nêzîkatiya Red Hat

Îro, hema hema her serîlêdan dikare bi hêsanî di konteyneran de were pak kirin. Lê ji bo ku serîlêdan di nav platformek cloudê ya mîna Kubernetes de bi bandor bixweber û orkestrate bibin, hewildanek zêde hewce ye.
Bingeha ramanên ku li jêr hatine destnîşan kirin metodolojî bû Serlêdana Diwanzdeh-Faktorê û gelek karên din ên li ser aliyên cihêreng ên avakirina sepanên malperê, ji rêveberiya koda çavkaniyê bigire heya modelên pîvandinê. Prensîbên ku hatine destnîşan kirin tenê ji bo pêşkeftina serîlêdanên konteynirkirî yên ku li ser servîsên mîkro têne çêkirin û ji bo platformên ewr ên wekî Kubernetes hatine çêkirin derbas dibin. Di nîqaşa me de hêmana bingehîn wêneya konteynerê ye, û dema xebitandina konteynera mebest platforma orkestrasyona konteyneran e. Armanca prensîbên pêşniyarkirî ev e ku konteyneran biafirînin ku ji bo wan karên plansazkirin, pîvandin û çavdêrîkirinê li ser piraniya platformên orkestrasyonê bêne otomatîk kirin. Prensîb bi tu rêzek taybetî têne pêşkêş kirin.

Prensîba Yekane Xemgîniyê (SCP)

Ev prensîb bi gelek awayan dişibihe Prensîba Berpirsiyariya Yekane. SRP), ku beşek ji set SOLID e û diyar dike ku her tişt divê xwedî yek berpirsiyariyê be, û ew berpirsiyarî divê bi tevahî di polê de were girtin. Mebesta SRP ev e ku her berpirsiyarî sedemek guhartinê ye, û çînek divê yek û yek sedemek ji bo guhertinê hebe.

Di SCP-ê de, em peyva "xemgîniyê" li şûna peyva "berpirsiyarî" bikar tînin da ku asta bilindtirîn abstrakasyon û armanca berfireh a konteynir li gorî pola OOP destnîşan bikin. Û heke armanca SRP ew e ku tenê yek sedemek ji bo guhertinê hebe, wê hingê li pişt SCP xwestina berfirehkirina şiyana ji nû ve bikar anîn û şûna konteyneran heye. Bi şopandina SRP û afirandina konteynerek ku pirsgirêkek yekane çareser dike û wê bi rengek bêkêmasî pêk tîne, hûn şansên ji nû ve karanîna wê wêneya konteyneran di çarçoveyek serîlêdanê de zêde dikin.

Prensîba SCP dibêje ku her konteynir divê yek pirsgirêkek yekane çareser bike û wê baş bike. Wekî din, SCP di cîhana konteyneran de ji SRP-ê di cîhana OOP de hêsantir e, ji ber ku konteynir bi gelemperî pêvajoyek yekane dimeşîne, û pir caran ev pêvajo yek peywirê çareser dike.

Ger pêdivî ye ku mîkroxizmetek konteynerek bi yekcarî çend pirsgirêkan çareser bike, wê hingê ew dikare di nav konteynerên yek-peywirê de were dabeş kirin û di hundurê yek podê de (yekîneyek bicîhkirina platforma konteyneran) bi karanîna şablonên kêlek û konteynerê dest pê bike. Wekî din, SCP guheztina konteynirek kevn (wek serverek malperê an brokerek peyamê) bi ya nû ku heman pirsgirêkê çareser dike hêsan dike, lê fonksiyonek berfireh kiriye an çêtir pîvan dike.

5 Prensîbên Aqilê Hevpar ji bo Avakirina Serlêdanên Cloud-Native

Prensîba Çavdêriya Bilind (HOP)

Dema ku konteynir wekî rêyek yekgirtî ji bo pakkirin û meşandina serlêdanan têne bikar anîn, serîlêdan bixwe wekî qutiyek reş têne hesibandin. Lêbelê, heke ev konteynirên ewr in, wê hingê divê ew API-yên taybetî ji dema xebatê re peyda bikin da ku tenduristiya konteyneran bişopînin û, ger hewce be, tevdîrên guncan bavêjin. Bêyî vê yekê, ne gengaz e ku meriv bixweberkirina nûvekirina konteyneran û rêvebirina çerxa jiyana wan yek bike, ku di encamê de, dê aramî û karanîna pergala nermalavê xirabtir bike.

5 Prensîbên Aqilê Hevpar ji bo Avakirina Serlêdanên Cloud-Native
Di pratîkê de, serîlêdanek konteynirkirî divê, bi kêmanî, API-yek ji bo cûrbecûr kontrolên tenduristiyê hebe: ceribandinên zindîtiyê û ceribandinên amadebûnê. Ger serîlêdanek îdîa dike ku bêtir dike, divê ew rêgezên din ên çavdêriya dewleta xwe peyda bike. Mînakî, tomarkirina bûyerên girîng bi riya STDERR û STDOUT ji bo berhevkirina têketinê bi karanîna Fluentd, Logstash û amûrên din ên mîna. Her weha yekbûnek bi pirtûkxaneyên berhevkirina şopandin û metrîkan re, wek OpenTracing, Prometheus, hwd.

Bi gelemperî, serîlêdan hîn jî dikare wekî qutiyek reş were derman kirin, lê pêdivî ye ku ew bi hemî API-yên ku platform hewce dike were peyda kirin da ku bi awayê çêtirîn gengaz çavdêrî û rêvebirinê bike.

Prensîba Lihevhatina Rêjeya Jiyanê (LCP)

LCP antîteza HOP e. Dema ku HOP diyar dike ku konteynir divê API-yên xwendinê ji platformê re eşkere bike, LCP hewce dike ku serîlêdan bikaribe agahdariya ji platformê qebûl bike. Wekî din, konteynir divê ne tenê bûyeran werbigire, lê di heman demê de adapte bibe, bi gotinek din, li hember wan bertek nîşan bide. Ji ber vê yekê navê prensîbê, ku dikare wekî pêdiviyek were hesibandin ku platformê bi API-yên nivîsandinê re peyda bike.

5 Prensîbên Aqilê Hevpar ji bo Avakirina Serlêdanên Cloud-Native
Platform xwedî celebên bûyeran in ku ji bo birêvebirina çerxa jiyanê ya konteynerek alîkariyê dikin. Lê ji serîlêdanê bixwe ye ku biryar bide ka kîjan ji wan fêm bike û çawa bertek nîşan bide.

Diyar e ku hin bûyer ji yên din girîngtir in. Mînakî, heke serîlêdanek şikestinan baş tehmûl neke, divê ew îşaretekê qebûl bike: peyamên (SIGTERM) biqedîne û bi lez û bez rutina xwe ya bidawîbûnê bide destpêkirin da ku sînyalê bigire: bikuje (SIGKILL) ku piştî SIGTERM tê.

Wekî din, bûyerên wekî PostStart û PreStop dikarin ji bo jiyana serîlêdanê girîng bin. Mînakî, piştî destpêkirina serîlêdanek, dibe ku hin demek germbûnê hewce bike berî ku ew bersivê bide daxwazan. An jî pêdivî ye ku serîlêdan dema ku were girtin bi rengek taybetî çavkaniyan berde.

Prensîba Neguherbariya Wêne (IIP)

Bi gelemperî tête pejirandin ku serîlêdanên konteynirkirî divê piştî ku têne çêkirin neguhêrbar bimînin, her çend ew di hawîrdorên cûda de werin xebitandin. Ev hewce dike ku di dema xebitandinê de hilanîna daneyê ji derve were derxistin (bi gotinek din, ji bo vê yekê amûrên derveyî bikar bînin) û xwe bispêrin veavakirinên derveyî, dema-taybetî, li şûna guheztin an afirandina konteynerên yekta ji bo her hawîrdorê. Piştî her guheztina serîlêdanê, pêdivî ye ku wêneya konteynerê ji nû ve were çêkirin û li hemî hawîrdorên ku têne bikar anîn were bicîh kirin. Bi awayê, dema birêvebirina pergalên IT-ê, prensîbek wekhev tê bikar anîn, ku wekî prensîba neguhezbariya server û binesaziyê tê zanîn.

Armanca IIP-ê ew e ku pêşî li çêkirina wêneyên konteynerê yên cihêreng ji bo hawîrdorên cihêreng ên xebatê bigire û li her deverê heman wêneyê digel veavakirina taybetî-ya jîngehê ya guncan bikar bîne. Li dû vê prensîbê hûn dihêle ku hûn ji hêla otomasyona pergalên cloudê ve wekî nûvekirinên serîlêdanê vegerandin û pêşdebirina pratîkên weha girîng bicîh bînin.

5 Prensîbên Aqilê Hevpar ji bo Avakirina Serlêdanên Cloud-Native

Prensîba Veqetandina Pêvajoyê (PDP)

Yek ji taybetmendiyên herî girîng ên konteynerê demdirêjiya wê ye: mînakek konteynir hêsan tê afirandin û hêsan tê hilweşandin, ji ber vê yekê ew dikare her dem bi hêsanî bi mînakek din were guheztin. Dibe ku gelek sedem ji bo veguheztinek wusa hebin: têkçûna ceribandinek karûbarê, pîvandina serîlêdanê, veguheztina mêvandarek din, westandina çavkaniyên platformê, an rewşên din.

5 Prensîbên Aqilê Hevpar ji bo Avakirina Serlêdanên Cloud-Native
Wekî encamek, serîlêdanên konteynirkirî divê bi karanîna hin awayên derveyî rewşa xwe biparêzin, an ji bo vê yekê nexşeyên dabeşkirî yên hundurîn ên bi zêdebûnê bikar bînin. Wekî din, pêdivî ye ku serîlêdan zû dest pê bike û zû biqede, û ji bo têkçûna hardware ya ji nişka ve were amade kirin.

Yek pratîkek ku alîkariya pêkanîna vê prensîbê dike ev e ku konteynir piçûk bimînin. Jîngehên ewr dikarin bixweber mêvandarek hilbijêrin da ku mînakek konteynerê li ser bidin destpêkirin, ji ber vê yekê konteynir çi qas piçûktir bibe, ew ê zûtir dest pê bike - ew ê bi hêsanî li ser torê zûtir li mêvandarê armancê kopî bike.

Prensîba Xwegirtinê (S-CP)

Li gorî vê prensîbê, di qonaxa kombûnê de, hemî pêkhateyên pêwîst di konteynerê de têne bicîh kirin. Pêdivî ye ku konteynir li ser vê yekê were çêkirin ku pergal tenê xwedan kernelek Linux-ya paqij e, ji ber vê yekê divê hemî pirtûkxaneyên zêde yên pêwîst di konteynerê bixwe de bêne danîn. Di heman demê de pêdivî ye ku ew tiştên wekî dema xebitandinê ji bo zimanê bernamenûsê têkildar, platforma serîlêdanê (heke hewce bike), û girêdanên din ên ku dê dema ku serîlêdana konteynerê dimeşîne hewce bike.

5 Prensîbên Aqilê Hevpar ji bo Avakirina Serlêdanên Cloud-Native

Ji bo veavakirinên ku ji hawîrdorê heya jîngehê diguhere û divê di dema xebitandinê de were peyda kirin, mînakî bi navgîniya Kubernetes ConfigMap ve îstîsna têne çêkirin.

Dibe ku serîlêdanek çend hêmanên konteynirkirî bihewîne, mînakî, konteynirek DBMS-ê ya veqetandî di nav serîlêdana tevnek konteynirkirî de. Li gorî prensîba S-CP, divê ev konteyneran di yek de neyên berhev kirin, lê divê werin çêkirin ku konteynera DBMS her tiştê ku ji bo xebata databasê hewce dike, û konteynera serîlêdana webê her tiştê ku ji bo xebata tevnê hewce dike vedihewîne. serîlêdan, heman web server. Wekî encamek, di dema xebitandinê de konteynera serîlêdana malperê dê bi konteynera DBMS ve girêdayî be û li gorî hewcedariyê bigihîje wê.

Prensîba Zêdebûna Dema Xebatê (RCP)

Prensîba S-CP diyar dike ka konteynir divê çawa were çêkirin û wêneya binary çi dihewîne. Lê konteynir ne tenê "qutiya reş" e ku tenê yek taybetmendiyek wê heye - mezinahiya pelê. Di dema darvekirinê de, konteynir pîvanên din digire: mîqdara bîra hatî bikar anîn, dema CPU, û çavkaniyên pergalê yên din.

5 Prensîbên Aqilê Hevpar ji bo Avakirina Serlêdanên Cloud-Native
Û li vir prensîba RCP bi kêrî tê, li gorî ku konteynir pêdivî ye ku hewcedariyên xwe ji bo çavkaniyên pergalê qut bike û wan veguhezîne platformê. Bi profîlên çavkaniyê yên her konteyneran re (çiqas CPU, bîranîn, torê û çavkaniyên dîskê hewce dike), platform dikare bi rengek çêtirîn plansazkirin û pîvandina otomatîkî pêk bîne, kapasîteya IT-ê birêve bibe, û astên SLA ji bo konteyneran biparêze.

Digel bicîhanîna hewcedariyên çavkaniyê yên konteynerê, di heman demê de girîng e ku serîlêdan ji sînorên xwe dernekeve. Wekî din, dema ku kêmasiyek çavkaniyek çêbibe, platform bi îhtîmal e ku wê di navnîşa serîlêdanên ku hewce ne ku bêne qedandin an koç kirin de bihewîne.

Dema ku em behsa ewr-pêşîbûnê dikin, em behsa awayê xebata xwe dikin.
Li jor, me çend prensîbên gelemperî ku bingehê metodolojîk ji bo avakirina serîlêdanên konteyneran ên qalîteya bilind ji bo hawîrdorên ewr saz kirin.

Têbînî ku ji bilî van prensîbên gelemperî, hûn ê ji bo xebata bi konteyneran re jî hewceyê rêbaz û teknîkên pêşkeftî yên din jî bibin. Wekî din, çend pêşniyarên me yên kurt hene ku taybetîtir in û divê li gorî rewşê bêne sepandin (an jî neyên sepandin):

Webinar li ser guhertoya nû ya OpenShift Container Platform - 4
11ê Hezîranê saet di 11.00 de

Tiştê ku hûn ê fêr bibin:

  • Immutable Red Hat Enterprise Linux CoreOS
  • Tora karûbarê OpenShift
  • çarçoveya operator
  • Çarçoveya knative

Source: www.habr.com

Add a comment