Melao-motheo e 5 e Tloaelehileng ea ho Aha Lisebelisoa tsa Cloud-Native

Lisebelisoa tsa "Cloud native" kapa "cloud" li etselitsoe ka ho khetheha ho sebetsa meahong ea maru. Ka tloaelo li hahiloe e le sehlopha sa li-microservices tse kopantsoeng ka mokhoa o hlephileng tse kentsoeng ka har'a lijana, tseo le tsona li laoloang ke sethala sa maru. Likopo tse joalo li lokiselitsoe ho hloleha ka ho sa feleng, ho bolelang hore li sebetsa ka ts'epo le ka tekanyo leha ho ka ba le liphoso tse tebileng tsa boemo ba meralo. Lehlakore le leng la chelete ea tšepe ke lihlopha tsa lithibelo (likonteraka) tseo sethala sa leru se behang lits'ebetso tsa setshelo e le hore se tsebe ho li laola ka bo eona.

Melao-motheo e 5 e Tloaelehileng ea ho Aha Lisebelisoa tsa Cloud-Native

Leha e tseba ka botlalo tlhoko le bohlokoa ba ho fallela lits'ebetsong tse thehiloeng marung, mekhatlo e mengata e ntse e sa tsebe hore na e qale hokae. Ka poso ena, re tla sheba melao-motheo e 'maloa eo, haeba e lateloa ha ho etsoa likopo tse nang le lisebelisoa, e tla u lumella ho lemoha bokhoni ba li-platform tsa leru le ho fihlela ts'ebetso e tšepahalang le ho eketsa lits'ebetso leha ho ka ba le liphoso tse tebileng lits'ebetsong tsa IT. boemo. Sepheo se seholo sa melao-motheo e hlalositsoeng mona ke ho ithuta mokhoa oa ho haha ​​​​likopo tse ka laoloang ka bo eona ke li-platform tsa leru tse kang Kubernetes.

Melao-motheo ea Moralo oa Software

Lefatšeng la mananeo, melao-motheo e bua ka melao e akaretsang e lokelang ho lateloa ha ho etsoa software. Li ka sebelisoa ha u sebetsa le puo efe kapa efe ea lenaneo. Molao-motheo o mong le o mong o na le lipakane tsa oona, lisebelisoa tsa ho finyella tseo hangata e leng lithempleite le mekhoa. Ho boetse ho na le melao-motheo e mengata ea ho theha software ea boleng bo holimo, eo tse ling kaofela li tsoang ho tsona. Mehlala e meng ea melao-motheo ea bohlokoa ke ena:

  • KISS (E boloke e le bonolo, e hlokang kelello) - u se ke ua e thatafatsa;
  • Dry (U se ke ua ipheta) - u se ke ua ipheta;
  • YAGNI (U ke ke ua e hloka) - u se ke ua etsa ntho e sa hlokahaleng hang-hang;
  • SoC Ho arohana ha lipelaelo - ho arolelana boikarabelo.

Joalokaha u ka bona, melao-motheo ena ha e behe melao leha e le efe e tobileng, empa ke karolo ea seo ho thoeng ke ho nahana ka kelello e tloaelehileng ho itšetlehile ka phihlelo e sebetsang, e arolelanoang ke bahlahisi ba bangata le eo ba e buang kamehla.
Ho phaella moo, ho na le TIISETSE - Sehlopha sa melao-motheo e mehlano ea pele ea mananeo le moralo o sekametseng nthong, o hlophisitsoeng ke Robert Martin. SOLID e kenyelletsa melao-motheo e pharaletseng, e bulehileng, e tlatselletsang eo-ha e sebelisoa hammoho-e thusang ho theha litsamaiso tsa software tse betere le ho li boloka hamolemo nako e telele.

Melao-motheo ea SOLID ke ea lekala la OOP 'me e hlophisitsoe ka puo ea likhopolo le likhopolo tse kang lihlopha, li-interfaces le lefa. Ka papiso, melao-motheo ea nts'etsopele e ka boela ea etsoa bakeng sa lits'ebetso tsa maru, feela ntho ea motheo mona e ke ke ea e-ba sehlopha, empa setshelo. Ka ho latela melaoana ena, o ka theha lits'ebetso tse nang le lisebelisoa tse fihlelang lipheo le sepheo sa li-platform tsa maru joalo ka Kubernetes.

Lijana tsa tlhaho tsa maru: mokhoa oa Red Hat

Kajeno, hoo e ka bang kopo efe kapa efe e ka pakoa habonolo ka har'a lijana. Empa hore lits'ebetso li iketsetse hantle le ho hlophisoa ka har'a sethala sa maru joalo ka Kubernetes, ho hlokahala boiteko bo eketsehileng.
Motheo oa mehopolo e hlalositsoeng ka tlase e ne e le mokhoa The Leshome le metso e 'meli-Factor App le mesebetsi e meng e mengata e mabapi le likarolo tse fapaneng tsa ho aha lits'ebetso tsa webo, ho tloha taolong ea khoutu ea mohloli ho isa ho mefuta ea maemo. Melao-motheo e hlalositsoeng e sebetsa feela ho nts'etsopele ea lits'ebetso tse nang le lisebelisoa tse hahiloeng holim'a li-microservices le tse etselitsoeng li-platform tsa maru tse kang Kubernetes. Ntho ea mantlha puisanong ea rona ke sets'oants'o sa sets'oants'o, 'me nako ea ho sebetsa ea sets'oants'o ke sethala sa 'mino oa lijana. Sepheo sa melao-motheo e reriloeng ke ho theha lijana tseo mesebetsi ea ho hlophisa, ho lekanya le ho beha leihlo e ka iketsetsang lifoleng tse ngata tsa liletsa. Melao-motheo ha e hlahisoe ka tatellano e itseng.

Single Concern Principle (SCP)

Molao-motheo ona o tšoana ka litsela tse ngata le Molao-motheo oa Boikarabello bo le Mong. SRP), e leng karolo ea sete ea SOLID mme e bolela hore ntho e 'ngoe le e 'ngoe e tlameha ho ba le boikarabelo bo le bong, 'me boikarabelo boo bo tlameha ho kenngoa ka ho feletseng sehlopheng. Taba ea SRP ke hore boikarabello bo bong le bo bong ke lebaka la phetoho, 'me sehlopha se tlameha ho ba le lebaka le le leng feela la phetoho.

Ho SCP, re sebelisa lentsoe "tšoenyeho" ho e-na le lentsoe "boikarabello" ho bonts'a boemo bo holimo ba ho se khonehe le sepheo se pharaletseng sa setshelo ha se bapisoa le sehlopha sa OOP. 'Me haeba sepheo sa SRP ke ho ba le lebaka le le leng feela la phetoho, joale ka morao ho SCP ke takatso ea ho atolosa bokhoni ba ho sebelisa le ho fetola lijana. Ka ho latela SRP le ho theha setshelo se rarollang bothata bo le bong mme se se etsa ka mokhoa o phethahetseng, o eketsa menyetla ea ho sebelisa setšoantšo sa setshelo hape maemong a fapaneng a ts'ebeliso.

Molao-motheo oa SCP o bolela hore setshelo se seng le se seng se lokela ho rarolla bothata bo le bong le ho bo etsa hantle. Ho feta moo, SCP lefats'eng la lijana ho bonolo ho e fihlela ho feta SRP lefats'eng la OOP, kaha lijana hangata li tsamaisa ts'ebetso e le 'ngoe,' me boholo ba nako ts'ebetso ena e rarolla mosebetsi o le mong.

Haeba setshelo sa microservice se tlameha ho rarolla mathata a 'maloa ka nako e le' ngoe, se ka aroloa ka lijana tsa mosebetsi o le mong 'me tsa kopanngoa ka har'a pod e le' ngoe (sesebelisoa sa sethala sa lisebelisoa) se sebelisa li-sidecar le li-template tsa init. Ho phaella moo, SCP e etsa hore ho be bonolo ho nkela setshelo sa khale sebaka (joaloka seva sa marang-rang kapa mofani oa melaetsa) ka se secha se rarollang bothata bo tšoanang empa se ekelitse ts'ebetso kapa sekala hantle.

Melao-motheo e 5 e Tloaelehileng ea ho Aha Lisebelisoa tsa Cloud-Native

Molao-motheo oa High Observability (HOP)

Ha lijana li sebelisoa e le mokhoa o kopaneng oa ho paka le ho tsamaisa lits'ebetso, lits'ebetso ka botsona li nkuoa joalo ka lebokose le letšo. Leha ho le joalo, haeba tsena ke lijana tsa maru, joale li tlameha ho fana ka li-API tse khethehileng ho nako ea ho sebetsa ho shebella bophelo bo botle ba lijana 'me, ha ho hlokahala, ho nka khato e nepahetseng. Ntle le sena, ho ke ke ha khoneha ho kopanya boiketsetso ba lisebelisoa tsa ntlafatso le ho laola potoloho ea bophelo ba bona, e leng se tla mpefatsa botsitso le ts'ebeliso ea sistimi ea software.

Melao-motheo e 5 e Tloaelehileng ea ho Aha Lisebelisoa tsa Cloud-Native
Ha e le hantle, kopo e nang le setshelo e lokela, bonyane, e be le API bakeng sa mefuta e fapaneng ea tlhahlobo ea bophelo bo botle: liteko tsa bophelo le liteko tsa ho itokisetsa. Haeba kopo e bolela hore e etsa ho eketsehileng, e tlameha ho fana ka mekhoa e meng ea ho beha boemo ba eona leihlo. Ka mohlala, ho rema liketsahalo tsa bohlokoa ka STDERR le STDOUT bakeng sa ho bokella lintlha ho sebelisa Fluentd, Logstash le lisebelisoa tse ling tse tšoanang. Hape le ho hokahana le lilaebrari tsa pokello ea metrics, joalo ka OpenTracing, Prometheus, jj.

Ka kakaretso, kopo e ntse e ka nkoa e le lebokose le letšo, empa e tlameha ho fanoa ka li-API tsohle tseo sethaleng se li hlokang e le ho li shebella le ho li laola ka tsela e molemo ka ho fetisisa.

Molawana wa Tshepediso ya Modikoloho wa Bophelo (LCP)

LCP ke khanyetsano ea HOP. Le ha HOP e bolela hore setshelo se tlameha ho pepesa li-API tsa ho bala sethaleng, LCP e hloka hore kopo e khone ho amohela tlhahisoleseling ho tsoa sethaleng. Ho feta moo, setshelo ha sea lokela ho amohela liketsahalo feela, empa hape le ho ikamahanya le maemo, ka mantsoe a mang, ho itšoara ho tsona. Kahoo lebitso la molao-motheo, le ka nkoang e le tlhokahalo ea ho fana ka sethaleng ka li-API tsa ho ngola.

Melao-motheo e 5 e Tloaelehileng ea ho Aha Lisebelisoa tsa Cloud-Native
Li-platform li na le mefuta e fapaneng ea liketsahalo ho thusa ho laola bophelo ba setshelo. Empa ho itšetlehile ka kopo ka boeona ho etsa qeto ea hore na ke mang ho bona ea lokelang ho lemoha le hore na a etse joang.

Ho hlakile hore liketsahalo tse ling li bohlokoa ho feta tse ling. Mohlala, haeba sesebelisoa se sa mamelle ho soahlamana hantle, se tlameha ho amohela letšoao: emisa (SIGTERM) melaetsa le ho qala ts'ebetso ea eona ea ho emisa kapele kamoo ho ka khonehang ho tšoara lets'oao: bolaea (SIGKILL) le tlang kamora SIGTERM.

Ho feta moo, liketsahalo tse kang PostStart le PreStop li ka ba tsa bohlokoa bophelong ba kopo. Ka mohlala, ka mor'a ho qala kopo, e ka 'na ea hloka nako ea ho futhumatsa pele e ka arabela likōpo. Kapa kopo e tlameha ho lokolla lisebelisoa ka tsela e khethehileng ha e koala.

Molao-motheo oa ho se fetohe ha setšoantšo (IIP)

Ho amoheloa ka kakaretso hore likopo tse kentsoeng ka har'a linkho li tlameha ho lula li sa fetohe ka mor'a hore li hahuoe, leha li ka tsamaisoa libakeng tse fapaneng. Sena se hloka tlhokahalo ea ho boloka data ka ntle ka nako ea nako (ka mantsoe a mang, ho sebelisa lisebelisoa tsa ka ntle bakeng sa sena) le ho itšetleha ka litlhophiso tsa ka ntle, tse khethehileng tsa nako ea ho sebetsa, ho e-na le ho fetola kapa ho etsa lijana tse ikhethang bakeng sa tikoloho ka 'ngoe. Kamora liphetoho life kapa life ts'ebetsong, setšoantšo sa sets'oants'o se tlameha ho hahuoa bocha le ho romelloa libakeng tsohle tse sebelisitsoeng. Ka tsela, ha u laola mekhoa ea IT, ho sebelisoa molao-motheo o tšoanang, o tsejoang e le molao-motheo oa ho se fetohe ha lisebelisoa le lisebelisoa tsa motheo.

Sepheo sa IIP ke ho thibela ho thehoa ha litšoantšo tsa lijana tse arohaneng bakeng sa maemo a fapaneng a nako ea ho sebetsa le ho sebelisa setšoantšo se tšoanang hohle hammoho le tlhophiso e nepahetseng ea tikoloho. Ho latela molao-motheo ona ho u fa monyetla oa ho kenya ts'ebetsong mekhoa ea bohlokoa joalo ka pono ea automation ea cloud systems e le roll-back le roll-forward of application updates.

Melao-motheo e 5 e Tloaelehileng ea ho Aha Lisebelisoa tsa Cloud-Native

Melao-motheo ea ho Lahloa ha Ts'ebetso (PDP)

E 'ngoe ea litšobotsi tsa bohlokoa ka ho fetisisa tsa setshelo ke ephemerality ea eona: mohlala oa setshelo o bonolo ho bopa le ho senya habonolo, kahoo o ka nkeloa sebaka ke ketsahalo e' ngoe ka nako leha e le efe. Ho ka ba le mabaka a mangata bakeng sa phetisetso e joalo: ho hloleha ha tlhahlobo ea ts'ebeletso, ho eketsa ts'ebeliso, ho fetisetsa ho moamoheli e mong, ho felloa ke matla ha lisebelisoa tsa sethala, kapa maemo a mang.

Melao-motheo e 5 e Tloaelehileng ea ho Aha Lisebelisoa tsa Cloud-Native
Ka lebaka leo, lits'ebetso tse kentsoeng ka har'a lisebelisoa li tlameha ho boloka boemo ba tsona li sebelisa mekhoa e meng ea kantle, kapa li sebelise merero e ajoang ka hare ka boqhetseke bakeng sa sena. Ho phaella moo, kopo e tlameha ho qala ka potlako le ho koala ka potlako, 'me e itokisetse ho hlōleha ha hardware ka tšohanyetso.

Mokhoa o mong o thusang ho kenya ts'ebetsong molao-motheo ona ke ho boloka lijana li le nyane. Maemo a maru a ka ikhethela moamoheli hore a qale mohlala oa setshelo, kahoo ha setshelo se le senyane, se tla qala ka potlako - se tla kopitsa feela ho moamoheli ea reretsoeng marang-rang ka potlako.

Self-Containment Principle (S-CP)

Ho ea ka molao-motheo ona, sethaleng sa kopano, likarolo tsohle tse hlokahalang li kenyelelitsoe ka har'a setshelo. Sets'oants'o se lokela ho hahuoa ka mohopolo oa hore sistimi e na le kernel e hloekileng ea Linux, kahoo lilaebrari tsohle tse hlokahalang li lokela ho beoa ka sets'oants'o ka bosona. E boetse e lokela ho ba le lintho tse kang nako ea ho sebetsa bakeng sa puo e tsamaisanang ea lenaneo, sethala sa kopo (ha ho hlokahala), le lintho tse ling tse itšetlehileng ka tsona tse tla hlokoa ha kopo ea setshelo e ntse e sebetsa.

Melao-motheo e 5 e Tloaelehileng ea ho Aha Lisebelisoa tsa Cloud-Native

Mekhelo e etselitsoe litlhophiso tse fapaneng ho ea ka tikoloho 'me li tlameha ho fanoa ka nako ea ts'ebetso, mohlala ka Kubernetes ConfigMap.

Kopo e ka kenyelletsa likarolo tse 'maloa tse kentsoeng, mohlala, setshelo se arohaneng sa DBMS ka har'a sesebelisoa sa webo se nang le lisebelisoa. Ho ea ka molao-motheo oa S-CP, lijana tsena ha lia lokela ho kopanngoa e le 'ngoe, empa li lokela ho etsoa e le hore sejana sa DBMS se na le ntho e' ngoe le e 'ngoe e hlokahalang bakeng sa ts'ebetso ea database,' me setshelo sa kopo ea websaete se na le ntho e 'ngoe le e' ngoe e hlokahalang bakeng sa ts'ebetso ea websaete. kopo, sebatli se tšoanang sa webo. Ka lebaka leo, ka nako ea ho sebetsa setshelo sa kopo ea webo se tla itšetleha ka setshelo sa DBMS le ho se fihlella ha ho hlokahala.

Molao-motheo oa ho Koalloa ha Runtime (RCP)

Molao-motheo oa S-CP o hlalosa hore na setshelo se lokela ho hahoa joang le hore na binary ea setšoantšo e lokela ho ba le eng. Empa setshelo ha se feela "lebokose le letšo" le nang le tšobotsi e le 'ngoe feela - boholo ba faele. Nakong ea ts'ebetso, setshelo se nka litekanyo tse ling: palo ea memori e sebelisitsoeng, nako ea CPU, le lisebelisoa tse ling tsa sistimi.

Melao-motheo e 5 e Tloaelehileng ea ho Aha Lisebelisoa tsa Cloud-Native
'Me mona molao-motheo oa RCP o tla hantle, ho latela hore na setshelo se tlameha ho theola litlhoko tsa sona bakeng sa lisebelisoa tsa tsamaiso le ho li fetisetsa sethaleng. Ka lintlha tsa lisebelisoa tsa sets'oants'o se seng le se seng (hore na li hloka CPU e kae, memori, marang-rang le lisebelisoa tsa disk), sethala se ka khona ho etsa kemiso le autoscaling, ho laola bokhoni ba IT, le ho boloka maemo a SLA bakeng sa lijana.

Ntle le ho fihlela litlhoko tsa lisebelisoa tsa setshelo, ho bohlokoa hape hore kopo e se ke ea feta meeli ea eona. Ho seng joalo, ha khaello ea lisebelisoa e etsahala, sethala se ka 'na sa e kenyelletsa lethathamong la likopo tse lokelang ho felisoa kapa ho falla.

Ha re bua ka ho ba leru-pele, re bua ka tsela eo re sebetsang ka eona.
Ka holimo, re thehile melao-motheo e mengata e akaretsang e thehileng motheo oa mokhoa oa ho aha lisebelisoa tsa boleng bo holimo bakeng sa tikoloho ea maru.

Hlokomela hore ntle le melao-motheo ena e akaretsang, o tla hloka hape mekhoa le mekhoa e tsoetseng pele ea ho sebetsa ka lijana. Ntle le moo, re na le likhothaletso tse 'maloa tse khuts'oane tse hlakileng haholoanyane le tse lokelang ho sebelisoa (kapa li sa sebelisoe) ho latela maemo:

Webinar ho mofuta o mocha oa OpenShift Container Platform - 4
La 11 Phuptjane ka 11.00

U tla ithuta eng:

  • E sa fetoheng Red Hat Enterprise Linux CoreOS
  • OpenShift tšebeletso mesh
  • Moralo oa opereishene
  • Moralo oa Knative

Source: www.habr.com

Eketsa ka tlhaloso