Grunderna i Azure-programarkitektur

Det här innehållsbiblioteket presenterar en strukturerad metod för att utforma program i Azure som är skalbara, säkra, motståndskraftiga och med hög tillgänglighet. Vägledningen baseras på beprövade metoder som vi har lärt oss från kundengagemang.

Introduktion

Molnet förändrar hur program utformas och skyddas. Istället för monoliter bryts programmen ned i mindre, decentraliserade tjänster. De här tjänsterna kommunicerar via API:er eller genom att använda asynkrona meddelanden eller händelser. Program skalas vågrätt, vilket ger nya instanser efter behov.

Med de här trenderna följer nya utmaningar. Programtillstånd distribueras. Åtgärder utförs parallellt och asynkront. Program måste vara motståndskraftiga när det uppstår fel. Skadliga aktörer riktar sig kontinuerligt mot program. Distributioner måste vara automatiserade och förutsägbara. Övervakning och telemetri är avgörande för att få insyn i systemet. Den här guiden hjälper dig att navigera bland alla förändringar.

Traditionella lokalaModerna i molnet
Monolitisk
Utformad för förutsägbar skalbarhet
Relationsdatabas
Synkroniserad bearbetning
Design för att undvika fel (MTBF)
Enstaka stora uppdateringar
Manuell hantering
Snowflake-servrar
Uppdelad
Utformad för elastisk skalning
Polyglott beständighet (blandning av lagringstekniker)
Asynkron bearbetning
Design för fel (MTTR)
Frekventa små uppdateringar
Automatiserad självhantering
Oföränderlig infrastruktur

Hur den här vägledningen är strukturerad

Grundläggande vägledning för Azure-programarkitekturen organiseras som en serie steg, från arkitektur och design till implementering. För varje steg finns det stöd för vägledning som hjälper dig att utforma din programarkitektur.

Diagram som visar strukturen för den här guiden. Avsnitten i artikeln representeras i ett flödesdiagram.

Arkitekturformat

Den första beslutspunkten är den mest grundläggande. Vilken typ av arkitektur bygger du? Det kan vara en arkitektur för mikrotjänster, ett mer traditionellt N-nivåprogram eller en stordatalösning. Vi har identifierat flera distinkta arkitekturformat. Det finns fördelar och utmaningar med varje format.

Läs mer: Arkitekturformat

Teknikval

När du vet vilken typ av arkitektur du bygger är det dags att välja de huvudsakliga tekniska delarna i arkitekturen. Följande teknikalternativ är särskilt viktiga:

  • Beräkning är värdmodellen för de beräkningsresurser som dina program körs på. Mer information finns i Välja en beräkningstjänst.

  • Datalager omfattar databaser men även lagring för meddelandeköer, cacheminnen, loggar och allt annat som ett program kan spara i ett lagringsutrymme. Mer information finns i Välja ett dataarkiv.

  • Meddelandetekniker möjliggör asynkrona meddelanden mellan komponenter i systemet. Mer information finns i Välja en meddelandetjänst.

Du måste förmodligen göra ytterligare tekniska val längs vägen, men dessa tre element (databearbetning, data och meddelandehantering) är centrala för de flesta molnprogram och avgör många aspekter av din design.

Utforma arkitekturen

När du har valt typ av arkitektur och de huvudsakliga tekniska komponenterna är du redo att ta itu med den specifika utformningen av ditt program. Alla program är olika, men följande resurser är ofta till hjälp:

Referensarkitekturer

Beroende på ditt scenario kan någon av våra referensarkitekturer vara en bra utgångspunkt. Varje referensarkitektur innehåller rekommenderade metoder, samt saker att tänka på när det gäller skalbarhet, tillgänglighet, säkerhet, återhämtning och andra aspekter av designen. De flesta innefattar också en distribuerbar lösning eller referensimplementering.

Designprinciper

Vi har identifierat tio designprinciper på hög nivå som kommer att göra programmet mer skalbart, motståndskraftigt och hanterbart. Dessa designprinciper gäller för alla arkitekturformat. Ha de här tio designprinciperna på hög nivå i åtanke under designprocessen. Mer information finns i Designprinciper.

Designmönster

Programdesignmönster är upprepningsbara mönster som kan hantera specifika problem. Vår katalog med molndesignmönster hanterar specifika utmaningar i distribuerade system. De tar upp aspekter som tillgänglighet, hög tillgänglighet, driftskvalitet, återhämtning, prestanda och säkerhet. Du hittar katalogen med designmönster här.

Bästa praxis

Våra artiklar med metodtips handlar om olika designaspekter, inklusive API-design, automatisk skalning, datapartitionering, cachelagring och så vidare. Granska dessa och tillämpa de metodtips som passar ditt program.

Metodtips för säkerhet

Vår bästa praxis för säkerhet beskriver hur du säkerställer att sekretess, integritet och tillgänglighet för ditt program inte äventyras av skadliga aktörer.

Kvalitetsgrundpelare

Ett lyckat molnprogram fokuserar på fem grundpelare för programvarukvalitet: Tillförlitlighet, säkerhet, kostnadsoptimering, driftseffektivitet och prestandaeffektivitet.

Använd Microsoft Azures välstrukturerade ramverk för att utvärdera arkitekturen utifrån dessa fem grundpelare.

Nästa steg