Dela via


Grunderna i Azure-programarkitektur

Ett program som är utformat för molnbaserade arbetsbelastningar uppfyller lösningens affärskrav och innehåller molnbaserade komponenter och funktioner. Ett väl utformat molnprogram hanterar tillförlitlighet, säkerhet, kostnad, åtgärder och prestandaöverväganden. Dessa överväganden överensstämmer med affärskraven, de specifika egenskaperna hos molnvärdplattformen och de funktioner som plattformen tillhandahåller.

Du behöver inte använda ett specifikt programformat, till exempel mikrotjänster, för att utforma ett program för molnarbetsbelastningar. Molnvärdtjänster gör dock många programdesignmönster mer lättillgängliga än värdlösningar som inte ger ett varierat urval av program- och dataplattformsalternativ, skalningsfunktioner, säkerhetskontroller och meddelandealternativ. Molnarbetsbelastningar drar nytta av program som delas upp i mindre, decentraliserade tjänster avsiktligt. Dessa tjänster kommunicerar via API:er eller med hjälp av asynkrona meddelanden eller händelser. Program skalas vågrätt genom att lägga till nya instanser när efterfrågan ökar.

Program som använder molnets programvärdplattformar, meddelandefunktioner och decomposed-tjänster är föremål för vanliga problem för distribuerade system. I dessa system distribueras programtillståndet och åtgärder utförs parallellt och asynkront. Program måste vara motståndskraftiga när fel inträffar. Skadliga aktörer riktar kontinuerligt in sig på program. Distributioner måste vara automatiserade och förutsägbara. Övervakning och telemetri är avgörande för att få insyn i systemet.

I följande kolumner visas några vanliga egenskaper för lokal design och molndesign.

Typisk lokal design

  • Monolitiska och samlokaliserade funktioner och data
  • Utformad för förutsägbar kapacitet eller överprovisionerad
  • Relationsdatabas
  • Synkroniserad bearbetning
  • Utformad för att undvika fel och mäter genomsnittlig tid mellan fel (MTBF)
  • Resurser tillhandahålls genom IT-funktioner
  • Snowflake-servrar och husdjursservrar

Typisk molndesign

  • Indelade och distribuerade funktioner och data
  • Utformad för elastisk skalbarhet
  • Flerspråkig beständighet med hjälp av en blandning av lagringstekniker
  • Asynkron bearbetning
  • Utformad för att klara fel och mäter MTBF
  • Förberedd för fel och mäter den genomsnittliga tiden för reparation
  • Resurser tillhandahålls efter behov via infrastruktur som kod
  • Oföränderlig och utbytbar infrastruktur

Utforma program för Azure

Molnarkitekter som har expertis inom molnvärdtjänster och kan fatta strategiska kompromissbeslut bör utforma molnprogram. Azure tillhandahåller resurser som hjälper arkitekter att utveckla program och vägleda utvecklingsteam att implementera dem. För att uppnå en bra arbetsbelastning och programdesign måste arkitekterna:

Du kan använda Azure för att vara värd för och byta värd för program som inte är utformade för molnet. Du kan justera arbetsbelastningsprogram så att de använder molnfunktioner, men att byta värd för ett program som är utformat för fasta resurser och skala betraktas inte som en molnbaserad distribution.

Anpassa till organisationens molnimplementeringsstandarder

Ditt program är en del av en arbetsbelastning som sannolikt behöver uppfylla organisationens standarder och styrning. Organisationer av valfri storlek och molnmognad kan använda Cloud Adoption Framework för Azure för att formalisera sin Azure-omfattande implementeringsstrategi, beredskap, innovation, hantering, styrning och säkerhetsinitiativ. En del av den metoden är att standardisera en konsekvent metod för arbetsbelastningar, till exempel att använda Azure-landningszoner. Azure-landningszoner ger organisationsomfattande styrning och ger arbetsbelastningsteam och arkitekter demokratiserad åtkomst till resurser för att uppfylla lokaliserade affärsmål. Som arkitekt som utformar program är det viktigt att du förstår makromiljön och förväntningarna på arbetsbelastningsåtgärder, till exempel programlandningszoner.

Organisationens Azure-implementeringsstrategi bör inte påverka arkitekturstilen som du väljer, men den kan begränsa teknikval eller säkerhetsgränser.

Följ Well-Architected Framework

Du kan utvärdera alla arbetsbelastningars design och implementering med hjälp av olika objektiv. Använd Well-Architected Framework för att utvärdera och anpassa dina beslut till designprinciper i dessa fem viktiga arkitekturpelare:

Genom att följa dessa principer och utvärdera kompromisserna mellan dessa arkitekturpelare kan du skapa en design som uppfyller affärskraven och som är tillräckligt hållbar, underhållsbar, säker och kostnadsoptimerad för att köras i Azure. Dessa beslut bör ligga till grund för valet av arkitekturstil och hjälpa dig att begränsa dina teknikval eller säkerhetsgränser när de relaterar till din specifika arbetsbelastnings behov.

Ditt team eller din organisation kan ha andra designprinciper, till exempel hållbarhet och etik, som du kan använda för att utvärdera din arbetsbelastning.

Förstå typiska arkitekturformat

När du har förstått den organisationsmiljö som ditt program kommer att finnas i och grunden för en bra arkitekturdesign baserat på Well-Architected Framework, måste du bestämma vilken typ av arkitektur som ska skapas. Det kan vara en mikrotjänstarkitektur, ett mer traditionellt N-nivåprogram eller en stordatalösning. Dessa arkitekturformat är distinkta och utformade för olika resultat. När du utvärderar arkitekturformat bör du också välja datalagermodeller för att hantera tillståndshantering.

Utvärdera de olika arkitekturformaten och datalagermodellerna för att förstå de fördelar och utmaningar som varje alternativ innebär.

Arbetsbelastningar i Well-Architected Framework

Artikeln Well-Architected Framework-arbetsbelastningar beskriver olika arbetsbelastningsklassificeringar eller typer. Du hittar artiklar om verksamhetskritiska arbetsbelastningar, AI- och maskininlärningsarbetsbelastningar eller programvaru-som-en-tjänst-arbetsbelastningar. Dessa arbetsbelastningsspecifika artiklar tillämpar de fem grundpelarna i Well-Architected Framework på den specifika domänen. Om ditt program är en del av en arbetsbelastning som överensstämmer med något av dessa dokumenterade mönster kan du läsa respektive vägledning som hjälper dig att närma dig din design genom att följa en uppsättning arbetsbelastningsspecifika designprinciper och rekommendationer inom vanliga designområden som programplattform, dataplattform och nätverk. Vissa arbetsbelastningstyper kan ha nytta av att välja en specifik arkitekturstil eller datalagermodell.

Metodtips

Mer information om olika designöverväganden, inklusive API-design, automatisk skalning, datapartitionering och cachelagring finns i Metodtips i molnprogram. Granska dessa överväganden och tillämpa de metodtips som är lämpliga för ditt program.

Använd designmönster för att lösa vanliga problem och införa strategiska kompromisser

Ditt program har specifika affärskrav, mål och mått för framgång. Du bör dela upp de funktionella och icke-funktionella kraven i diskreta aktiviteter som fungerar tillsammans för att uppnå en lösning som uppfyller dina och dina kunders förväntningar. Dessa aktiviteter följer vanligtvis mönster som programvaruindustrin har upprättat. Mönster för programvarudesign är namngivna och repeterbara metoder som du kan använda för bearbetning eller datalagring. Dessa mönster har visat sig lösa specifika problem med kända kompromisser.

Azures katalog med molndesignmönster hanterar specifika utmaningar i distribuerade system.

Göra välgrundade teknikval

När du har fastställt vilken typ av arkitektur du vill skapa och de designmönster som du förväntar dig att använda kan du välja de viktigaste teknikkomponenterna för arkitekturen. Följande teknikval är viktiga:

Du kommer förmodligen att göra andra tekniska val längs vägen, men beräkning, data, meddelanden och AI är centrala för de flesta molnprogram och avgör många aspekter av din design.

Utvärdera referensarkitekturer

Azure Architecture Center innehåller artiklar om lösningsidéer, exempel på arbetsbelastningar och referensarkitekturer. De här artiklarna innehåller vanligtvis vanliga komponenter och överväganden som överensstämmer med Well-Architected Framework. Några av de här artiklarna innehåller en distributionsbar lösning som finns på GitHub. Även om det är osannolikt att något av dessa scenarier är exakt vad du skapar, är de en bra utgångspunkt. Du kan anpassa vägledningen efter dina specifika behov.

Bläddra i katalogen med arkitekturer i Azure Architecture Center.

Granska tjänstspecifika guider

När du har valt kärntekniken och konsulterat referensarkitekturerna läser du dokumentationen och vägledningen som är specifik för tjänsterna i din arkitektur. Använd följande resurser för tjänstspecifik vägledning:

  • Well-Architected Framework-tjänstguider: Well-Architected Framework innehåller artiklar om många Azure-tjänster. Artiklarna tillämpar arkitekturens fem pelare för varje tjänst.

  • Azures tillförlitlighetsguider: Azures tillförlitlighetshubb har djupgående artiklar som specifikt behandlar tillförlitlighetsegenskaperna för många Azure-tjänster. De här artiklarna dokumenterar några av de mest kritiska tillförlitlighetsämnena, till exempel stöd för tillgänglighetszoner och förväntat beteende vid olika typer av avbrott.

Kommer du från ett annat moln?

Om du är bekant med hur du utformar program i en annan molnleverantör gäller många av samma grunder. Arkitekturformat och molndesignmönster är till exempel konceptuellt molnagnostiska. Mer information finns i följande artiklar om tjänstmappning och arkitekturguide:

Nästa steg