Kryptis 04Pamoka 5 / 10

Projektuokite programinę įrangą cloud native aplinkai

Susiekite pakartojamą infrastruktūrą, pakeičiamus procesus, ilgalaikę būseną ir stebimą veikimą. Vertinkite cloud native projektavimą plačiau nei konteinerio paketavimą.

Praktinis12 minPeržiūrėta

Leidžia Kaip rašome

Patikrinkite, ar supratotePo sutrikimo platforma pakeičia ataskaitos vykdymo procesą. Kas leidžia saugiai pakartoti bandymą?Atlikite užduotį
Po sutrikimo platforma pakeičia ataskaitos vykdymo procesą. Kas leidžia saugiai pakartoti bandymą?

Ko išmoksite

  • Atskirkite konteinerio paketavimą nuo cloud native veikimo.
  • Nustatykite sugeneruotos paslaugos būsenos, pakartotinių bandymų ir procesų pakeitimo riziką.
  • Apibrėžkite platformos susitarimą, kurį gali patikrinti agentai ir žmonės.

Apibrėžkite reikiamą veikimą

Cloud native praktika padeda pakartojamai kurti ir eksploatuoti sistemas viešose, privačiose ar hibridinėse aplinkose. CNCF pabrėžia sistemas, kurios keičiantis lieka valdomos, stebimos ir atsparios. Konteineriai ir orkestravimas gali padėti taikyti šį požiūrį. Vien jie neužtikrina visų šių savybių.

Pradėkite nuo išgalvotos ataskaitų paslaugos. DI įrankis sukuria API adresą, vykdymo procesą ir konteinerio atvaizdą. Demonstracija pateikia teisingą PDF. Prieš produkcinį naudojimą komanda turi atsakyti į kitą klausimą: kas nutinka, kai platforma pakeičia vykdymo procesą užduoties metu?

Tai ir programos projektavimo, ir infrastruktūros klausimas. Paleidimas iš naujo gali atkurti procesą, bet prarasti jo neužbaigtą darbą.

Atskirkite procesą nuo ilgalaikės būsenos

Prototipas eilėje laukiančias užduotis ir užbaigtas ataskaitas laiko konteinerio diske. Pakeitus konteinerį galima prarasti abu. Pridėjus daugiau vykdymo procesų, atsakymai taip pat gali skirtis pagal tai, kuris procesas gauna užklausą.

Patikslintas sprendimas naudoja ilgalaikę užduočių saugyklą ir patvirtintą objektų saugyklą. Užklausa užregistruoja užduoties tapatybę. Vykdymo procesas pasiima užduotį, sukuria rezultatą ir įrašo jo vietą. Naudotojui atsisiunčiant ataskaitą prieigos patikrinimai vis tiek galioja.

SritisKlausimas ataskaitų paslaugai
BūsenaKurie įrašai turi išlikti pakeitus procesą?
KonfigūracijaKaip tas pats artefaktas veikia kiekvienoje aplinkoje?
TapatybėKuri paslaugos tapatybė gali skaityti užduotį ir įrašyti jos rezultatą?
VeiksnumasAr vykdymo procesas gali priimti darbą ir jį užbaigti?
SustabdymasKas nutinka paimtai užduočiai sustojus vykdymo procesui?
PajėgumasKuri riba pasiekiama pirma: vykdymo procesų, duomenų bazės, saugyklos ar kitos paslaugos?

Paslapčių nelaikykite atvaizde. Pateikite jas per patvirtintą paslapčių sistemą. Užrašykite, kuriems konfigūracijos pakeitimams reikia naujos versijos ar proceso paleidimo iš naujo.

Suprojektuokite pakartotinius bandymus prieš pridėdami vykdymo procesų

Tarkime, vykdymo procesas išsaugo PDF ir sustoja prieš patvirtindamas užduotį. Eilė pateikia užduotį dar kartą. Antras bandymas neturi sukurti antro mokesčio klientui ar siųsti prieštaringų užbaigimo pranešimų.

Kur tinka, naudokite idempotentinę operaciją. Pakartojus tą pačią loginę užklausą turi išlikti numatytas poveikis. Apibrėžkite stabilią užklausos tapatybę, ilgalaikėje saugykloje užfiksuokite rezultatą ir patikrinkite kiekvieną sutrikimo vietą. AWS šį metodą aprašo saugių pakartotinių bandymų vadove.

Pakartotiniams bandymams taip pat reikia ribų. Naudokite laukimo terminą, bandymų skaičiaus ribą ir delsą, kuri neleistų kartotinėms užklausoms vykti vienu metu. Išsaugokite nepavykusį darbą tyrimui, o ne kartokite jį be galo.

Padarykite pageidaujamą būseną tinkamą peržiūrai

Deklaratyvi konfigūracija nurodo numatytą diegimą. Valdiklis stengiasi išlaikyti šią būseną. Pavyzdžiui, Kubernetes Deployment valdo programos replikas ir kontroliuojamus atnaujinimus. Programa vis tiek turi teisingai apdoroti pakeitimą kitu egzemplioriumi.

Versijuokite infrastruktūros ir programos konfigūraciją. Peržiūrėkite pakeitimus per įprastą pristatymo procesą. Stebėkite tikrąjį užduočių užbaigimą, eilėje laukiančių užduočių amžių, sutrikimus ir priklausomybių ribas. Veikiantis procesas vis tiek gali nesugebėti parengti ataskaitos.

Pasirinkite platformą, kurią komanda gali eksploatuoti

Cloud native nereikalauja kiekvienos programos paversti mikropaslaugomis. Modulinė programa valdomoje vykdymo aplinkoje gali atitikti savo reikalavimus. Daugiau paslaugų reiškia daugiau sąsajų, diegimo sprendimų ir eksploatavimo darbo.

Kūrimo agentui pateikite tikrąjį platformos susitarimą: palaikomą vykdymo aplinką, tapatybės metodą, duomenų paslaugas, diegimo taisykles ir būtinus įrodymus. Kartu su sėkmingomis užklausomis testuokite nutraukimą ir pakeitimą kitu egzemplioriumi. Toliau skaitykite apie prieinamumą ir gedimų ribas.

Atlikite užduotį

Išgalvota ataskaitų paslauga užduotis ir užbaigtus failus laiko konteinerio diske. Nubraižykite srautą per užklausą, užduotį, failą ir atsisiuntimą. Pažymėkite ilgalaikę būseną. Apibrėžkite, kas nutinka, jei vykdymo procesas sustoja įrašęs failą, bet dar nepatvirtinęs užduoties.

Atsisiųsti užduoties lapą (Markdown)
Patikrinkite, ar supratote ↑

Mokykitės toliau

Šaltiniai ir papildoma literatūra

Susijęs Taiga turinys

← Ankstesnė pamoka: Apibrėžkite infrastruktūrą už prototipo ribų