5 Mabaadi'da Dareenka Caadiga ah ee Dhisida Cloud-Halkan Apps

Codsiyada "dhaladka daruuriga ah" ama si fudud "daruur" ayaa loo abuuray si gaar ah si ay uga shaqeeyaan kaabayaasha daruuraha. Caadi ahaan waxa loo dhisay sidii adeeg-yar oo dabacsan oo isku xidhan oo weelasha ku jira, kuwaas oo ay maamulaan goob daruur ah. Codsiyada noocan oo kale ah waxaa loo diyaariyaa guuldarrooyinka si caadi ah, taas oo macnaheedu yahay inay si kalsooni leh u shaqeeyaan oo ay cabbiraan xitaa haddii ay dhacdo guuldarrooyin heer-kaab ah oo halis ah. Dhinaca kale ee qadaadiicdu waa xaddidaadyo (qandaraasyo) ay madal daruuruhu ku soo rogaan codsiyada weelka si ay awood ugu yeeshaan inay si toos ah u maareeyaan.

5 Mabaadi'da Dareenka Caadiga ah ee Dhisida Cloud-Halkan Apps

Iyadoo si buuxda looga warqabo baahida iyo muhiimada u guurista codsiyada ku saleysan daruuraha, ururo badan ayaan wali garaneynin halka laga bilaabo. Maqaalkan, waxaan ku eegi doonaa dhowr mabaadi'da, haddii la raaco marka la horumarinayo codsiyada weel, waxay kuu oggolaaneysaa inaad ogaato kartida aaladaha daruuraha oo aad ku guuleysato hawlgal la isku halleyn karo iyo cabirida codsiyada xitaa haddii ay dhacdo guuldarrooyin halis ah kaabayaasha IT heerka. Hadafka ugu dambeeya ee mabaadi'da halkan lagu qeexay waa in la barto sida loo abuuro codsiyada ay si toos ah u maareyn karaan meelaha daruuraha ah sida Kubernetes.

Mabaadi'da Naqshadeynta Software

Dunida barnaamijka, mabaadi'da waxay tixraacaan xeerar guud oo cadaalad ah oo ay tahay in la raaco marka la sameynayo software. Waxaa loo isticmaali karaa marka lagu shaqeynayo luuqad kasta oo barnaamij ah. Mabda' kastaa wuxuu leeyahay yoolal u gaar ah, qalabka lagu gaaro kuwaas oo inta badan ah habab iyo hab-dhaqanno. Waxa kale oo jira tiro mabaadi'da aasaasiga ah ee abuurista software tayo sare leh, kaas oo dhammaan kuwa kale ka soo qulqulaan. Waa kuwan tusaalayaal qaar ka mid ah mabaadi'da aasaasiga ah:

  • KISS (Ka dhig mid fudud, nacas ah) - ha ku adkeyn;
  • ENGAJI (Ha ku celin naftaada) - ha ku celin naftaada;
  • YAGNI (Uma baahnid) - ha abuurin wax aan isla markiiba loo baahnayn;
  • SoC Kala saarida tabashooyinka - wadaag mas'uuliyadaha.

Sida aad arki karto, mabaadi'daani ma dejiyaan xeerar gaar ah, laakiin waxay ka tirsan yihiin qaybta loogu yeero tixgelinta dareenka caadiga ah ee ku salaysan khibrad wax ku ool ah, kuwaas oo ay wadaagaan horumariyayaal badan oo ay si joogto ah u tixraacaan.
Intaa waxaa dheer, waxaa jira SOLID - Qayb ka mid ah shanta mabda'a ee ugu horreeya ee barnaamijka iyo naqshadaynta shayga, oo uu sameeyay Robert Martin. SOLID waxa ku jira mabaadi'da ballaadhan, furfuran, dhammaystirka ah kuwaas oo-marka la isku daro-caawiya abuurista habab software ka wanaagsan oo si fiican u ilaalinaya muddada dheer.

Mabaadi'da SOLID waxay ka tirsan yihiin goobta OOP waxaana lagu qaabeeyey luqadda fikradaha iyo fikradaha sida fasallada, isdhexgalka iyo dhaxalka. Marka la barbardhigo, mabaadi'da horumarinta ayaa sidoo kale loo samayn karaa codsiyada daruuraha, kaliya qaybta aasaasiga ah ee halkan ma noqon doonto fasal, laakiin weel. Adigoo raacaya mabaadi'dan, waxaad abuuri kartaa codsiyo weel ku jira oo si fiican u buuxinaya yoolalka iyo ujeedooyinka aaladaha daruuraha sida Kubernetes.

Weelasha dhalada daruuriga ah: habka Koofiyada Cas

Maanta, ku dhawaad ​​codsi kasta waxaa si fudud loogu baakadeeyaa weelasha. Laakin codsiyada si wax ku ool ah otomaatig ah loogu sameeyo loona abaabulo gudaha madal daruur sida Kubernetes, dadaal dheeri ah ayaa loo baahan yahay.
Aasaaska fikradaha hoos lagu tilmaamay ayaa ahaa habka App-ka XNUMX-Factor iyo kuwo kale oo badan oo ka shaqeeya dhinacyo kala duwan oo ah dhisidda codsiyada webka, laga bilaabo maareynta koodhka isha ilaa moodooyinka cabbirka. Mabaadi'da lagu sharraxay waxay khuseeyaan oo keliya horumarinta codsiyada weel lagu shubay ee lagu dhisay adeegyada yar yar oo loogu talagalay meelaha daruuriga ah sida Kubernetes. Qodobka aasaasiga ah ee dooddeenu waa sawirka weelka, iyo wakhtiga weelka la beegsanayo waa goobta abaabulka weelka. Hadafka mabaadi'da la soo jeediyay ayaa ah in la abuuro weel kuwaas oo jadwalka, miisaanaynta, iyo la socodka hawlaha si toos ah loogu samayn karo goobaha abaabulka. Mabaadi'da looma soo bandhigin nidaam gaar ah.

Mabaadi'da walaaca Keliya (SCP)

Mabda'ani wuxuu siyaabo badan ula mid yahay Mabda'a Mas'uuliyadda Keliya. SRP), taas oo qayb ka ah set SOLID oo sheegaysa in shay kasta waa in ay leeyihiin hal mas'uuliyadda, iyo mas'uuliyadda waa in si buuxda loo koobay in fasalka. Ujeedada SRP waa in mas'uuliyad kastaa ay sabab u tahay isbeddelka, fasalkana waa inuu leeyahay hal sabab oo keliya oo isbeddel ah.

Gudaha SCP, waxaan u isticmaalnaa ereyga "walaac" bedelkii ereyga "mas'uuliyadda" si aan u muujino heerka sare ee soo saarista iyo ujeedada ballaaran ee weelka marka loo eego fasalka OOP. Iyo haddii hadafka SRP uu yahay in la helo hal sabab oo isbeddel ah, markaa ka dambeeya SCP waa rabitaanka in la ballaariyo awoodda dib-u-isticmaalka iyo bedelida weelasha. Adigoo raacaya SRP-ga oo abuuraya weel xalliya hal dhibaato oo u sameeya si hawlkar ah, waxaad kordhinaysaa fursadaha dib loogu isticmaali karo sawirka weelka ee xaaladaha kala duwan ee codsiga.

Mabda'a SCP wuxuu dhigayaa in weel kasta uu xalliyo hal dhibaato oo uu si fiican u sameeyo. Intaa waxaa dheer, SCP ee adduunka weelka ayaa ka fudud in la gaaro SRP marka loo eego adduunka OOP, maadaama weelku sida caadiga ah u socdo hal nidaam, inta badanna habkani wuxuu xalliyaa hal hawl.

Haddi ay tahay in weel yar-yar ay xalliyaan mashaakil badan hal mar, ka dib waxa loo qaybin karaa weel hal hawl ah oo la isku dari karaa hal boodh (cutub ka mid ah qalabaynta weelka) iyada oo la isticmaalayo qaabka gaadhi-side iyo init-ka. Intaa waxaa dheer, SCP waxay fududaynaysaa in weel duug ah lagu beddelo (sida server-ka shabakadda ama dallaalka farriinta) mid cusub oo xalliya isla dhibaatada laakiin si fiican u fidisay shaqeyn ama miisaan.

5 Mabaadi'da Dareenka Caadiga ah ee Dhisida Cloud-Halkan Apps

Mabaadi'da Indho-indheynta Sare (HOP)

Marka weelasha loo isticmaalo hab midaysan oo baakad iyo socodsiinta codsiyada, codsiyada laftooda waxaa loola dhaqmaa sidii sanduuq madow. Si kastaba ha noqotee, haddii kuwani yihiin weel daruuri ah, markaa waa inay bixiyaan API-yo gaar ah wakhtiga runtime si ay ula socdaan caafimaadka weelasha iyo, haddii loo baahdo, qaadaan tallaabada ku habboon. Taas la'aanteed, suurtagal ma noqon doonto in la mideeyo automation-ka cusboonaysiinta weelasha iyo maaraynta meertada noloshooda, taas oo, ka sii dari doonta xasilloonida iyo isticmaalka nidaamka software.

5 Mabaadi'da Dareenka Caadiga ah ee Dhisida Cloud-Halkan Apps
Ficil ahaan, codsiga weelka lagu shubay waa in, ugu yaraan, lahaadaa API ee noocyada kala duwan ee hubinta caafimaadka: tijaabooyinka nolosha iyo imtixaanada u diyaarsanaanta. Haddii codsigu sheegto inuu sameeyo wax badan, waa inuu bixiyaa habab kale oo lagula socdo xaaladiisa. Tusaale ahaan, gelida dhacdooyinka muhiimka ah iyada oo loo sii marayo STDERR iyo STDOUT si loogu uruuriyo logaga iyadoo la adeegsanayo Fluentd, Logstash iyo aaladaha kale ee la midka ah. Iyo sidoo kale is dhexgalka raadraaca iyo cabbiraadaha maktabadaha ururinta, sida OpenTracing, Prometheus, iwm.

Guud ahaan, codsiga weli waxaa loola dhaqmi karaa sidii sanduuq madow, laakiin waa in la siiyaa dhammaan API-yada uu madalku u baahan yahay si loola socdo oo loo maareeyo habka ugu wanaagsan ee suurtogalka ah.

Mabda'a Ku-dhaqanka Muddada-Noloshu (LCP)

LCP waa lidka HOP. Iyadoo HOP ay sheegayso in weelku uu u soo bandhigo akhrinta API-yada goobta, LCP waxay u baahan tahay arjiga si uu u awoodo inuu aqbasho macluumaadka goobta. Intaa waxaa dheer, weelka waa in uusan helin oo kaliya dhacdooyinka, laakiin sidoo kale la qabsado, si kale loo dhigo, uga falceliyo iyaga. Sidaa darteed magaca mabda'a, kaas oo loo tixgelin karo shuruud si loo bixiyo madal qoraal APIs ah.

5 Mabaadi'da Dareenka Caadiga ah ee Dhisida Cloud-Halkan Apps
Platforms waxay leeyihiin noocyo kala duwan oo dhacdooyin ah si ay u caawiyaan maaraynta meertada nolosha weelka. Laakin waxay ku xiran tahay arjiga laftiisa si uu go'aan uga gaaro midka uu garto iyo sida uu uga falcelinayo.

Waxaa cad in dhacdooyinka qaarkood ay ka muhiimsan yihiin kuwa kale. Tusaale ahaan, haddii codsigu aanu si fiican ugu dulqaadan shilalka, waa in uu aqbalaa signalka: joojiya (SIGTERM) fariimaha oo uu bilaabo hawl-joojintiisa sida ugu dhakhsaha badan si uu u qabto calaamada: dil (SIGKILL) ka dib SIGTERM.

Intaa waxaa dheer, dhacdooyinka sida PostStart iyo PreStop waxay muhiim u noqon karaan meertada nolosha ee codsiga. Tusaale ahaan, ka dib marka la bilaabo codsiga, waxa laga yaabaa inay u baahato wakhti diirimaad ka hor inta aanay ka jawaabin codsiyada. Ama codsigu waa inuu si gaar ah u sii daayaa agabka marka la xirayo.

Mabda'a Is-beddelka Sawirka (IIP)

Guud ahaan waa la aqbalay in codsiyada weelka lagu shubay ay ahaadaan kuwo aan isbeddelin ka dib marka la dhiso, xitaa haddii ay ku socdaan deegaanno kala duwan. Tani waxay lama huraan u tahay baahida loo qabo in dibadda laga dhigo kaydinta xogta wakhtiga runtime (si kale loo dhigo, in loo isticmaalo qalabka dibadda tan) iyo in lagu tiirsanaado dibadda, habeynta runtime-gaar ah, halkii wax laga beddeli lahaa ama la abuuri lahaa weel gaar ah deegaan kasta. Isbeddel kasta oo lagu sameeyo codsiga ka dib, sawirka weelka waa in dib loo dhisaa oo la geeyaa dhammaan deegaannada la isticmaalo. Jid ahaan, marka la maareynayo nidaamyada IT-ga, mabda'a la mid ah ayaa la adeegsadaa, oo loo yaqaan mabda'a isbeddella'aanta ee server-yada iyo kaabayaasha.

Hadafka IIP waa in laga hortago abuurista sawirro weel gaar ah oo loogu talagalay jawiyada runtime ee kala duwan iyo in la isticmaalo sawir isku mid ah meel kasta oo ay la socoto qaabeynta ku habboon deegaanka-gaarka ah. Raacitaanka mabda'aani wuxuu kuu ogolaanayaa inaad hirgeliso dhaqamada muhiimka ah sida aragtida otomaatiga ah ee nidaamyada daruuraha sida dib-u-celinta iyo dib-u-soo-celinta cusboonaysiinta codsiga.

5 Mabaadi'da Dareenka Caadiga ah ee Dhisida Cloud-Halkan Apps

Mabda'a Disposability (PDP)

Mid ka mid ah sifooyinka ugu muhiimsan ee weelku waa dabeecaddiisa: tusaale ahaan weelku waa sahlan tahay in la abuuro oo ay fududahay in la burburiyo, markaa si fudud ayaa loogu beddeli karaa tusaale kale wakhti kasta. Waxaa jiri kara sababo badan oo bedelka noocaas ah: guuldarada tijaabada adeega, cabirida codsiga, u wareejinta martigeliyaha kale, daalka agabka goobta, ama xaalado kale.

5 Mabaadi'da Dareenka Caadiga ah ee Dhisida Cloud-Halkan Apps
Natiijo ahaan, codsiyada weelka lagu shubay waa in ay ilaashadaan xaaladdooda iyagoo isticmaalaya habab dibadda ah, ama ay isticmaalaan qorshayaal gudaha ah oo la qaybiyey taaso dib u dhac ku yimid. Intaa waxaa dheer, codsigu waa inuu si dhakhso ah u bilaabmaa oo si dhakhso ah u xidhaa, oo loo diyaar garoobaa fashilka qalabka degdega ah ee dilaaga ah.

Mid ka mid ah dhaqanka caawiya hirgelinta mabda'aani waa in weelasha la yareeyo. Deegaannada daruuraha ayaa si toos ah u dooran kara martigeliyaha si ay u bilaabaan tusaale ahaan weelka, marka weelka yar, sida ugu dhaqsaha badan ayuu u bilaabmi doonaa - si dhakhso ah ayey ugu koobi doontaa martigeliyaha bartilmaameedka ah ee shabakada.

Mabda'a is-xakamaynta (S-CP)

Marka loo eego mabda'a this, marxaladda kulanka, dhammaan qaybaha lagama maarmaanka ah ayaa lagu daraa weelka. Weelka waa in lagu dhisaa iyada oo loo malaynayo in nidaamku leeyahay kaliya Linux kernel saafi ah, markaa dhammaan maktabadaha dheeraadka ah ee lagama maarmaanka ah waa in lagu dhejiyaa weelka laftiisa. Waa inay sidoo kale ka kooban tahay waxyaabo ay ka mid yihiin runtime-ka ee luuqadda barnaamijyada u dhigma, goobta codsiga (haddii loo baahdo), iyo ku-tiirsanaanta kale ee loo baahan doono inta codsiga weelku socdo.

5 Mabaadi'da Dareenka Caadiga ah ee Dhisida Cloud-Halkan Apps

Ka reebban waxa loo sameeyay habayn ku kala duwan deegaan ilaa deegaan waana in lagu bixiyaa wakhtiga runtime, tusaale ahaan iyada oo loo marayo Kubernetes ConfigMap.

Codsiga waxaa ku jiri kara dhowr qaybood oo weel lagu shubay, tusaale ahaan, weel gaar ah oo DBMS ah oo ku dhex jira codsiga shabakada weelka. Marka loo eego mabda'a S-CP, weelashaas waa in aan la isku dari karin, laakiin waa in la sameeyaa si weelka DBMS uu ka kooban yahay wax kasta oo lagama maarmaanka u ah hawlgalka xogta, iyo weelka codsiga webka wuxuu ka kooban yahay wax kasta oo lagama maarmaan u ah hawlgalka shabakada codsiga, isla server-ka webka . Natiijo ahaan, wakhtiga runtime weelka codsiga webku wuxuu ku xirnaan doonaa weelka DBMS oo u geli doona hadba sida loogu baahdo.

Mabaadi'da Xakamaynta Runtime (RCP)

Mabda'a S-CP ayaa qeexaya sida weelka loo dhisayo iyo waxa sawirka binary-ga ku jiro. Laakin weel ma aha oo kaliya "sanduuqa madow" kaas oo leh hal sifo - cabbirka faylka. Inta lagu jiro fulinta, weelku wuxuu qaadanayaa cabbiro kale: qaddarka xusuusta la isticmaalay, waqtiga CPU, iyo agabyada nidaamka kale.

5 Mabaadi'da Dareenka Caadiga ah ee Dhisida Cloud-Halkan Apps
Oo halkan mabda'a RCP wuxuu ku yimaadaa si anfacaya, marka loo eego weelka waa inuu ka gooyaa shuruudihiisa ilaha nidaamka oo u wareejiyaa goobta. Iyada oo la adeegsanayo profiles-ka kheyraadka weel kasta (intee in le'eg CPU, xusuusta, shabakada, iyo agabka diskka ee ay u baahan tahay), madalku wuxuu si wanaagsan u qaban karaa jadwal iyo xisaabin, maamuli karo awoodda IT, wuxuuna ilaalin karaa heerarka SLA ee weelasha.

Marka laga soo tago buuxinta shuruudaha agabka weelka, waxa kale oo muhiim ah in codsigu aanu dhaafin xuduudihiisa. Haddii kale, marka kheyraad yari dhacdo, madalku waxay u badan tahay in lagu daro liiska codsiyada u baahan in la joojiyo ama la guuro.

Markaan ka hadlayno inaan noqono daruur-koowaad, waxaan ka hadlaynaa habka aan u shaqeyno.
Xagga sare, waxaan dejinay dhowr mabaadi'da guud oo dejiya aasaaska habraaca dhisidda codsiyada weelka tayada sare leh ee jawiga daruuraha.

Ogsoonow in marka lagu daro mabaadi'da guud, waxaad sidoo kale u baahan doontaa habab iyo farsamooyin horumarsan oo dheeraad ah oo lagu shaqeynayo weelasha. Intaa waxaa dheer, waxaan haynaa dhowr talooyin oo gaagaaban oo aad u gaar ah oo ay tahay in lagu dabaqo (ama aan la dabaqin) iyadoo ku xiran xaaladda:

Webinar nooca cusub ee OpenShift Container Platform – 4
Juun 11 saacadu markay tahay 11.00

Maxaad baran doontaa:

  • Shirkadda Koofiyada Cas ee aan la beddeli karin Linux CoreOS
  • mesh adeega OpenShift
  • Qaabka hawl-wadeenka
  • Qaab-dhismeedka Knative

Source: www.habr.com

Add a comment