Rruga 04Mësim 5 / 10

Projektoni softuer për një mjedis cloud native

Lidhni infrastrukturën e përsëritshme, proceset e zëvendësueshme, gjendjen e ruajtur në mënyrë të qëndrueshme dhe sjelljen e vëzhgueshme. Vlerësoni projektimin cloud native përtej paketimit në container.

Praktikues12 minShqyrtuar

Publikuar nga Si shkruajmë

Kontrolloni çfarë keni kuptuarNjë platformë zëvendëson një proces worker raportesh pas një dështimi. Çfarë e bën riprovimin të sigurt?Bëni ushtrimin
Një platformë zëvendëson një proces worker raportesh pas një dështimi. Çfarë e bën riprovimin të sigurt?

Çfarë do të mësoni

  • Dalloni paketimin në container nga sjellja cloud native.
  • Identifikoni rreziqet e gjendjes, riprovimit dhe zëvendësimit në një shërbim të gjeneruar.
  • Përcaktoni një kontratë teknike platforme që agjentët dhe njerëzit mund ta verifikojnë.

Përcaktoni sjelljen që ju nevojitet

Praktikat cloud native mbështesin zhvillimin dhe funksionimin e përsëritshëm në mjedise publike, private ose hibride. CNCF thekson sisteme që mbeten të menaxhueshme, të vëzhgueshme dhe rezistente ndaj dështimeve ndërsa ndryshojnë. Container-at dhe orkestrimi mund ta mbështesin këtë qasje. Ata nuk i krijojnë vetë të gjitha këto veti.

Filloni me një shërbim imagjinar raportesh. Një mjet AI krijon një endpoint, një proces worker dhe një imazh container-i. Një demonstrim prodhon PDF-në e saktë. Para prodhimit, ekipi duhet t’i përgjigjet një pyetjeje tjetër: çfarë ndodh kur platforma zëvendëson procesin worker gjatë një pune?

Kjo është pyetje e projektimit të aplikacionit, si dhe e infrastrukturës. Një rinisje mund të rikthejë një proces, por të humbasë punën e tij të papërfunduar.

Ndani procesin nga gjendja e ruajtur në mënyrë të qëndrueshme

Prototipi mban punët në radhë dhe raportet e përfunduara në diskun e container-it. Zëvendësimi i container-it mund t’i heqë të dyja. Shtimi i proceseve worker mund të prodhojë gjithashtu përgjigje të ndryshme në varësi të procesit që merr kërkesën.

Projektimi i rishikuar përdor ruajtje të qëndrueshme për punët dhe një shërbim të miratuar ruajtjeje objektesh. Një kërkesë regjistron identitetin e punës. Një proces worker e merr punën për përpunim, krijon rezultatin dhe regjistron vendndodhjen e tij. Kontrollet e aksesit zbatohen ende kur përdoruesi shkarkon raportin.

ÇështjaPyetja për shërbimin e raporteve
GjendjaCilat regjistrime duhet të mbijetojnë pas zëvendësimit të procesit?
KonfigurimiSi ekzekutohet i njëjti artefakt në çdo mjedis?
IdentitetiCili identitet shërbimi mund të lexojë punën dhe të shkruajë rezultatin e saj?
Gjendja e funksionimitA mundet procesi worker të pranojë punë dhe ta përfundojë atë?
NdalimiÇfarë ndodh me një punë të marrë për përpunim kur procesi worker ndalet?
KapacitetiCili kufi arrihet i pari: proceset worker, baza e të dhënave, ruajtja ose një shërbim tjetër?

Mbajini sekretet jashtë imazhit. Jepini përmes sistemit të miratuar të sekreteve. Regjistroni cilat ndryshime konfigurimi kërkojnë një publikim të ri ose rinisje procesi.

Projektoni riprovimet para se të shtoni procese worker

Supozoni se procesi worker ruan një PDF dhe pastaj ndalet para se të konfirmojë punën. Radha e dorëzon punën përsëri. Një përpjekje e dytë nuk duhet të krijojë një tarifim të dytë të klientit ose të dërgojë mesazhe kundërshtuese përfundimi.

Përdorni një veprim idempotent kur është e përshtatshme. Përsëritja e së njëjtës kërkesë logjike duhet të ruajë efektin e synuar. Përcaktoni një identitet të qëndrueshëm kërkese, ruani rezultatin në mënyrë të qëndrueshme dhe kontrolloni çfarë ndodh në çdo pikë dështimi. AWS e përshkruan këtë teknikë në udhëzuesin për riprovime të sigurta.

Riprovimet kërkojnë edhe kufij. Përdorni një afat skadimi, një kufi riprovimesh dhe një vonesë që shmang kërkesat e përsëritura të njëkohshme. Ruajeni punën e dështuar për shqyrtim, në vend që ta riprovoni përgjithmonë.

Bëjeni gjendjen e dëshiruar të shqyrtueshme

Një konfigurim deklarativ përcakton vendosjen e synuar. Një kontrollues punon për ta ruajtur atë gjendje. Për shembull, një Kubernetes Deployment menaxhon kopjet e aplikacionit dhe përditësimet e kontrolluara. Aplikacioni ende duhet ta trajtojë saktë zëvendësimin.

Versiononi konfigurimin e infrastrukturës dhe të aplikacionit. Shqyrtoni ndryshimet përmes procesit normal të dorëzimit. Vëzhgoni përfundimin real të punëve, kohën që punët kalojnë në radhë, dështimet dhe kufijtë e varësive. Një proces që ekzekutohet mund të jetë sërish i paaftë të prodhojë një raport.

Zgjidhni një platformë që ekipi mund ta mbajë në funksionim

Cloud native nuk kërkon që çdo aplikacion të ndahet në microservices. Një aplikacion modular në një mjedis të menaxhuar ekzekutimi mund t’i plotësojë kërkesat. Më shumë shërbime sjellin më shumë ndërfaqe, vendime vendosjeje dhe punë funksionimi.

Jepini agjentit të zhvillimit kontratën teknike reale të platformës: mjedisin e mbështetur të ekzekutimit, metodën e identitetit, shërbimet e të dhënave, rregullat e vendosjes dhe evidencën e kërkuar. Testoni sjelljen gjatë ndërprerjes dhe zëvendësimit, bashkë me kërkesat e suksesshme. Vazhdoni me disponueshmërinë dhe kufijtë e dështimit.

Bëni ushtrimin

Një shërbim imagjinar raportesh ruan punët dhe skedarët e përfunduar në diskun e container-it. Vizatoni rrjedhën përmes kërkesës, punës, skedarit dhe shkarkimit. Shënoni gjendjen që duhet ruajtur në mënyrë të qëndrueshme. Përcaktoni çfarë ndodh nëse procesi worker ndalet pasi shkruan një skedar, por para se të konfirmojë punën.

Shkarkoni fletën e punës (Markdown)
Kontrolloni çfarë keni kuptuar ↑

Vazhdoni të mësoni

Burime dhe lexime të mëtejshme

Lexime përkatëse nga Taiga

Mësimi i mëparshëm: Përcaktoni infrastrukturën përtej prototipit