Cloud-deploymentarkitektur — forespørgslens vej og robusthed

En cloud-deploymentarkitektur på et interaktivt lærred: edge, load balancer, autoskalerende applikationslag, datalag og observabilitet, der holder en tjeneste kørende.

En cloud-deployment gør en enkelt server til et robust system: trafikken kommer ind via edge, en load balancer fordeler den, et autoskalerende lag betjener den, et datalag gemmer den, og overvågningen holder hele stakken i ørerne.

Cloud-deploymentarkitektur — forespørgslens vej og robusthed

The interactive FlowJam canvas for this explanation — every lane, row and arrow above is a real QueryChart diagram you can open and edit.

How to read this visual

  • Læs først den venstre kolonne oppefra og ned: brugere, CDN, load balancer, instanser, cache, database — forespørgslens vej.
  • Læs derefter den højre kolonne som fortællingen om robusthed: autoskalering, replikaer, backups og overvågning, der holder forespørgslens vej i live.
  • Banegruppen »Observabilitet« er sensorlaget — den ligger nederst, fordi den holder øje med alt det ovenover.

Forespørgslens vej

»Brugerne når tjenesten via edge« indleder rejsen, og »CDN'et cacher statisk indhold tæt på brugerne« er det første forsvarsled — statiske filer leveret fra edge-lokationer tæt på den besøgende. »Load balanceren fordeler trafikken« er hoveddøren til compute-laget og sender hver forespørgsel videre til en sund instans. »App-instanserne betjener forespørgsler« og »In-memory-cache gør gentagne læsninger hurtigere« er det arbejdende hjerte, hvor cachen holder varme data væk fra databasen.

Datalaget

»Den primære database rummer sandhedskilden« er den ene komponent, der ikke kan bygges op igen fra bunden, og »Replikaer og backups beskytter dataene« er genopretningsplanen — læsereplikaer fordeler belastningen, og point-in-time-backups og kopier på tværs af regioner dækker katastroferne. Diagrammet skiller det ud i sin egen bane, fordi datalaget fejler anderledes end de tilstandsløse lag ovenover og har brug for et andet sæt kontroller.

Robusthed og observabilitet

»Autoskalerende gruppe af applikationsinstanser« skalerer horisontalt efter trafikken, og »Overvågning og alarmering holder øje med hele stakken« er sensorlaget — metrikker, logs og alarmer på tværs af hvert lag, og udløseren for selvhelbredelse og rollback. »Deploymentet skalerer og helbreder sig selv« er sluttilstanden: ikke en fast arkitektur, men en, der justerer sig selv. Den selvjustering er hele forskellen mellem en cloud-deployment og en enkelt server.

Key relationships and takeaways

  • Robusthed er lagdelt: CDN, load balancer, autoskalering, cache, replikaer, overvågning — hvert lag beskytter det bagved.
  • Datalaget fejler anderledes og har brug for sine egne kontroller: replikaer til belastningen, backups til genopretningen.
  • Load balanceren er hoveddøren; autoskaleringen afgør, hvor mange døre der er.
  • Cachen kan undværes — mister du den, bliver systemet langsommere, det går ikke i stykker.
  • Overvågningen er det, der lukker løkken: en alarm udløser beslutningerne om skalering, rollback og genopretning.

When to use this visual

  • At undervise i en cloud-deployments anatomi, før et team designer sit første produktionsmiljø.
  • At gennemgå en arkitektur for huller i robustheden — et lag uden redundans er et single point of failure, som lærredet afslører.
  • At forankre en diskussion om cloud-omkostninger: hvert lag er en beslutning om, hvad I vil betale for redundans.

Sådan fungerer det

  1. Omdøb lagene til jeres egen stak

    Erstat de generiske lag med jeres faktiske tjenester — jeres CDN-udbyder, jeres load balancer, jeres instanstype, jeres databasemotor — én boks pr. lag.

  2. Kortlæg trafikkens vej

    Annotér forespørgslens vej med de faktiske protokoller og porte, og notér, hvor TLS terminerer, og hvor routingbeslutningerne træffes.

  3. Tilføj jeres skaleringsregler

    Notér på autoskaleringsboksen den faktiske metrik og de tærskler, der udløser skalering i jeres miljø, så diagrammet afspejler jeres politik.

  4. Beskriv genopretningen

    Tilføj en gren fra databasen til backup-boksen, der viser jeres RPO og RTO og den faktiske gendannelses- eller failover-procedure, og som ender i en eksplicit genopretningstilstand.

Ofte stillede spørgsmål

Hvad er en cloud-deploymentarkitektur?

Det er designet af, hvordan en tjeneste kører i skyen: trafikken kommer ind via edge (CDN), en load balancer fordeler den, en autoskalerende gruppe af instanser betjener den, et datalag gemmer den, og overvågningen holder øje med det hele. Arkitekturens definerende egenskab er robusthed — ingen enkelt komponents svigt tager tjenesten ned, fordi hvert lag er redundant og justerer sig selv.

Hvorfor behandles datalaget anderledes end resten?

Fordi de tilstandsløse lag — instanser, caches — kan bygges op eller erstattes med det samme, mens databasen rummer den sandhedskilde, der ikke kan genskabes. Den har brug for sine egne kontroller: replikaer til at fordele læsebelastningen, point-in-time-backups og kopier på tværs af regioner til genopretning, og en fastlagt procedure for failover. Diagrammet giver datalaget sin egen bane, fordi dets fejlmåder og dets kontroller er anderledes end lagene ovenover.

Hvad betyder »autoskalering«, og hvorfor er det vigtigt?

Autoskalering tilføjer eller fjerner applikationsinstanser automatisk ud fra målt efterspørgsel — typisk CPU, hukommelse eller kølængde. Det er vigtigt, fordi det gør kapacitet fra et gæt til en styringssløjfe: systemet køber mere kapacitet, når der er travlt, og giver slip på den igen, når der ikke er, og det erstatter en fejlet instans uden menneskelig handling. Den selvjustering er en stor del af det, der gør en cloud-deployment robust.

Hvordan passer caching og overvågning ind i arkitekturen?

Cachen ligger mellem applikationen og databasen: varme data leveres fra hukommelsen, så databasen kun ser de forespørgsler, der reelt har brug for den. Overvågningen er sensorlaget på tværs af hvert lag — metrikker, logs og alarmer — og det er den, der udløser de øvrige robusthedsmekanismer: et udsving i fejl starter et rollback, en stigning i belastningen udløser skalering, og en fejlet instans bliver erstattet. Uden overvågning kører resten af arkitekturen i blinde.

Redigér dette diagram i QueryChart (FlowJam)

Åbn præcis dette cloud-deployment-lærred som dit eget diagram, omdøb lagene til jeres egen stak, og kortlæg jeres kontroller for robusthed.

Redigér dette diagram i QueryChart (FlowJam)

Mere i Visuelle forklaringer