Iddisinja software għal ambjent cloud native
LestOrbot infrastruttura ripetibbli, proċessi li jistgħu jiġu sostitwiti, stat dejjiemi u mġiba osservabbli. Evalwa disinn cloud native lil hinn mill-ippakkjar f'containers.
Ippubblikat minn TaigaKif niktbu
Iċċekkja kemm fhimtPjattaforma tissostitwixxi worker tar-rapporti wara ħsara. X'jagħmel it-tentattiv ripetut sigur?Agħmel l-eżerċizzju
X'se titgħallem
- Iddistingwi l-ippakkjar f'containers minn imġiba cloud native.
- Identifika riskji tal-istat, tat-tentattivi ripetuti u tas-sostituzzjoni f'servizz iġġenerat.
- Iddefinixxi kuntratt tekniku tal-pjattaforma li l-aġenti u n-nies jistgħu jivverifikaw.
Iddefinixxi l-imġiba li teħtieġ
Prattiki cloud native jappoġġaw żvilupp u operazzjoni ripetibbli f’ambjenti pubbliċi, privati jew ibridi. CNCF jenfasizza sistemi li jibqgħu ġestibbli, osservabbli u reżiljenti hekk kif jinbidlu. Containers u orkestrazzjoni jistgħu jappoġġaw dan l-approċċ. Ma jistabbilixxux dawn il-proprjetajiet kollha waħedhom.
Ibda b’servizz fittizju tar-rapporti. Għodda tal-AI toħloq endpoint, worker u container image. Dimostrazzjoni tipproduċi l-PDF korrett. Qabel il-produzzjoni, it-tim irid iwieġeb mistoqsija oħra: x’jiġri meta l-pjattaforma tissostitwixxi l-worker waqt job?
Din hija mistoqsija dwar id-disinn tal-applikazzjoni kif ukoll dwar l-infrastruttura. Bidu mill-ġdid jista’ jirrestawra proċess filwaqt li jitlef ix-xogħol mhux lest tiegħu.
Issepara proċess minn stat dejjiemi
Il-prototip iżomm jobs fil-kju u rapporti lesti fuq id-diska tal-container. Is-sostituzzjoni tal-container tista’ tneħħi t-tnejn. Iż-żieda ta’ aktar workers tista’ wkoll tipproduċi tweġibiet differenti skont liema worker jirċievi t-talba.
Id-disinn rivedut juża ħażna dejjiema tal-jobs u ħażna approvata tal-oġġetti. Talba tirreġistra identità ta’ job. Worker jieħu r-responsabbiltà għall-job, joħloq ir-riżultat tiegħu u jirreġistra fejn jinsab ir-riżultat. Il-kontrolli tal-aċċess xorta japplikaw meta utent iniżżel ir-rapport.
| Aspett | Mistoqsija għas-servizz tar-rapporti |
|---|---|
| Stat | Liema rekords iridu jibqgħu jeżistu wara s-sostituzzjoni tal-proċess? |
| Konfigurazzjoni | Kif jaħdem l-istess artifact f’kull ambjent? |
| Identità | Liema identità tas-servizz tista’ taqra l-job u tikteb ir-riżultat tiegħu? |
| Saħħa operattiva | Il-worker jista’ jaċċetta xogħol, u jista’ jlestih? |
| Twaqqif | X’jiġri minn job li worker ikun ħa fuqu meta dak il-worker jieqaf? |
| Kapaċità | Liema limitu jintlaħaq l-ewwel: workers, database, ħażna jew servizz ieħor? |
Żomm is-sigrieti barra mill-image. Ipprovdihom permezz tas-sistema approvata tas-sigrieti. Irreġistra liema bidliet fil-konfigurazzjoni jeħtieġu rilaxx ġdid jew bidu mill-ġdid tal-proċess.
Iddisinja t-tentattivi ripetuti qabel iżżid workers
Supponi li l-worker isalva PDF u mbagħad jieqaf qabel jikkonferma l-job. Il-kju jerġa’ jwassal il-job. It-tieni tentattiv ma għandux jerġa’ jiċċarġja lill-klijent jew jibgħat messaġġi kontradittorji tat-tlestija.
Uża operazzjoni idempotenti fejn xieraq. Ir-ripetizzjoni tal-istess talba loġika għandha żżomm l-effett intenzjonat. Iddefinixxi identità stabbli tat-talba, irreġistra r-riżultat b’mod dejjiemi u ċċekkja x’jiġri f’kull punt ta’ ħsara. AWS jiddeskrivi din it-teknika fil-gwida għal tentattivi ripetuti siguri.
It-tentattivi ripetuti wkoll jeħtieġu limiti. Uża limitu tal-ħin, limitu tat-tentattivi u dewmien li jevita talbiet ripetuti simultanji. Żomm ix-xogħol li falla għall-ispezzjoni minflok terġa’ tipprovah għal dejjem.
Agħmel l-istat mixtieq faċli biex jiġi rivedut
Konfigurazzjoni dikjarattiva tgħid x’deployment huwa intenzjonat. Controller jaħdem biex iżomm dak l-istat. Pereżempju, Kubernetes Deployment jimmaniġġja repliki tal-applikazzjoni u aġġornamenti kkontrollati. L-applikazzjoni xorta trid timmaniġġja s-sostituzzjoni sew.
Żomm verżjonijiet tal-konfigurazzjoni tal-infrastruttura u tal-applikazzjoni. Irrevedi l-bidliet permezz tal-proċess normali tat-twassil. Osserva t-tlestija reali tal-jobs, kemm ilhom il-jobs fil-kju, il-ħsarat u l-limiti tad-dipendenzi. Proċess li jkun qed jaħdem xorta jista’ ma jkunx kapaċi jipproduċi rapport.
Agħżel pjattaforma li t-tim jista’ jħaddem
Cloud native ma jeħtieġx li kull applikazzjoni ssir microservices. Applikazzjoni modulari fuq runtime ġestit tista’ tissodisfa r-rekwiżiti tagħha. Aktar servizzi jintroduċu aktar interfaces, deċiżjonijiet ta’ deployment u xogħol operattiv.
Agħti lill-aġent tal-iżvilupp il-kuntratt tekniku reali tal-pjattaforma: runtime appoġġjat, metodu tal-identità, servizzi tad-data, regoli tad-deployment u evidenza meħtieġa. Ittestja l-imġiba waqt interruzzjoni u sostituzzjoni flimkien mat-talbiet li jirnexxu. Kompli bid-disponibbiltà u l-konfini tal-ħsarat.
Agħmel l-eżerċizzju
Servizz fittizju tar-rapporti jaħżen jobs u fajls lesti fuq id-diska tal-container tiegħu. Pinġi l-fluss mit-talba għall-job, għall-fajl u għat-tniżżil. Immarka l-istat dejjiemi. Iddefinixxi x'jiġri jekk il-worker jieqaf wara li jikteb fajl iżda qabel jikkonferma l-job.
Niżżel il-folja tax-xogħol (Markdown)Jekk tneħħi din l-għażla, tħassar il-progress kollu ssejvjat f'dan il-browser.
Il-progress jibqa' f'dan il-browser. Ebda kont, ebda traċċar.
Sorsi u qari ieħor
- CNCF: Cloud Native Definition v1.1 ↗
- Kubernetes: Deployments ↗
- AWS Builders’ Library: Making retries safe with idempotent APIs ↗