Aanbevelingen voor het selecteren van de juiste services
Is van toepassing op deze aanbeveling voor de controlelijst voor prestatie-efficiëntie van Azure Well-Architected Framework:
PE:03 | Selecteer de juiste services. De services, infrastructuur en laagselecties moeten uw vermogen ondersteunen om de prestatiedoelen van de workload te bereiken en te voldoen aan verwachte capaciteitswijzigingen. De selecties moeten ook de voordelen van het gebruik van platformfuncties of het bouwen van een aangepaste implementatie afwegen. |
---|
In deze handleiding worden de aanbevelingen beschreven voor het selecteren van de juiste services voor uw workload. De volgende aanbevelingen helpen u bij het kiezen van services die het beste voldoen aan de vereisten en vereisten van uw workload. Wanneer u services gebruikt die zijn ontworpen om de vereisten van uw workload af te handelen, kunt u ervoor zorgen dat uw workload voldoet aan uw prestatiedoelen. Als u ongepaste services voor uw workload kiest, zijn de services mogelijk niet in staat om de vereisten van uw workload te verwerken. Onvoldoende services kunnen leiden tot trage reactietijden, knelpunten of workloadfouten.
Definities
Termijn | Definitie |
---|---|
Beschikbaarheidszone | Een gescheiden groep datacenters binnen een regio. Elke beschikbaarheidszone is onafhankelijk van de andere, met een eigen energie-, koelings- en netwerkinfrastructuur. Veel regio's ondersteunen beschikbaarheidszones. |
Rekenservice | Een service die de infrastructuur biedt die u nodig hebt om een toepassing uit te voeren. |
Databaseservice | Een service die relationele en niet-relationele databases voor uw toepassing biedt. |
Infrastructuur | De fysieke onderdelen van cloud-computing en de geografische locatie van de onderdelen. |
Infrastructure as a Service (IaaS) | Een service waarbij de klant verantwoordelijk is voor het besturingssysteem, de identiteit, de toepassingen en het netwerk. |
Platform as a service (PaaS) | Een service waarbij de cloudserviceprovider verantwoordelijk is voor het besturingssysteem. De cloudserviceprovider deelt de verantwoordelijkheid met de klant voor het beheren van identiteit, toepassingen en netwerken. |
Region | Een geografische perimeter met een set datacenters. |
Resource | Eén entiteit of onderdeel dat u kunt maken, configureren en gebruiken binnen een cloudserviceprovider. |
Service | Een product of aanbieding van een cloudserviceprovider. |
Voorraadbeheereenheid (SKU) | Een servicelaag voor een Azure-service. |
Opslagservice | Een service die opslag biedt voor objecten, blokken en bestanden. |
Belangrijke ontwerpstrategieën
De services die u kiest, moeten zijn afgestemd op de prestatiedoelen van uw workload en kunnen worden aangepast aan toekomstige capaciteitsbehoeften. Naarmate de workload uitbreidt of zich ontwikkelt, moeten de services die u gebruikt, overeenkomen met uw prestatiestandaarden zonder dat er grote aanpassingen nodig zijn. Houd rekening met de balans tussen platformfuncties en aangepaste implementaties. Platformfuncties bieden onmiddellijke oplossingen, maar aangepaste opties bieden nauwkeurige afstemming. Uw serviceselecties moeten zowel vooruitdenkend zijn als afgestemd op uw specifieke behoeften, rekening houdend met de afwegingen tussen gemak en maatwerk.
Informatie over workloadvereisten
Inzicht in workloadvereisten verwijst naar het begrijpen van de technische en functionele vereisten van een workload. Deze analyse helpt bij het bepalen van de resources, opslag, rekenkracht, netwerk en andere specificaties die nodig zijn om de workload uit te voeren. Door services af te stemmen op de specifieke behoeften van een workload, kunt u overprovisioning of te weinig gebruik van resources voorkomen.
Evalueer de behoeften en kenmerken van uw workload om de vereisten te bepalen en stem uw workloadvereisten af op uw prestatiedoelen voor elke laag. U moet rekening houden met beperkingen of afhankelijkheden. Wanneer u inzicht hebt in uw workloadvereisten, kunt u weloverwogen beslissingen nemen. U kunt de juiste infrastructuur bepalen en strategieën implementeren om piekbelastingen of variaties in de vraag af te handelen.
Voldoen aan de prestatiedoelen. Selecteer services waarmee u kunt voldoen aan de prestatiedoelen voor uw workload. Zorg ervoor dat een service de prestatiebehoeften kan ondersteunen en dat u de prestaties ervan kunt bewaken. Prestatiegegevens verzamelen voor kritieke onderdelen.
Houd rekening met organisatiebeperkingen. Wees bekend met beperkingen die uw organisatie kan hebben voor services die u implementeert. Houd rekening met deze beperkingen wanneer u uw oplossing ontwerpt.
Houd rekening met nalevings- en beveiligingsvereisten. Nalevings- en beveiligingsvereisten kunnen van invloed zijn op services en configuraties die u selecteert. Zorg ervoor dat een service die u kiest, voldoet aan de vereisten die betrekking hebben op opslag, versleuteling, toegangsbeheer, auditlogboeken en gegevenslocaties.
Denk na over teamvaardigheden. Uw team bouwt en onderhoudt workloads. Voor verschillende services zijn verschillende vaardigheden vereist. Kies services die uw team weet te gebruiken of zorg ervoor dat u ze traint voordat u een service kiest. Zorg ervoor dat teamleden over de expertise en kennis beschikken om services effectief te gebruiken en hun prestaties te optimaliseren.
Compromis: Gespecialiseerde services bieden specifieke functionaliteiten, maar kunnen de aanpassing beperken. Flexibele resources vereisen meer beheer en configuratie in vergelijking met gespecialiseerde services. Beheerde services bieden eenvoudig beheer, maar mogelijk hebt u minder controle over de onderliggende infrastructuur in vergelijking met zelfbeheerde resources.
Inzicht in services
Het begrijpen van services gaat over het kennen van de mogelijkheden, limieten en functionaliteiten van de hulpprogramma's en aanbiedingen van een leverancier. Een goed begrip van services helpt u bij het gebruik van ingebouwde functies, waardoor de behoefte aan complexe aangepaste oplossingen wordt verminderd en de prestatie-efficiëntie wordt verbeterd.
Houd rekening met verschillende factoren en krijg een uitgebreid inzicht in een service voordat u deze kiest. Services en hulpprogramma's onderzoeken en beoordelen die de provider aanbiedt. Bepaal welke services en hulpprogramma's het beste aansluiten bij uw workloadvereisten. Houd rekening met factoren zoals beheerde services, serverloze opties en gespecialiseerde services.
Servicelimieten begrijpen
Servicelimieten zijn de vooraf gedefinieerde drempelwaarden of grenzen die serviceproviders instellen. Servicelimieten bepalen het maximale gebruik van resources of mogelijkheden binnen die service. Wanneer u bekend bent met servicelimieten, kunt u problemen voorkomen zoals resourceconflicten, prestatievermindering of onverwachte serviceonderbrekingen. U kunt de infrastructuur op de juiste manier plannen en schalen. Uw planning houdt rekening met factoren zoals gegevensvolume, verwerkingscapaciteit en vereisten voor gegevenslocatie.
Voorkeur voor platformfuncties
De voorkeur geven aan platformfuncties gaat over het gebruik van ingebouwde functionaliteiten van een provider om specifieke taken zonder aangepaste code af te handelen. Leveranciers ontwerpen platformfuncties om specifieke taken efficiënt op schaal af te handelen en ze onderhouden deze functies regelmatig. Met platformfuncties kunt u beter profiteren van de mogelijkheden van de cloudinfrastructuur. Kies services waarmee u functionaliteit naar het platform kunt offloaden in plaats van uw eigen aangepaste code te schrijven en te onderhouden. In veel gevallen bieden PaaS-oplossingen (Platform as a Service) betere prestaties dan aangepaste code. Aangepaste code voegt complexiteit toe en maakt de workload gevoelig voor prestatieproblemen. Ontwikkel alleen aangepaste code als de servicefuncties niet voldoende zijn.
Afweging: De beste service voor uw workload is misschien een technologie die uw team niet goed onderlegd is, die zich niet kan veroorloven of waarvoor extra beveiligingslagen nodig zijn. Een openbare load balancer kan bijvoorbeeld voldoen aan uw prestatiebehoeften. Maar als u geen webtoepassingsfirewall hebt, moet u mogelijk een firewall implementeren om de werkbelasting te beveiligen.
Infrastructuurvereisten evalueren
De efficiëntie van de prestaties van resources is gekoppeld aan de infrastructuur waarin ze zich bevinden. Het maakt de selectie van de juiste infrastructuur essentieel voor de efficiëntie van de serviceprestaties. Het evalueren van de infrastructuurvereisten betekent dat u de geografische regio en beschikbaarheidszones moet identificeren die het meest geschikt zijn om uw workload te ondersteunen. Belangrijke overwegingen bij deze besluitvorming zijn onder andere:
Inzicht in regio's en beschikbaarheidszones. Elke regio komt overeen met een afzonderlijke geografische locatie. Beschikbaarheidszones vertegenwoordigen afzonderlijke fysieke datacenters binnen een bepaalde regio.
Implementatiemodel voor één regio versus meerdere regio's. Een implementatiemodel met één regio implementeert alle resources in één regio. Een implementatiemodel met meerdere regio's implementeert resources in meerdere regio's. Een implementatie met meerdere regio's kan latentie voor eindgebruikers verminderen en capaciteitsbeperkingen beperken. Het kan echter ook de kosten en complexiteit van de workload verhogen. Kies het implementatiemodel dat het beste past bij uw workloadbehoeften.
Beschikbare functies begrijpen. Verschillende regio's hebben verschillende beschikbare functies, zoals het aantal services en beschikbaarheidszones. Krijg inzicht in de functies die beschikbaar zijn in een regio voordat u deze selecteert. Zorg ervoor dat een regio voldoet aan de prestatiebehoeften van uw workload.
Houd rekening met latentie. Latentie, de tijd die gegevens nodig hebben om van de bron naar de bestemming te reizen, neemt toe hoe meer services van elkaar zijn. Services die communiceren tussen regio's of beschikbaarheidszones kunnen te maken krijgen met een verhoogde latentie. Het wordt aanbevolen om services te identificeren die vaak communiceren en deze binnen dezelfde regio te plaatsen. Bovendien kan het selecteren van een regio die zich aan uw primaire gebruikersbasis bevindt de latentie minimaliseren, wat een betere gebruikerservaring biedt.
Inzicht in datacentrumtoewijzing. Beschikbaarheidszones worden mogelijk niet consistent toegewezen aan dezelfde datacenters in verschillende abonnementen. Zone 1 in Abonnement A kan bijvoorbeeld afwijken van Zone 1 in Abonnement B. Wanneer u met meerdere abonnementen werkt, moet u deze toewijzingen kennen om zones te selecteren die de prestaties optimaal verbeteren.
Netwerkvereisten evalueren
Evalueer de behoeften van uw netwerk om de juiste workloadservices en configuraties te bepalen. Zorg ervoor dat het netwerk uw workload kan ondersteunen. Als u de netwerkvereisten wilt evalueren, kunt u het volgende overwegen:
Netwerkverkeer begrijpen. Evalueer het verwachte netwerkverkeer voor de workload. Inzicht in de behoeften voor gegevensoverdracht en de frequentie van netwerkaanvragen.
Inzicht in bandbreedtevereisten. Bepaal de bandbreedtevereisten voor de workload. Houd rekening met de hoeveelheid gegevens die via het netwerk worden verzonden en ontvangen.
Netwerklatentie begrijpen. Evalueer de gewenste latentie voor de workload. Gebruik virtuele particuliere netwerken en backbone-netwerken in plaats van het openbare internet te doorlopen. Deze techniek vermindert de latentie van de workload.
Inzicht in doorvoer. Houd rekening met de vereiste doorvoer voor de workload. Doorvoer verwijst naar de hoeveelheid gegevens die in een bepaalde tijd via een netwerk kan worden verzonden. Configureer de opties voor netwerkroutering om te profiteren van de voordelen van netwerkdoorvoer.
Compromis: privé virtueel netwerken beperkt de openbare toegang en maakt het moeilijk om resources te implementeren en te beheren.
Rekenvereisten evalueren
Het evalueren van de rekenvereisten omvat het beoordelen van de specifieke rekenbehoeften van een workload, inclusief factoren zoals exemplaartype, schaalbaarheid en containerisatie. Verschillende rekenservices hebben verschillende mogelijkheden en kenmerken die van invloed kunnen zijn op de prestaties van uw workload. Selecteer de optimale rekenservice om ervoor te zorgen dat uw workload efficiënt wordt uitgevoerd. Overweeg de volgende strategieën:
Inzicht in exemplaartypen. Verschillende exemplaartypen zijn geoptimaliseerd voor verschillende workloads, zoals voor CPU geoptimaliseerde, geoptimaliseerde geheugen- en GPU-exemplaren. Kies het exemplaartype dat overeenkomt met uw behoeften.
Overweeg automatische schaalaanpassing. Als uw workload een variabele vraag heeft, kunt u een rekenservice overwegen met een functie voor automatisch schalen waarmee de rekencapaciteit automatisch kan worden aangepast op basis van de vraag. Automatisch schalen zorgt ervoor dat u voldoende resources hebt tijdens piekmomenten en voorkomt overprovisioning tijdens perioden met een lage vraag.
Overweeg containerisatie. Containers bieden prestatievoordelen ten opzichte van een niet-gecontaineriseerde workload. Overweeg het gebruik van containerisatie als dit past bij uw architecturale behoeften. Containers verbeteren de rekenprestaties door isolatie, resource-efficiëntie, snelle opstarttijd en draagbaarheid.
Wanneer u containers gebruikt, moet u rekening houden met ontwerpfactoren zoals het in containers plaatsen van alle toepassingsonderdelen. Gebruik op Linux gebaseerde containerruntimes voor lichtgewicht installatiekopieën. Geef containers korte levenscyclussen om ze onveranderbaar en vervangbaar te maken. Relevante logboeken en metrische gegevens verzamelen van containers, containerhosts en het onderliggende cluster. Gebruik deze gegevens om de prestaties te bewaken en te analyseren. Containers zijn slechts één onderdeel van een algemene architectuur. Kies een geschikte containerorchestrator, zoals Kubernetes, om de prestaties en schaalbaarheid verder te verbeteren.
Voordeel van container Description Isolatie Containers bieden geïsoleerde omgevingen voor toepassingen. Containers zorgen ervoor dat toepassingsresources elkaar niet verstoren. Deze isolatie zorgt ervoor dat rekenresources die zijn toegewezen aan een container, worden toegewezen aan het uitvoeren van een specifieke toepassing, wat resulteert in betere prestaties. Resource-efficiëntie Containers zijn lichtgewicht en delen de kernel van het hostbesturingssysteem, waardoor efficiënt resourcegebruik mogelijk is. Meerdere containers kunnen worden uitgevoerd op dezelfde gevirtualiseerde infrastructuur, waardoor het gebruik van rekenresources wordt gemaximaliseerd. Snelle opstarttijd Containerinstallatiekopieën zijn vooraf gebouwd en worden snel gestart wanneer dat nodig is. Deze snelle opstarttijd maakt snelle schaalbaarheid mogelijk. Hiermee kunnen toepassingen omhoog of omlaag schalen op basis van de vraag en knelpunten in de prestaties voorkomen. Draagbaarheid Containers bevatten alle vereiste afhankelijkheden en bibliotheken in de installatiekopie. Met containers is het eenvoudiger om toepassingen te verplaatsen tussen verschillende besturingssystemen of omgevingen. Deze draagbaarheid biedt flexibiliteit bij het implementeren van toepassingen en maakt eenvoudige migratie tussen cloudproviders of on-premises omgevingen mogelijk. Kies de juiste laag. Binnen elke rekenservice kunt u de rekencapaciteit instellen, functies selecteren en mogelijkheden inschakelen. Kies op basis van uw prestatiedoelen de juiste servicelaag voor uw rekenservice.
Bepaal het aantal exemplaren. Bepaal het minimale aantal exemplaren dat uw workload vereist. Voor sommige workloads, zelfs bij minimale belasting, is mogelijk meer dan één exemplaar van een rekenresource vereist. Stel het minimale aantal exemplaren dienovereenkomstig in.
Taakverdelingsvereisten evalueren
Taakverdeling zorgt ervoor dat netwerkverkeer gelijkmatig wordt verdeeld en voorkomt dat één server wordt overspoeld met aanvragen. Taakverdeling helpt knelpunten te voorkomen en de reactietijden te verkorten. Evalueer de verschillende taakverdelingsservices die uw cloudprovider aanbiedt. Raadpleeg de documentatie en vergelijkingshulpprogramma's van de cloudprovider voor meer informatie over de functies. Selecteer de meest geschikte service voor uw workload. Als u een taakverdelingsservice wilt selecteren, kunt u het volgende overwegen:
Inzicht in het verkeerstype: bepaal of de taakverdelingsservice webverkeer moet verwerken, zoals HTTP en HTTPS, of andere protocollen, zoals Tcp (Transmission Control Protocol) of User Datagram Protocol (UDP).
Algemene of regionale routering kennen: bepaal of voor uw workload taakverdeling binnen een specifieke regio of tussen meerdere regio's is vereist.
Kennis van serviceniveaudoelstellingen (SLO's): houd rekening met de Service Level Agreement (SLA). Verschillende taakverdelingsservices bieden verschillende prestatieniveaus.
Functies begrijpen: Overweeg taakverdelingsservices die siteversnelling, optimale verkeersdistributie en laag-4-taakverdeling met lage latentie bieden.
Vereisten voor gegevensopslag evalueren
Bij het evalueren van de vereisten voor gegevensopslag gaat het om het beoordelen van de specifieke behoeften en voorwaarden voor het opslaan, ophalen en beheren van gegevens. Bij deze evaluatie wordt rekening gehouden met factoren als gegevensvolume, toegangssnelheid, consistentie en duurzaamheid. Voor een workload zijn mogelijk meerdere typen gegevensarchieven vereist op basis van verschillende zakelijke en technische vereisten. Het identificeren van de juiste gegevensopslagservices en de juiste implementatie helpt knelpunten te voorkomen en zorgt voor snelle toegang tot gegevens.
Databasevereisten evalueren
De database kan van invloed zijn op factoren zoals gegevensopslag en ophalen, transactieverwerking, consistentiegaranties en verwerking van grote of snel veranderende gegevens. Beoordeel de behoeften en criteria voor uw database. Selecteer een databasesysteem dat aan deze vereisten kan voldoen. Evalueer de databasevereisten voordat u een database kiest. Voer de volgende stappen uit om de databasevereisten te evalueren en de juiste database te kiezen:
Identificeer de behoeften van de workload. Inzicht in de specifieke vereisten van uw workload, zoals het gegevensvolume, verwachte transactiesnelheden, gelijktijdigheid, gegevenstypen en verwachte groei. Evalueer verschillende databasesystemen op basis van uw workloadbehoeften. Als uw workload bijvoorbeeld hoogwaardige realtime gegevensverwerking vereist, kunt u kiezen voor een databasesysteem dat is geoptimaliseerd voor snelle gegevensopname en lage latentie.
Overweeg het gegevensmodel. Bepaal het gegevensmodel dat het beste bij uw workload past. Evalueer de databasevereisten om ervoor te zorgen dat de gekozen database de vereiste gegevensstructuren, relaties en integriteitsbeperkingen ondersteunt. Als uw gegevens bijvoorbeeld een zeer relationele structuur hebben, kunt u kiezen voor een relationeel databasebeheersysteem (RDBMS) dat robuuste ondersteuning biedt voor transacties en referentiële integriteit. Het gegevensmodel kan hiërarchisch, netwerk, relationeel, objectgeoriënteerd of NoSQL zijn. Evalueer de complexiteit van uw gegevensmodel. Zorg ervoor dat de gekozen database de vereiste gegevensstructuren en relaties ondersteunt.
Evalueer de mogelijkheden. Houd rekening met factoren zoals lees-/schrijfpatronen, querycomplexiteit, latentievereisten en schaalbaarheidsbehoeften. Evalueer de prestatiemogelijkheden van verschillende databasesystemen dienovereenkomstig. Sommige databases blinken uit in leesintensieve werkbelastingen, terwijl andere zijn geoptimaliseerd voor schrijfintensieve of analytische workloads.
Beoordeel de belasting. Houd rekening met factoren zoals gegevensvolume, transactiesnelheden, lees-/schrijfverhoudingen en verwachte groei. Kies een database die de verwachte workload kan verwerken om een soepele werking te garanderen en prestatieknelpunten te voorkomen wanneer uw workload wordt geschaald. Houd rekening met de schaalbaarheidsvereisten van uw workload. Deze vereisten omvatten verwachte gegevensgroei, gelijktijdige gebruikerstoegang en de noodzaak van horizontaal of verticaal schalen. Evalueer de schaalbaarheidsopties en beschikbaarheidsfuncties die verschillende databasesystemen bieden.
Opslagvereisten evalueren
Kies opslagservices die zijn afgestemd op uw gegevenstoegangspatronen, duurzaamheidsvereisten en prestatiebehoeften. De meeste cloudworkloads maken gebruik van een combinatie van opslagtechnologieën. Deze techniek staat bekend als de polyglot persistence-benadering. Bepaal de juiste combinatie van opslagservices voor uw workload. Mogelijk wilt u ook gegevens scheiden om besmetting te voorkomen. U kunt bijvoorbeeld afzonderlijke opslagaccounts hebben voor het bewaken van gegevens en bedrijfsgegevens. Het kiezen van de juiste mix en de juiste implementatie is belangrijk voor het optimaliseren van de prestaties van toepassingen.
Cachevereisten evalueren
In een cache worden vaak gebruikte gegevens opgeslagen. Caching vermindert de latentie van gegevenstoegang en verlaagt de belasting van onderdelen voor gegevensopslag. Hiermee kan de workload meer aanvragen verwerken zonder te schalen. Het is gebruikelijk om workloadgegevens en statische inhoud in de cache op te cachen. Een Redis-cache kan sessiegegevens, databaseresultaten, API-antwoorden en referentiegegevens opslaan, zoals configuratie-instellingen. Een netwerk voor contentlevering of statische web-app kan statische inhoud in de cache opslaan en leveren. Overweeg om gegevens in de cache op te slaan om de prestaties van uw workload te verbeteren. Kies de juiste cacheoptie voor uw workload en geef de voorkeur aan de platformcachingservices, zoals Azure Redis Cache, boven aangepaste of zelf-hostende services.
Azure-facilitering
Vereisten begrijpen: Gebruik Azure Monitor om gegevens van uw workload te verzamelen en te analyseren. Monitor biedt inzicht in de prestaties en status van uw workloads, zodat u problemen kunt identificeren en oplossen.
Inzicht in en evaluatie van services: Bekijk Azure-services en -producten om te bepalen of ze voldoen aan uw prestatievereisten. Azure biedt verschillende services die hetzelfde resultaat bereiken. U hebt de flexibiliteit om uw keuze van service af te stemmen op uw prestatiebehoeften, teamvaardigheden en kostenvereisten.
Zie Azure-abonnements- en servicelimieten, quota en beperkingen voor een lijst met de meest voorkomende Azure-limieten.
Het voorbeeld Querylimieten en quota laat zien hoe u query's uitvoert op de limieten en quota voor veelgebruikte resources.
Azure heeft veel services die geschikt zijn voor elke workload. Bekijk de selectierichtlijnen voor elk servicetype om u te helpen uw selectie te stroomlijnen op basis van uw vereisten. Zie de volgende handleidingen om te kiezen:
- Een regio
- Rekenservices
- Containerservices
- Services voor gegevensopslag
- Taakverdelingsservices
- Opslagservices
Verwante koppelingen
- Azure-regio's met ondersteuning voor beschikbaarheidszones
- Aanbevelingen voor het definiëren van prestatiedoelen
- Aanbevelingen voor het gebruik van beschikbaarheidszones en -regio's
- Wat zijn beschikbaarheidszones?
- Azure-regio's selecteren
Controlelijst voor efficiëntie van prestaties
Raadpleeg de volledige set aanbevelingen.