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.
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 lokala | Moderna 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 |
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.
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
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.
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:
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.
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.
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.
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.
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.
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.