Beoordeling van Azure Well-Architected Framework - Azure Service Fabric
Azure Service Fabric is een platform voor gedistribueerde systemen waarmee u schaalbare en betrouwbare microservices en containers eenvoudig kunt verpakken, implementeren en beheren. Deze resources worden geïmplementeerd op een met het netwerk verbonden set virtuele of fysieke machines, die een cluster wordt genoemd.
Er zijn twee clustermodellen in Azure Service Fabric: standaardclusters en beheerde clusters.
Voor standaardclusters moet u een clusterresource definiëren naast een aantal ondersteunende resources. Deze resources moeten correct worden ingesteld bij de implementatie en correct worden onderhouden gedurende de levenscyclus van het cluster. Anders werken het cluster en uw services niet goed.
Beheerde clusters vereenvoudigen uw implementatie- en beheerbewerkingen. Het beheerde clustermodel bestaat uit één beheerde Service Fabric-clusterresource die de onderliggende resources inkapselt en abstraheert.
In dit artikel wordt voornamelijk het beheerde clustermodel besproken om het eenvoudig te maken. Bijschriften worden echter gemaakt voor eventuele speciale overwegingen die van toepassing zijn op het standaardclustermodel .
In dit artikel leert u de best practices voor architectuur voor Azure Service Fabric. De richtlijnen zijn gebaseerd op de vijf pijlers van architecturale uitmuntendheid:
- Betrouwbaarheid
- Beveiliging
- Kostenoptimalisatie
- Operationele uitmuntendheid
- Prestatie-efficiëntie
Vereisten
Als u de goed ontworpen frameworkpijlers begrijpt, kunt u een hoogwaardige, stabiele en efficiënte cloudarchitectuur produceren. Bekijk de overzichtspagina van Azure Well-Architected Framework om de vijf pijlers van architecturale uitmuntendheid te bekijken.
Door de kernconcepten van Azure Service Fabric en microservicearchitectuur te bekijken, krijgt u inzicht in de context van de aanbevolen procedures in dit artikel.
Betrouwbaarheid
In de volgende secties worden ontwerpoverwegingen en configuratieaanbevelingen beschreven, specifiek voor Azure Service Fabric en betrouwbaarheid.
Bij het bespreken van betrouwbaarheid met Azure Service Fabric is het belangrijk om onderscheid te maken tussen de betrouwbaarheid van clusters en de betrouwbaarheid van workloads. De betrouwbaarheid van clusters is een gedeelde verantwoordelijkheid tussen de Service Fabric-clusterbeheerder en de resourceprovider, terwijl de betrouwbaarheid van de werkbelasting het domein van een ontwikkelaar is. Azure Service Fabric bevat overwegingen en aanbevelingen voor beide rollen.
In de onderstaande ontwerpcontrolelijst en lijst met aanbevelingen worden bijschriften gedaan om aan te geven of elke keuze van toepassing is op clusterarchitectuur, workloadarchitectuur of beide.
Raadpleeg de documentatie over capaciteitsplanning voor meer informatie over de betrouwbaarheid van Azure Service Fabric-clusters.
Raadpleeg het subsysteem Betrouwbaarheid van Azure Service Fabric in de Service Fabric-architectuur voor meer informatie over de betrouwbaarheid van de Azure Service Fabric-workload.
Controlelijst voor ontwerp
Wanneer u ontwerpkeuzen maakt voor Azure Service Fabric, bekijkt u de ontwerpprincipes voor het toevoegen van betrouwbaarheid aan de architectuur.
- Clusterarchitectuur: Gebruik standard-SKU voor productiescenario's. Standaardcluster: gebruik silver (5 VM's) of hoger op duurzaamheidsniveau voor productiescenario's.
- Clusterarchitectuur: Overweeg het gebruik van Beschikbaarheidszones voor uw Service Fabric-clusters voor kritieke workloads.
- Clusterarchitectuur: Voor productiescenario's gebruikt u de load balancer van de Standard-laag. Beheerde clusters maken een openbare Load Balancer van Azure en een volledig gekwalificeerde domeinnaam met een statisch openbaar IP-adres voor zowel de primaire als de secundaire knooppunttypen. U kunt ook uw eigen load balancer gebruiken, die zowel Basic- als Standard-SKU-load balancers ondersteunt.
- Clusterarchitectuur: maak extra secundaire knooppunttypen voor uw workloads.
Aanbevelingen
Bekijk de volgende tabel met aanbevelingen voor het optimaliseren van uw Azure Service Fabric-configuratie voor servicebetrouwbaarheid:
Aanbeveling voor Azure Service Fabric | Voordeel |
---|---|
Clusterarchitectuur: Gebruik standard-SKU voor productiescenario's. | Dit niveau zorgt ervoor dat de resourceprovider de clusterbetrouwbaarheid behoudt. Standaardcluster: Een beheerd standard-SKU-cluster biedt het equivalent van duurzaamheidsniveau Silver. Als u dit wilt bereiken met behulp van het standaardclustermodel, moet u vijf VM's (of meer) gebruiken. |
Clusterarchitectuur: Overweeg het gebruik van Beschikbaarheidszones voor uw Service Fabric-clusters. | Het beheerde Service Fabric-cluster ondersteunt implementaties die meerdere Beschikbaarheidszones omvatten om zonetolerantie te bieden. Deze configuratie zorgt voor hoge beschikbaarheid van de kritieke systeemservices en uw toepassingen om te beschermen tegen single points-of-failure. |
Clusterarchitectuur: Overweeg om Azure API Management te gebruiken voor het beschikbaar maken en offloaden van cross-cutting-functionaliteit voor API's die worden gehost op het cluster. | API Management kan rechtstreeks integreren met Service Fabric. |
Workloadarchitectuur: Voor stateful workloadscenario's kunt u Reliable Services gebruiken. | Met het Reliable Services-model kunnen uw services op de hoogte blijven, zelfs in onbetrouwbare omgevingen waarin uw machines mislukken of netwerkproblemen raken, of in gevallen waarin de services zelf fouten tegenkomen en vastlopen of mislukken. Voor stateful services blijft uw status behouden, zelfs in aanwezigheid van netwerk- of andere fouten. |
Zie Principes van de betrouwbaarheidspijler voor meer suggesties.
Beveiliging
In de volgende secties worden ontwerpoverwegingen en configuratieaanbevelingen beschreven, specifiek voor Azure Service Fabric en beveiliging.
Bij het bespreken van beveiliging met Azure Service Fabric is het belangrijk om onderscheid te maken tussen clusterbeveiliging en workloadbeveiliging. Clusterbeveiliging is een gedeelde verantwoordelijkheid tussen de Service Fabric-clusterbeheerder en de resourceprovider, terwijl workloadbeveiliging het domein van een ontwikkelaar is. Azure Service Fabric bevat overwegingen en aanbevelingen voor beide rollen.
In de onderstaande ontwerpcontrolelijst en lijst met aanbevelingen worden bijschriften gedaan om aan te geven of elke keuze van toepassing is op clusterarchitectuur, workloadarchitectuur of beide.
Raadpleeg de beveiligingsscenario's voor Service Fabric-clusters voor meer informatie over de beveiliging van Azure Service Fabric-clusters.
Raadpleeg de Service Fabric-toepassing en servicebeveiliging voor meer informatie over azure Service Fabric-workloadbeveiliging.
Controlelijst voor ontwerp
Wanneer u ontwerpkeuzen maakt voor Azure Service Fabric, bekijkt u de ontwerpprincipes voor het toevoegen van beveiliging aan de architectuur.
- Clusterarchitectuur: Zorg ervoor dat netwerkbeveiligingsgroepen (NSG) zijn geconfigureerd om de verkeersstroom tussen subnetten en knooppunttypen te beperken. Zorg ervoor dat de juiste poorten worden geopend voor de implementatie van toepassingen en workloads.
- Clusterarchitectuur: Wanneer u de Service Fabric Secret Store gebruikt om geheimen te distribueren, gebruikt u een afzonderlijk certificaat voor gegevenscodering om de waarden te versleutelen.
- Clusterarchitectuur: Clientcertificaten implementeren door ze toe te voegen aan Azure Key Vault en te verwijzen naar de URI in uw implementatie.
- Clusterarchitectuur: Schakel Microsoft Entra-integratie voor uw cluster in om ervoor te zorgen dat gebruikers toegang hebben tot Service Fabric Explorer met behulp van hun Microsoft Entra-referenties. Distribueer de clusterclientcertificaten niet tussen gebruikers om toegang te krijgen tot Explorer.
- Clusterarchitectuur: gebruik voor clientverificatie beheerders- en alleen-lezen clientcertificaten en/of Microsoft Entra-verificatie.
- Cluster- en workloadarchitecturen: maak een proces voor het bewaken van de vervaldatum van clientcertificaten.
- Cluster- en workloadarchitecturen: beheer afzonderlijke clusters voor ontwikkeling, fasering en productie.
Aanbevelingen
Bekijk de volgende aanbevelingen om uw Azure Service Fabric-configuratie voor beveiliging te optimaliseren:
Aanbeveling voor Azure Service Fabric | Voordeel |
---|---|
Clusterarchitectuur: Zorg ervoor dat netwerkbeveiligingsgroepen (NSG) zijn geconfigureerd om de verkeersstroom tussen subnetten en knooppunttypen te beperken. | U hebt bijvoorbeeld een API Management-exemplaar (één subnet), een front-endsubnet (rechtstreeks een website beschikbaar maken) en een back-endsubnet (alleen toegankelijk voor front-end). |
Clusterarchitectuur: Key Vault-certificaten implementeren in virtuele-machineschaalsets van het Service Fabric-cluster. | Door de opslag van toepassingsgeheimen te centraliseren in Azure Key Vault kunt u de verdeling ervan bepalen. Key Vault vermindert de kans dat geheimen per ongeluk worden gelekt aanzienlijk. |
Clusterarchitectuur: Pas een ACL (Access Control List) toe op uw clientcertificaat voor uw Service Fabric-cluster. | Het gebruik van een ACL biedt een extra verificatieniveau. |
Clusterarchitectuur: gebruik resourceaanvragen en -limieten om het resourcegebruik te beheren tussen de knooppunten in uw cluster. | Door resourcelimieten af te dwingen, zorgt u ervoor dat één service niet te veel resources verbruikt en andere services verhongert. |
Workloadarchitectuur: Geheime waarden voor Service Fabric-pakketten versleutelen. | Versleuteling op uw geheime waarden biedt een extra beveiligingsniveau. |
Workloadarchitectuur: neem clientcertificaten op in Service Fabric-toepassingen. | Als uw toepassingen clientcertificaten gebruiken voor verificatie, biedt u mogelijkheden voor beveiliging op cluster- en workloadniveau. |
Workloadarchitectuur: Service Fabric-toepassingen verifiëren bij Azure-resources met behulp van beheerde identiteit. | Met beheerde identiteit kunt u de referenties in uw code veilig beheren voor verificatie bij verschillende services zonder ze lokaal op te slaan op een ontwikkelaarswerkstation of in broncodebeheer. |
Cluster- en workloadarchitecturen: volg best practices voor Service Fabric bij het hosten van niet-vertrouwde toepassingen. | Het volgen van de aanbevolen procedures biedt een beveiligingsstandaard die u kunt volgen. |
Zie Principes van de beveiligingspijler voor meer suggesties.
Met Azure Advisor kunt u de beveiliging van Azure Service Fabric garanderen en verbeteren. U kunt de aanbevelingen bekijken in de sectie Azure Advisor van dit artikel.
Beleidsdefinities
Azure Policy helpt bij het onderhouden van organisatiestandaarden en het beoordelen van de naleving van uw resources. Houd rekening met het volgende ingebouwde beleid wanneer u Azure Service Fabric configureert:
- Voor Service Fabric-clusters moet de eigenschap ClusterProtectionLevel zijn ingesteld op
EncryptAndSign
. Dit is de standaardwaarde voor beheerde clusters en kan niet worden gewijzigd. Standaardcluster: Zorg ervoor dat u ClusterProtectionLevel instelt opEncryptAndSign
. - Service Fabric-clusters mogen alleen Microsoft Entra-id gebruiken voor clientverificatie.
Alle ingebouwde beleidsdefinities met betrekking tot Azure Service Fabric worden vermeld in ingebouwd beleid - Service Fabric.
Kostenoptimalisatie
In de volgende secties worden ontwerpoverwegingen en configuratieaanbevelingen beschreven, specifiek voor Azure Service Fabric en kostenoptimalisatie.
Bij het bespreken van kostenoptimalisatie met Azure Service Fabric is het belangrijk om onderscheid te maken tussen de kosten van clusterresources en de kosten van workloadresources. Clusterresources zijn een gedeelde verantwoordelijkheid tussen de Service Fabric-clusterbeheerder en de resourceprovider, terwijl workloadresources het domein van een ontwikkelaar zijn. Azure Service Fabric bevat overwegingen en aanbevelingen voor beide rollen.
In de onderstaande ontwerpcontrolelijst en lijst met aanbevelingen worden bijschriften gedaan om aan te geven of elke keuze van toepassing is op clusterarchitectuur, workloadarchitectuur of beide.
Voor optimalisatie van clusterkosten gaat u naar de Azure-prijscalculator en selecteert u Azure Service Fabric uit de beschikbare producten. U kunt verschillende configuratie- en betalingsplannen testen in de rekenmachine.
Bekijk het voorbeeld van het kostenberekeningsproces voor toepassingsplanning voor meer informatie over de prijzen van Azure Service Fabric-workloads.
Controlelijst voor ontwerp
Wanneer u ontwerpkeuzen maakt voor Azure Service Fabric, bekijkt u de ontwerpprincipes voor het optimaliseren van de kosten van uw architectuur.
- Clusterarchitectuur: selecteer de juiste VM-SKU.
- Clusterarchitectuur: gebruik het juiste knooppunttype en de juiste grootte.
- Cluster- en workloadarchitecturen: gebruik de juiste beheerde schijflaag en -grootte.
Aanbevelingen
Bekijk de volgende tabel met aanbevelingen voor het optimaliseren van uw Azure Service Fabric-configuratie voor kosten:
Aanbeveling voor Azure Service Fabric | Voordeel |
---|---|
Clusterarchitectuur: Vermijd VM-SKU's met tijdelijke schijfaanbiedingen. | Service Fabric maakt standaard gebruik van beheerde schijven, dus het vermijden van tijdelijke schijfaanbiedingen zorgt ervoor dat u niet betaalt voor overbodige resources. |
Clusterarchitectuur: Als u om capaciteitsredenen een bepaalde VM-SKU moet selecteren en deze tijdelijke schijf aanbiedt, kunt u overwegen om tijdelijke schijfondersteuning te gebruiken voor uw staatloze workloads. | Maak optimaal gebruik van de resources waarvoor u betaalt. Als u een tijdelijke schijf gebruikt in plaats van een beheerde schijf, kunt u de kosten voor stateless workloads verlagen. |
Cluster- en workloadarchitecturen: SKU-selectie en beheerde schijfgrootte afstemmen op workloadvereisten. | Door uw selectie aan uw workloadvereisten te koppelen, betaalt u niet voor overbodige resources. |
Zie Principes van de pijler kostenoptimalisatie voor meer suggesties.
Operationele uitmuntendheid
In de volgende secties worden ontwerpoverwegingen en configuratieaanbevelingen beschreven, specifiek voor Azure Service Fabric en operationele uitmuntendheid.
Wanneer u de beveiliging met Azure Service Fabric bespreekt, is het belangrijk om onderscheid te maken tussen clusterbewerking en workloadbewerking. Clusterbewerking is een gedeelde verantwoordelijkheid tussen de Service Fabric-clusterbeheerder en de resourceprovider, terwijl de workloadbewerking het domein van een ontwikkelaar is. Azure Service Fabric bevat overwegingen en aanbevelingen voor beide rollen.
In de onderstaande ontwerpcontrolelijst en lijst met aanbevelingen worden bijschriften gedaan om aan te geven of elke keuze van toepassing is op clusterarchitectuur, workloadarchitectuur of beide.
Controlelijst voor ontwerp
Bekijk bij het maken van ontwerpkeuzen voor Azure Service Fabric de ontwerpprincipes voor operationele uitmuntendheid.
- Clusterarchitectuur: Een clusterbewakingsoplossing voorbereiden.
- Clusterarchitectuur: Controleer het clusterstatusbeleid in het Service Fabric-statusmodel.
- Workloadarchitectuur: Een oplossing voor toepassingsbewaking voorbereiden.
- Workloadarchitectuur: Controleer het statusbeleid voor toepassingen en servicetypen in het Service Fabric-statusmodel.
- Cluster- en workloadarchitecturen: Een oplossing voor infrastructuurbewaking voorbereiden.
- Cluster- en workloadarchitecturen: ontwerp uw cluster met build- en release-pijplijnen voor continue integratie en implementatie.
Aanbevelingen
Bekijk de volgende tabel met aanbevelingen voor het optimaliseren van uw Azure Service Fabric-configuratie voor operationele uitmuntendheid:
Aanbeveling voor Azure Service Fabric | Voordeel |
---|---|
Workloadarchitectuur: Gebruik Application Insights om uw workloads te bewaken. | Application Insights kan worden geïntegreerd met het Azure-platform, waaronder Service Fabric. |
Cluster- en workloadarchitecturen: maak een proces voor het bewaken van de vervaldatum van clientcertificaten. | Key Vault biedt bijvoorbeeld een functie waarmee een e-mailbericht wordt verzonden wanneer x% de levensduur van het certificaat is verstreken. |
Cluster- en workloadarchitecturen: Voor preproductieclusters gebruikt u Azure Chaos Studio om serviceonderbreking in te zoomen op een exemplaar van een virtuele-machineschaalset. | Het oefenen van serviceonderbrekingsscenario's helpt u inzicht te krijgen in wat er risico loopt in uw infrastructuur en hoe u de problemen het beste kunt verhelpen als deze zich voordoen. |
Cluster- en workloadarchitecturen: Gebruik Azure Monitor om gebeurtenissen van cluster- en containerinfrastructuur te bewaken. | Azure Monitor kan goed worden geïntegreerd met het Azure-platform, waaronder Service Fabric. |
Cluster- en workloadarchitecturen: Gebruik Azure Pipelines voor uw oplossing voor continue integratie en implementatie. | Azure Pipelines kan goed worden geïntegreerd met het Azure-platform, waaronder Service Fabric. |
Zie Principes van de operationele uitmuntendheidpijler voor meer suggesties.
Prestatie-efficiëntie
In de volgende sectie worden configuratieaanaanvelingen beschreven, specifiek voor Azure Service Fabric en prestatie-efficiëntie.
Wanneer u de beveiliging met Azure Service Fabric bespreekt, is het belangrijk om onderscheid te maken tussen clusterbewerking en workloadbewerking. Clusterprestaties zijn een gedeelde verantwoordelijkheid tussen de Service Fabric-clusterbeheerder en de resourceprovider, terwijl de prestaties van workloads het domein van een ontwikkelaar zijn. Azure Service Fabric bevat overwegingen en aanbevelingen voor beide rollen.
In de onderstaande ontwerpcontrolelijst en lijst met aanbevelingen worden bijschriften gedaan om aan te geven of elke keuze van toepassing is op clusterarchitectuur, workloadarchitectuur of beide.
Voor meer informatie over hoe Azure Service Fabric prestatieproblemen voor uw workload kan verminderen met Service Fabric-prestatiemeteritems, raadpleegt u de aanbevolen procedures voor bewaking en diagnostische gegevens voor Azure Service Fabric.
Controlelijst voor ontwerp
- Clusterarchitectuur: Sluit de Service Fabric-processen uit van Windows Defender om de prestaties te verbeteren.
- Clusterarchitectuur: selecteer de juiste VM-SKU.
- Workloadarchitectuur: Bepaal welk programmeermodel u voor uw services gaat gebruiken.
- Cluster- en workloadarchitecturen: gebruik de juiste beheerde schijflaag en -grootte.
Aanbevelingen
Bekijk de volgende aanbevelingen om uw Azure Service Fabric-configuratie te optimaliseren voor prestatie-efficiëntie:
Aanbeveling voor Azure Service Fabric | Voordeel |
---|---|
Clusterarchitectuur: Sluit de Service Fabric-processen uit van Windows Defender om de prestaties te verbeteren. | Windows Defender antivirus is standaard geïnstalleerd op Windows Server 2016 en 2019. Als u de prestatie- en resourceverbruiksoverhead wilt verminderen die door Windows Defender wordt gemaakt en als u met uw beveiligingsbeleid processen en paden voor opensource-software kunt uitsluiten, kunt u uitsluiten. |
Clusterarchitectuur: Overweeg het gebruik van automatische schaalaanpassing voor uw cluster. | Automatisch schalen biedt geweldige elasticiteit en maakt toevoeging of vermindering van knooppunten op aanvraag mogelijk op een secundair knooppunttype. Dit geautomatiseerde en elastische gedrag vermindert de beheeroverhead en potentiële bedrijfsimpact door de hoeveelheid knooppunten te bewaken en te optimaliseren die uw workload onderhouden. |
Clusterarchitectuur: Overweeg het gebruik van versneld netwerken. | Versneld netwerken maken een pad met hoge prestaties mogelijk waarmee de host wordt omzeild vanuit het gegevenspad, waardoor latentie, jitter en CPU-gebruik voor de meest veeleisende netwerkworkloads worden verminderd. |
Clusterarchitectuur: Overweeg het gebruik van versleuteling op de host in plaats van Azure Disk Encryption (ADE). | Deze versleutelingsmethode verbetert op ADE door ondersteuning te bieden voor alle typen en installatiekopieën van het besturingssysteem, inclusief aangepaste installatiekopieën, voor uw VM's door gegevens in de Azure Storage-service te versleutelen. |
Workloadarchitectuur: Bekijk de Service Fabric-programmeermodellen om te bepalen welk model het beste bij uw services past. | Service Fabric ondersteunt verschillende programmeermodellen. Elk heeft zijn eigen voor- en nadelen. Als u meer weet over de beschikbare programmeermodellen, kunt u de beste keuzes maken voor het ontwerpen van uw services. |
Workloadarchitectuur: Maak waar nodig gebruik van losjes gekoppelde microservices voor uw workloads. | Met microservices kunt u optimaal gebruikmaken van de functies van Service Fabric. |
Workloadarchitectuur: Maak waar nodig gebruik van gebeurtenisgestuurde architectuur voor uw workloads. | Met behulp van gebeurtenisgestuurde architectuur kunt u optimaal gebruikmaken van de functies van Service Fabric. |
Workloadarchitectuur: gebruik waar nodig achtergrondverwerking voor uw workloads. | Door achtergrondverwerking te gebruiken, kunt u optimaal gebruikmaken van de functies van Service Fabric. |
Cluster- en workloadarchitecturen: bekijk de verschillende manieren waarop u uw oplossing in Service Fabric kunt schalen. | U kunt schalen gebruiken om maximaal resourcegebruik in te schakelen voor uw oplossing. |
Zie Principes van de pijler prestatie-efficiëntie voor meer suggesties.
Aanbevelingen van Azure Advisor
Azure Advisor is een gepersonaliseerde cloudconsultant waarmee u de aanbevolen procedures kunt volgen om uw Azure-implementaties te optimaliseren. Hier volgen enkele aanbevelingen die u kunnen helpen bij het verbeteren van de betrouwbaarheid, beveiliging, kosteneffectiviteit, prestaties en operationele uitmuntendheid bij het gebruik van Azure Service Fabric.
Beveiliging
- Voor Service Fabric-clusters moet de eigenschap ClusterProtectionLevel zijn ingesteld op
EncryptAndSign
. Dit is de standaardwaarde voor beheerde clusters en kan niet worden gewijzigd. Standaardcluster: Zorg ervoor dat u ClusterProtectionLevel instelt opEncryptAndSign
. - Service Fabric-clusters mogen alleen Microsoft Entra-id gebruiken voor clientverificatie.
Aanvullende bronnen
Bekijk het artikel met opties voor beheerde clusterconfiguratie van Azure Service Fabric voor een lijst met alle opties die u hebt tijdens het maken en onderhouden van uw cluster.
Bekijk de basisprincipes van de Azure-toepassingsarchitectuur voor hulp bij het ontwikkelen van uw workloads. Hoewel Service Fabric alleen kan worden gebruikt als een containerhostingplatform, maakt het gebruik van goed ontworpen workloads gebruik van de volledige functionaliteit van Service Fabric.
Volgende stappen
Gebruik deze aanbevelingen wanneer u uw beheerde Service Fabric-cluster maakt met behulp van een ARM-sjabloon of via Azure Portal: