Dela via


Designprinciper för Azure-program

Designprincipartiklarna i det här avsnittet utgör en grund som hjälper dig att skapa molnprogram som kan motstå fel, skala med efterfrågan och utvecklas med affärsbehov. Oavsett om du vill utforma ett nytt system, modernisera äldre program eller planera för produktionsarbetsbelastningar kan dessa sammankopplade principer hjälpa dig att fatta välgrundade beslut om tillförlitlighet, prestanda och underhåll. Tillsammans utgör de en omfattande metod för molnbaserad programdesign som balanserar teknisk excellens med affärsvärde.

Följ dessa designprinciper för att göra ditt program mer skalbart, motståndskraftigt och hanterbart.

Grundläggande principer

  • Design för självläkning. Utforma ditt program för att identifiera fel, svara korrekt och återställa automatiskt. I distribuerade system är fel oundvikliga. Om du vill isolera fel och upprätthålla systemtillgänglighet implementerar du logik för återförsök, övervakning av hälsoslutpunkter, kretsbrytare och skottmönster.

  • Gör allt överflödigt. Skapa redundans i ditt program för att undvika enskilda felpunkter. Använd lastbalanserare, flera instanser, databasrepliker och distributioner i flera zoner eller flera regioner. Utforma för den redundansnivå som matchar dina affärskrav och risktolerans.

  • Minimera samordningen. Minimera samordningen mellan programtjänster för att uppnå skalbarhet. Använd frikopplade komponenter som kommunicerar asynkront, använd eventuell konsistens när det är lämpligt och tillämpa domänhändelser för att synkronisera tillstånd utan nära koppling.

  • Utforma för att skala ut. Utforma ditt program för horisontell skalning genom att lägga till eller ta bort instanser när efterfrågan ändras. Undvik session stickiness, identifiera flaskhalsar, dela upp arbetsbelastningar enligt skalningskrav och använd automatisk skalning baserat på live-mått för att hantera variabla belastningar effektivt.

  • Partitionering runt gränser. Använd partitionering för att kringgå databas-, nätverks- och beräkningsgränser. Partitionera data horisontellt, vertikalt eller funktionellt, och utforma nycklar för partitionering för att undvika hotspots. Överväg att partitionera på flera nivåer, inklusive databaser, köer och beräkningsresurser.

Driftsprinciper

  • Design för åtgärder. Utforma ditt program så att driftteamen får de verktyg som behövs för distribution, övervakning och incidenthantering. Implementera omfattande loggning, distribuerad spårning, standardiserade mått och automatisera hanteringsuppgifter för att möjliggöra effektiv driftstillsyn.

  • Använd hanterade tjänster. Använd Plattform som en tjänst (PaaS) i stället för infrastruktur som en tjänst (IaaS). Hanterade tjänster minskar driftkostnaderna, ger inbyggda skalningsfunktioner och gör det möjligt för team att fokusera på programlogik i stället för infrastrukturunderhåll.

  • Använd en identitetstjänst. Använd en hanterad identitetsplattform som Microsoft Entra-ID i stället för att skapa eller använda ditt eget identitetssystem. Hanterade lösningar tillhandahåller lagring av autentiseringsuppgifter, autentiseringsfunktioner, federationsfunktioner och efterlevnad av branschstandarder.

Strategiska principer

  • Design för utveckling. Design för kontinuerlig innovation eftersom alla lyckade program ändras över tid. Framtvinga lös koppling, kapsla in domänkunskaper, använd asynkrona meddelanden och exponera väldefinierade API:er som innehåller korrekt versionshantering för att möjliggöra oberoende tjänstutveckling.

  • Skapa för verksamhetens behov. Fatta designbeslut baserat på affärskrav. Definiera tydliga mål som mål för återställningstid (RTO), dokumentavtal på tjänstnivå (SLA) och servicenivåmål (SLO), modellprogram runt affärsdomäner och planera för tillväxt samtidigt som funktionella och icke-funktionella krav balanseras.

  • Utföra analys av felläge för tjänster. Identifiera systematiskt potentiella felpunkter i systemet och planera återställningsstrategier. För att bygga resiliens redan från början, utför analys av felläge (FMA) under arkitektur- och designfaserna. Betygsätt varje felläge efter risk och påverkan och bestäm sedan lämpliga mekanismer för svar och återställning.

Tillämpa dessa principer

Dessa principer fungerar tillsammans för att skapa motståndskraftiga, skalbara program:

  • Börja med affärskrav för att förstå vad du skapar och varför.

  • Utforma för fel genom att implementera självåterställningsfunktioner och redundans.

  • Planera för skalning genom horisontell skalning, partitionering och minimal samordning.

  • Använd Azure-tjänster för att minska driftskomplexiteten och fokusera på affärslogik.

  • Stödåtgärder via korrekt övervakning, loggning och automatisering.

  • Bygg för förändring så att ditt program kan utvecklas med affärsbehoven.