Gids voor de toepassingsarchitectuur in AzureAzure Application Architecture Guide

Deze handleiding biedt een gestructureerde benadering voor het ontwerpen van toepassingen in Azure die schaalbaar, robuust en maximaal beschikbaar zijn.This guide presents a structured approach for designing applications on Azure that are scalable, resilient, and highly available. De handleiding is gebaseerd op bewezen praktijken die we van interactie met klanten hebben geleerd.It is based on proven practices that we have learned from customer engagements.

InleidingIntroduction

De cloud verandert de manier waarop toepassingen worden ontworpen.The cloud is changing the way applications are designed. Er worden geen monolieten gebruikt, de toepassingen worden ontleed in kleinere, gedecentraliseerde services.Instead of monoliths, applications are decomposed into smaller, decentralized services. Deze services communiceren via API's of met behulp van asynchrone berichten of gebeurtenissen.These services communicate through APIs or by using asynchronous messaging or eventing. Toepassingen schalen horizontaal. Er worden nieuwe exemplaren toegevoegd als de vraag dit vereist.Applications scale horizontally, adding new instances as demand requires.

Deze trends brengen nieuwe uitdagingen met zich mee.These trends bring new challenges. De toepassingsstatus wordt gedistribueerd.Application state is distributed. Bewerkingen worden parallel en asynchroon uitgevoerd.Operations are done in parallel and asynchronously. Het systeem als geheel moet robuust zijn wanneer er fouten optreden.The system as a whole must be resilient when failures occur. Implementaties moeten geautomatiseerd en voorspelbaar zijn.Deployments must be automated and predictable. Bewaking en telemetrie zijn essentieel om inzicht te krijgen in het systeem.Monitoring and telemetry are critical for gaining insight into the system. De handleiding Azure Application Architecture is ontworpen om u te helpen om te gaan met wijzigingen.The Azure Application Architecture Guide is designed to help you navigate these changes.

Traditionele on-premisesTraditional on-premisesModerne cloudModern cloud
Monolithisch, gecentraliseerdMonolithic, centralized
Ontwerpen voor voorspelbare schaalbaarheidDesign for predictable scalability
Relationele databaseRelational database
Veel consistentieStrong consistency
Seriële en gesynchroniseerde verwerkingSerial and synchronized processing
Ontwerpen ter voorkoming van fouten (MBTF)Design to avoid failures (MTBF)
Incidentele grote updatesOccasional big updates
Handmatig beheerManual management
Snowflake-serversSnowflake servers
Opgesplitst, gecentraliseerdDecomposed, de-centralized
Ontwerpen voor elastisch uitschalenDesign for elastic scale
Polyglot-persistentie (combinatie van opslagtechnologieën)Polyglot persistence (mix of storage technologies)
Uiteindelijke consistentieEventual consistency
Parallelle en asynchrone verwerkingParallel and asynchronous processing
Bij het ontwerpen rekening houden met fouten (MTTR)Design for failure (MTTR)
Regelmatig kleine updatesFrequent small updates
Geautomatiseerde zelfbeheerAutomated self-management
Onveranderbare infrastructuurImmutable infrastructure

Deze handleiding is bedoeld voor toepassingsarchitecten, ontwikkelaars en bewerkingsteams.This guide is intended for application architects, developers, and operations teams. Het is geen handleiding voor het gebruik van afzonderlijke Azure-services.It's not a how-to guide for using individual Azure services. Na het lezen van deze handleiding begrijpt u de architectonische patronen en best practices die u moet toepassen wanneer u toepassingen compileert op het Azure Cloud Platform.After reading this guide, you will understand the architectural patterns and best practices to apply when building on the Azure cloud platform. U kunt ook een e-bookversie van de handleiding downloaden.You can also download an e-book version of the guide.

Hoe deze handleiding is opgebouwdHow this guide is structured

De handleiding Azure Application Architecture is ingedeeld als een reeks stappen, van de architectuur en het ontwerp tot aan de implementatie.The Azure Application Architecture Guide is organized as a series of steps, from the architecture and design to implementation. Bij elke stap vindt u ondersteunende richtlijnen om u te helpen bij het ontwerpen van uw toepassingsarchitectuur.For each step, there is supporting guidance that will help you with the design of your application architecture.

ArchitectuurstijlenArchitecture styles

Het eerste beslissingspunt is het belangrijkst.The first decision point is the most fundamental. Wat voor soort architectuur wilt u maken?What kind of architecture are you building? Gaat het om een architectuur voor microservices, een traditionelere N-tier-toepassing of een oplossing voor big data.It might be a microservices architecture, a more traditional N-tier application, or a big data solution. We hebben een aantal verschillende architectuurstijlen geïdentificeerd.We have identified several distinct architecture styles. Elke stijl heeft voor- en nadelen.There are benefits and challenges to each.

Meer informatie:Learn more:

TechnologieoptiesTechnology choices

De keuze van twee technologieën moet vroeg worden gemaakt, omdat dit invloed heeft op de hele architectuur.Two technology choices should be decided early on, because they affect the entire architecture. Dit zijn de keuzes voor een compute-service en een gegevensarchief.These are the choice of compute service and data stores. Compute verwijst naar het hostingmodel voor de compute-bronnen waarmee uw toepassing wordt uitgevoerd.Compute refers to the hosting model for the computing resources that your applications runs on. Gegevensarchieven omvatten databases, maar ook opslag voor berichtenwachtrijen, caches, logboekgegevens en andere zaken die een toepassing kan opslaan.Data stores includes databases but also storage for message queues, caches, logs, and anything else that an application might persist to storage.

Meer informatie:Learn more:

OntwerpprincipesDesign principles

We hebben op het hoogste niveau tien ontwerpprincipes geïdentificeerd waarmee u uw toepassing in grotere mate schaalbaar, flexibel en beheerbaar kunt maken.We have identified ten high-level design principles that will make your application more scalable, resilient, and manageable. Deze ontwerpprincipes zijn van toepassing op alle architectuurstijlen.These design principles apply to any architecture styles. Houd tijdens het ontwerpproces rekening met deze tien basisprincipes voor ontwerpen op hoog niveau.Throughout the design process, keep these ten high-level design principles in mind. Voor specifieke aspecten van de architectuur, zoals automatische schaling, cache, partitionering van gegevens en API-ontwerp, kunt u dan de set met aanbevolen procedures volgen.Then consider the set of best practices for specific aspects of the architecture, such as auto-scaling, caching, data partitioning, API design, and others.

Meer informatie:Learn more:

KwaliteitspijlersQuality pillars

Een succesvolle cloudtoepassing richt zich op de vijf pijlers van softwarekwaliteit: Schaalbaarheid, beschikbaarheid, tolerantie, beheer en beveiliging.A successful cloud application will focus on five pillars of software quality: Scalability, availability, resiliency, management, and security. Gebruik onze controlelijsten voor ontwerpbeoordeling om uw architectuur te beoordelen op basis van deze kwaliteitspijlers.Use our design review checklists to review your architecture according to these quality pillars.