Pot 04Lekcija 5 / 10

Zasnujte programsko opremo za okolje cloud native

Povežite ponovljivo infrastrukturo, zamenljive procese, trajno stanje in opazljivo delovanje. Zasnovo cloud native ocenite širše od pakiranja v vsebnike.

Praktična raven12 minPregledano

Izdajatelj Kako pišemo

Preverite razumevanjePlatforma po napaki zamenja delovni proces za poročila. Kaj omogoča varen ponovni poskus?Opravite vajo
Platforma po napaki zamenja delovni proces za poročila. Kaj omogoča varen ponovni poskus?

Kaj se boste naučili

  • Ločite pakiranje v vsebnike od delovanja cloud native.
  • Prepoznajte tveganja stanja, ponovnih poskusov in zamenjave v ustvarjeni storitvi.
  • Določite tehnični dogovor platforme, ki ga lahko preverijo agenti in ljudje.

Določite potrebno delovanje

Prakse cloud native podpirajo ponovljiv razvoj in delovanje v javnih, zasebnih ali hibridnih okoljih. CNCF poudarja sisteme, ki ob spremembah ostajajo obvladljivi, opazljivi in odporni. Vsebniki in orkestracija lahko podprejo ta pristop. Sami po sebi ne zagotovijo vseh teh lastnosti.

Začnite z izmišljeno storitvijo za poročila. Orodje AI ustvari končno točko, delovni proces in sliko vsebnika. Predstavitev ustvari pravilen PDF. Pred produkcijo mora ekipa odgovoriti še na eno vprašanje: kaj se zgodi, ko platforma med opravilom zamenja delovni proces?

To je vprašanje zasnove aplikacije in infrastrukture. Ponovni zagon lahko obnovi proces, pri tem pa izgubi njegovo nedokončano delo.

Proces ločite od trajnega stanja

Prototip hrani opravila v čakalni vrsti in dokončana poročila na disku vsebnika. Zamenjava vsebnika lahko odstrani oboje. Dodajanje delovnih procesov lahko povzroči tudi različne odgovore glede na to, kateri proces prejme zahtevo.

Popravljena zasnova uporablja trajno shrambo opravil in odobreno objektno shrambo. Zahteva zabeleži identiteto opravila. Delovni proces prevzame opravilo, ustvari njegov rezultat in zabeleži lokacijo rezultata. Preverjanje dostopa še vedno velja, ko uporabnik prenese poročilo.

PodročjeVprašanje za storitev poročil
StanjeKateri zapisi morajo preživeti zamenjavo procesa?
KonfiguracijaKako isti artefakt deluje v vsakem okolju?
IdentitetaKatera identiteta storitve lahko bere opravilo in zapiše njegov rezultat?
Stanje delovanjaAli lahko delovni proces sprejme delo in ga dokonča?
UstavitevKaj se zgodi s prevzetim opravilom, ko se delovni proces ustavi?
ZmogljivostKatera omejitev velja prva: delovni procesi, podatkovna zbirka, shramba ali druga storitev?

Skrivnosti hranite zunaj slike. Zagotovite jih prek odobrenega sistema skrivnosti. Zabeležite, katere spremembe konfiguracije zahtevajo novo izdajo ali ponovni zagon procesa.

Ponovne poskuse zasnujte pred dodajanjem delovnih procesov

Recimo, da delovni proces shrani PDF in se nato ustavi pred potrditvijo opravila. Čakalna vrsta opravilo dostavi znova. Drugi poskus ne sme stranki znova zaračunati storitve ali poslati nasprotujočih si sporočil o dokončanju.

Kjer je ustrezno, uporabite idempotentno operacijo. Ponovitev iste logične zahteve naj ohrani predvideni učinek. Določite stabilno identiteto zahteve, trajno zabeležite rezultat in preverite dogajanje na vsaki točki napake. AWS opisuje to tehniko v vodiču za varne ponovne poskuse.

Tudi ponovni poskusi potrebujejo omejitve. Uporabite časovno omejitev, omejitev števila poskusov in zamik, ki preprečuje hkratno ponavljanje zahtev. Neuspelo delo ohranite za pregled, namesto da ga ponavljate v nedogled.

Omogočite pregled želenega stanja

Deklarativna konfiguracija določa predvideno namestitev. Krmilnik skrbi za vzdrževanje tega stanja. Kubernetes Deployment na primer upravlja replike aplikacije in nadzorovane posodobitve. Aplikacija mora še vedno pravilno obravnavati zamenjavo.

Konfiguracijo infrastrukture in aplikacije hranite z različicami. Spremembe preglejte po običajnem postopku dobave. Opazujte dejansko dokončanje opravil, starost opravil v čakalni vrsti, napake in omejitve odvisnosti. Tudi delujoč proces morda ne more ustvariti poročila.

Izberite platformo, ki jo ekipa lahko upravlja

Cloud native ne zahteva pretvorbe vsake aplikacije v mikrostoritve. Modularna aplikacija v upravljanem izvajalnem okolju lahko izpolni svoje zahteve. Več storitev prinese več vmesnikov, odločitev o namestitvi in operativnega dela.

Razvojnemu agentu dajte dejanski tehnični dogovor platforme: podprto izvajalno okolje, način identifikacije, podatkovne storitve, pravila namestitve in zahtevana dokazila. Poleg uspešnih zahtev preizkusite delovanje ob prekinitvi in zamenjavi. Nadaljujte z razpoložljivostjo in mejami odpovedi.

Opravite vajo

Izmišljena storitev za poročila hrani opravila in dokončane datoteke na disku vsebnika. Narišite tok skozi zahtevo, opravilo, datoteko in prenos. Označite trajno stanje. Določite, kaj se zgodi, če se delovni proces ustavi po zapisu datoteke, vendar pred potrditvijo opravila.

Prenesi delovni list (Markdown)
Preverite razumevanje ↑

Nadaljujte učenje

Viri in nadaljnje branje

Povezano gradivo podjetja Taiga

← Prejšnja lekcija: Določite infrastrukturo onkraj prototipa