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 är anpassade till affärskrav och specifika egenskaper och tillhandahållna funktioner för molnvärdplattformen.

Att utforma program för molnarbetsbelastningar kräver inte något specifikt programformat, till exempel mikrotjänster. Molnvärdtjänster gör dock många programdesignmönster mer lättillgängliga än värdlösningar som inte erbjuder ett varierat urval av program & dataplattformsalternativ, skalningsfunktioner, säkerhetskontroller och meddelandealternativ. Därför drar molnarbetsbelastningar 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 och lägger till nya instanser efter behov.

Program som drar nytta av molnets programvärdplattformar, meddelandefunktioner och decomposed-tjänster omfattas av problem som är gemensamma för distribuerade system. Programtillståndet distribueras. Å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å insikt i systemet.

Typisk lokalbunden design

  • Monolitiska och samlokaliserade funktioner och data
  • Utformad för förutsägbar skala eller överprovisionerad
  • Relationsdatabas
  • Synkroniserad bearbetning
  • Utforma för att undvika fel (MTBF)
  • Resurser tillhandahållna genom IT-funktioner
  • Snowflake och husdjursservrar

Typisk molndesign

  • Indelade och distribuerade funktioner och data
  • Utformad för elastisk skalbarhet
  • Polyglot persistence (blandning av lagringsteknologier)
  • Asynkron bearbetning
  • Design för att motstå fel (MTBF) och design för felhantering (MTTR)
  • Resurser tillhandahålls genom infrastruktur som kod vid behov
  • Oföränderlig och utbytbar infrastruktur

Utforma program för Azure

Program måste utformas av molnarkitekter för att specifikt dra nytta av molnvärdtjänster och fatta strategiska kompromissbeslut. Azure erbjuder resurser specifikt för att hjälpa arkitekter att uppnå god design och vägleda utvecklingsteam i implementeringen. För att uppnå arbetsbelastning och programdesign måste arkitekterna:

Azure kan användas för att vara värd för och byta värd för program som inte är särskilt utformade för molnet. Arbetsbelastningsprogram kan justeras för att utnyttja molnfunktioner, men omvärdning av ett program som är utformat för fasta resurser och skala betraktas inte som molnbaserad distribution.

Anpassa till organisationens molnimplementeringsstandarder

Din ansökan är en del av en arbetsbelastning som sannolikt omfattas av organisationens standarder och riktlinjer. 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äkerhet. En del av den metoden är att standardisera med enhetliga metoder för arbetsflöden, till exempel att använda Azure-landningszoner. Azure-landningszoner erbjuder en blandning av organisationsomfattande styrning samtidigt som arbetslag och arkitekter har fri tillgång till resurser för att uppfylla lokaliserade affärsmål. Som arkitekt för att utforma program är det viktigt att du förstår makromiljön och förväntningarna som arbetsbelastningen kommer att fungera under, till exempel landningszoner för program.

Organisationens implementeringsstrategi för Azure bör inte påverka valet av arkitekturstil, men det kan begränsa teknikval eller säkerhetsgränser.

Utforma efter Azure Well-Architected Framework

Alla arbetsbelastningar kan utvärderas i sin design och implementering via olika objektiv. Azure tillhandahåller Azure Well-Architected Framework för att hjälpa en arbetsbelastningsarkitekt att utvärdera och anpassa sina beslut efter designprinciper i fem viktiga arkitekturpelare.

Generellt sett skapar följande principer och utvärdering av kompromisser mellan dessa arkitekturpelare en design som uppfyller affärskraven och är tillräckligt hållbar, underhållsbar, säker och kostnadsoptimerad för att köras i Azure. Dessa beslut bör påverka valet av arkitekturstil och sätta begränsningar för teknikval eller säkerhetsgränser när det gäller dina specifika arbetsbelastningsbehov.

Ditt team eller din organisation kan också ha andra designprinciper som din arbetsbelastning kan utvärderas från, till exempel hållbarhet och etik.

Förstå typiska arkitekturformat

När du har en förståelse för den organisationsmiljö som ditt program kommer att finnas i och du har den allmänna grunden för bra arkitekturdesign från Azure Well-Architected Framework, är vanligtvis den första beslutspunkten vilken typ arkitektur du skapar? Det kan vara en mikrotjänstarkitektur, ett mer traditionellt N-nivåprogram eller en stordatalösning. Det här är distinkta arkitekturformat som passar för skillnadsresultat. När du utvärderar arkitekturformat väljer du även datalagermodeller för att hantera tillståndshantering. Det finns fördelar och utmaningar med dessa beslut.

Utvärdera de olika arkitekturformaten och Data Store-modeller.

Arbetsbelastningar i Azure Well-Architected Framework

Well-Architected Framework har ett avsnitt som ägnas åt distinkta arbetsbelastningsklassificeringar eller typer, som kallas Azure Well-Architected Framework-arbetsbelastningar. Du hittar artiklar som beskriver verksamhetskritiska, artificiell intelligens och maskininlärning, eller SaaS(Programvara som en tjänst) arbetsbelastningar i det här avsnittet. Dessa arbetsbelastningsspecifika artiklar tar de fem grundpelarna i Well-Architected Framework och tillämpar dem 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, nätverk med mera. Vissa arbetsbelastningstyper kan ha nytta av att välja en specifik arkitekturstil eller datalagermodell.

Metodtips

Läs Metodtips i molnprogram artiklar för att lära dig mer om olika designöverväganden, till exempel API-design, automatisk skalning, datapartitionering, cachelagring och så vidare. Granska dessa 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 unika affärskrav, mål och framgångsåtgärder. En arkitekt delar upp de funktionella och icke-funktionella kraven i diskreta aktiviteter som fungerar tillsammans för att uppnå en lösning som du och dina användare är nöjda med. Dessa aktiviteter är ofta tillräckligt vanliga för att de har upprättat mönster som används i hela programvaruindustrin. Dessa mönster för programvarudesign är namngivna och repeterbara metoder som tillämpas på bearbetning eller datalagring som har visat sig lösa specifika problem med kända kompromisser.

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

Göra välinformerade teknikval

När du har fastställt vilken typ av arkitektur du skapar och de designmönster som du förväntar dig att användas kan du börja välja de viktigaste teknikdelarna för arkitekturen. Följande teknikval är viktiga:

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

Utvärdera referensarkitekturer

Azure Architecture Center är hem för lösningsidéer, exempel på arbetsbelastningar och referensarkitekturer. De här artiklarna innehåller vanligtvis en lista över vanliga komponenter och överväganden som är anpassade till Azure 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, kan de vara en bra utgångspunkt för dig att anpassa vägledningen efter dina specifika behov.

Bläddra i katalog med arkitekturer här i Azure Architecture Center.

Granska tjänstspecifika guider

När kärntekniken har valts och referensarkitekturer konsulterats är det viktigt att komma åt dokumentation och vägledning som är specifik för tjänsterna i din arkitektur. Använd följande resurser för tjänstspecifik vägledning.

  • Azure Well-Architected Framework-tjänstguider: Well-Architected Framework innehåller artiklar som täcker många av de tjänster som erbjuds i Azure, där de fem grundpelarna i arkitekturen tillämpas specifikt på den tjänsten.

    Hitta och läsa tjänstguiden för alla resurser som betraktas som en del av programdesignen.

  • Azure-tillförlitlighetsguider: Azure-tillförlitlighetshubben har djupgående artiklar som specifikt behandlar tillförlitlighetsegenskaper 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.

    Hitta och läs tillförlitlighetsguiden för alla resurser som betraktas som en del av din programdesign.

Kommer du från ett annat moln?

Om du är bekant med att utforma program i en annan molnleverantör översätts många av samma grunder. Arkitekturformat och molndesignmönster är till exempel konceptuellt molnagnostiska. Bläddra igenom relevanta artiklar om tjänstmappning och arkitekturguide.

Nästa steg