Well-Architected Frameworks-perspectief op 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 -clusterwordt genoemd.
In dit artikel wordt ervan uitgegaan dat u als architect de beslissingsstructuur voor rekenprocessen hebt bekeken en Service Fabric hebt gekozen als het rekenplatform voor uw workload. De richtlijnen in dit artikel bevatten aanbevelingen voor architectuur die zijn toegewezen aan de principes van de Well-Architected Framework-pijlers.
Belangrijk
Deze handleiding gebruiken
Elke sectie heeft een ontwerpcontrolelijst die architectuurgebieden van belang presenteert, samen met ontwerpstrategieën die zijn gelokaliseerd in het technologiebereik.
Ook zijn inbegrepen aanbevelingen voor de technologiemogelijkheden die kunnen helpen bij het materialiseren van deze strategieën. De aanbevelingen vertegenwoordigen geen volledige lijst met alle configuraties die beschikbaar zijn voor Azure Service Fabric en de bijbehorende afhankelijkheden. In plaats daarvan worden de belangrijkste aanbevelingen gekoppeld aan de ontwerpperspectieven geassocieerd. Gebruik de aanbevelingen om uw proof-of-concept te bouwen of om uw bestaande omgevingen te optimaliseren.
Basisarchitectuur die de belangrijkste aanbevelingen laat zien: Microservices-architectuur in Azure Service Fabric.
technologieomvang
Deze beoordeling is gericht op de onderling gerelateerde beslissingen voor de volgende Azure-resources:
- Service Fabric
Notitie
Deze servicehandleiding is gebaseerd op richtlijnen in de servicehandleiding voor Virtuele Machines en schaalsets. Service Fabric-knooppunten worden ondersteund door VM-schaalsets. Raadpleeg deze servicehandleiding voor aanbevelingen voor het uitvoeren van de rekenback-end voor uw Service Fabric-knooppunten.
Bij het bespreken van architectuuroverwegingen en configuratieaanvelingen met Azure Service Fabric is het belangrijk om onderscheid te maken tussen cluster en workload. Clusterconfiguratie is een gedeelde verantwoordelijkheid tussen de Service Fabric-clusterbeheerder en de resourceprovider, terwijl de workloadconfiguratie het domein van een ontwikkelaar is. Azure Service Fabric bevat overwegingen en aanbevelingen voor beide rollen.
In de controlelijst voor ontwerpen en lijst met aanbevelingen hieronder, worden bijschriften gedaan om aan te geven of elke keuze van toepassing is op clusterarchitectuur, workloadarchitectuur of beide.
Betrouwbaarheid
Het doel van de pijler Betrouwbaarheid is om doorlopende functionaliteit te bieden door voldoende tolerantie te ontwikkelen en de mogelijkheid om snel te herstellen van storingen.
principes voor betrouwbaarheidsontwerp een ontwerpstrategie op hoog niveau bieden die wordt toegepast op afzonderlijke onderdelen, systeemstromen en het systeem als geheel.
Controlelijst voor ontwerpen
Start uw strategie voor ontwerp op basis van de checklist voor ontwerpbeoordeling voor betrouwbaarheid. Bepaal de relevantie ervan voor uw zakelijke vereisten, terwijl u rekening houdt met de [aanbiedingsspecifieke aspecten]. Breid de strategie uit om zo nodig meer benaderingen op te nemen.
- (Cluster) Bepaal het juiste betrouwbaarheidsniveau voor uw cluster op basis van de algemene betrouwbaarheidsdoelmetrie voor de workload. Het betrouwbaarheidsniveau van het cluster dat u identificeert, bepaalt het minimale aantal knooppunten dat moet worden geïmplementeerd voor uw primaire knooppunttype. Zie de documentatie voor capaciteitsplanning voor meer informatie over het maken van deze vaststellingen.
- (Cluster) Voor kritieke workloads kunt u overwegen beschikbaarheidszones te gebruiken voor uw Service Fabric-clusters.
- (Cluster) Voor productiescenario's gebruikt u de standard beheerde cluster-SKU met een Silver-duurzaamheidslaag (5 VM's) of hoger. Deze SKU biedt hogere betrouwbaarheidsmogelijkheden dan de Basic-SKU, die moet worden gebruikt voor niet-productiescenario's.
- (Cluster) Maak extra secundaire knooppunttypen voor uw workloads om verschillende workloadtypen te isoleren. Dit kan u helpen bij het scheiden van front-endservices van back-endservices, zodat u deze services onafhankelijk kunt beheren en schalen. Elk knooppunttype wordt ondersteund door een eigen schaalset.
Aanbevelingen
Aanbeveling | Voordeel |
---|---|
(Cluster) API Management (APIM) kan rechtstreeks integreren met Service Fabric. Overweeg om deze te gebruiken voor het beschikbaar maken en offloaden van cross-cutting-functionaliteit voor API's die worden gehost op het cluster. | APIM is een toepassingsgateway met uitgebreide functies waarmee u API's die zijn geïmplementeerd in het Service Fabric-cluster, veilig kunt publiceren, beheren en bewaken. |
(Workload) Voor scenario’s met een statusvaste werklast kunt u overwegen om Reliable Serviceste gebruiken. | Met het Reliable Services-model kunnen uw services op de hoogte blijven wanneer u systeemfouten of netwerkproblemen ondervindt, of in gevallen waarin de services zelf storingen ondervinden. Voor stateful services blijft uw status behouden wanneer storingen optreden. |
Veiligheid
Het doel van de pijler Beveiliging is het bieden van vertrouwelijkheid, integriteit en beschikbaarheid garanties voor de workload.
De Beveiligingsontwerpprincipes bieden een ontwerpstrategie op hoog niveau voor het bereiken van deze doelen door benaderingen toe te passen op het technische ontwerp van Service Fabric.
Controlelijst voor ontwerpen
Baseer uw ontwerpstrategie op de ontwerpbeoordelingscontrolelijst voor Beveiliging.
- (Cluster en workload) Maak uzelf vertrouwd met de beveiligingsrichtlijnen voor Service Fabric-producten. Zie beveiligingsbest practices, clusterbeveiligingsscenario'sen beveiliging van Service Fabric-toepassingen en -services.
- (Cluster) Pas netwerksegmentatie en -besturingselementen toe door NSG's te configureren om de verkeersstroom tussen subnetten en knooppunttypen te beperken.
- (Cluster) Beheer toepassingsgeheimen en clientcertificaten veilig met behulp van systeemeigen hulpprogramma's. Toepassingsgeheimen moeten worden beheerd met de Service Fabric Secret Store en certificaten moeten worden beheerd met Key Vault.
- (Cluster) Overweeg uw eigen load balancerte brengen, zodat u een interne load balancer kunt gebruiken en verschillende load balancers en NSG's voor elk knooppunttype kunt definiëren.
- (Cluster) Beheer de toegang tot het cluster veilig door Microsoft Entra-integratie in te schakelen, zodat gebruikers zich kunnen verifiëren met hun Entra-referenties. U kunt ook clusterclient- en beheerderscertificaten gebruiken. Distribueer de clusterclientcertificaten niet tussen gebruikers van Service Fabric Explorer.
- (Cluster en workload) Maak een proces voor het monitoren van de vervaldatum van client-certificaten.
- (Cluster en workload) Onderhoud afzonderlijke clusters voor ontwikkeling, fasering en productie. Productieomgevingen vereisen doorgaans strengere beveiligingscontroles dan niet-productieomgevingen en het isoleren van omgevingen van elkaar voegt een laag secuirty toe als één omgeving wordt aangetast.
Aanbevelingen
Aanbeveling | Voordeel |
---|---|
(Cluster) Zorg ervoor dat de juiste poorten worden geopend voor de implementatie van toepassingen en workloads. | Deze configuratie zorgt ervoor dat de communicatie tussen de Service Fabric-resources en de rest van de workload wordt beveiligd. |
(Cluster) Wanneer u de Service Fabric Secret Store gebruikt om geheimen te distribueren, gebruikt u een afzonderlijk certificaat voor gegevenscodering om de waarden te versleutelen. | Het gebruik van een afzonderlijk versleutelingscertificaat zorgt voor isolatie tussen certificaten, waardoor het risico op een single point of failure wordt verkleind en meer gedetailleerd toegangsbeheer mogelijk is. |
(Cluster) Pas een ACL (Access Control List) toe op uw clientcertificaat voor uw Service Fabric-cluster. | Het gebruik van een ACL biedt een extra verificatieniveau, waardoor meer gedetailleerde controle mogelijk is over wie toegang heeft tot de certificaten. |
(Cluster) Gebruik resourceaanvragen en limieten om het resourcegebruik op de knooppunten in uw cluster te beheren. | Door resourcelimieten af te dwingen, zorgt u ervoor dat één service niet te veel resources verbruikt en andere services verhongert. |
(Workload) Neem clientcertificaten op in Service Fabric-toepassingen. | Als uw toepassingen clientcertificaten gebruiken voor verificatie, biedt u mogelijkheden voor beveiliging op cluster- en workloadniveau. |
(Workload) Service Fabric-toepassingen verifiëren bij Azure-resources met behulp van Managed Identity. | 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 workload) Wanneer u niet-vertrouwde toepassingen host, gebruikt u de sterkste sandbox-technologie die van toepassing is, verwijdert u de toegang tot Service Fabric-runtime en volgt u andere aanbevolen procedures voor Service Fabric. | Door de aanbevolen procedures te volgen, zorgt u ervoor dat alleen vertrouwde en geverifieerde toepassingen kunnen communiceren met kritieke onderdelen, waardoor de impact van niet-vertrouwde toepassingen met beveiligingsproblemen of schadelijke code op de normale werking van het cluster kan worden beperkt. |
Kostenoptimalisatie
Kostenoptimalisatie is gericht op het detecteren van uitgavenpatronen, het prioriteren van investeringen in kritieke gebieden en het optimaliseren in andere gebieden om te voldoen aan het budget van de organisatie en aan de bedrijfsvereisten.
De ontwerpprincipes van Cost Optimization een ontwerpstrategie op hoog niveau bieden voor het bereiken van deze doelstellingen en het maken van compromissen zoals nodig in het technische ontwerp met betrekking tot Service Fabric en de bijbehorende omgeving.
Controlelijst voor ontwerpen
Start uw ontwerpstrategie op basis van de controlelijst voor ontwerpbeoordeling voor kostenoptimalisatie voor investeringen. Verfijn het ontwerp zodat de werklast in overeenstemming is met het budget dat is toegewezen voor deze. Uw ontwerp moet gebruikmaken van de juiste Azure-mogelijkheden, investeringen bewaken en mogelijkheden vinden om in de loop van de tijd te optimaliseren.
- (Workload en cluster) Schat de initiële kosten met de Azure-prijscalculator. Er worden alleen kosten in rekening gebracht voor de rekeninstanties, opslag, netwerkresources en IP-adressen die u kiest bij het maken van een Service Fabric-cluster. Er worden geen kosten in rekening gebracht voor de service die door Service Fabric zelf wordt aangeboden. Zie het voorbeeld van het kostenberekeningsproces voor toepassingsplanningom aan de slag te gaan met uw kostenmodellering.
- (Cluster) Selecteer de juiste VM-SKU's. Kies VM's op basis van workloadkenmerken. Is de CPU-werkbelasting intensief of worden onderbreekbare processen uitgevoerd?
- (Cluster) Selecteer de juiste cluster-SKU's. Gebruik Standard voor productieomgevingen en Basic voor niet-productieomgevingen, tenzij er een overtuigende reden is om dit anders te doen. Gebruik de juiste knooppunttypen en -grootten in elke omgeving.
- (Cluster en workload) Selecteer de juiste beheerde schijflagen en -grootten. Raadpleeg de WAF -servicehandleiding voor schijfopslag. Vermijd het gebruik van VM-SKU's met tijdelijke schijfaanbiedingen om te voorkomen dat u betaalt voor onnodige resources.
Aanbevelingen
Aanbeveling | Voordeel |
---|---|
(Cluster) Als u geen vereisten hebt om status bij te houden, kunt u overwegen om een VM SKU te kiezen met tijdelijke schijfondersteuning. | 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 workload) De selectie van VM-SKU afstemmen op de workloadvereisten. Zorg ervoor dat u de juiste knooppunttypen hebt geïdentificeerd, die worden gehost op schaalsets, om te voldoen aan uw vereisten. | Door uw selectie aan uw workloadvereisten te koppelen, kunt u voorkomen dat u betaalt voor dure VM-SKU's die u mogelijk niet nodig hebt. |
(Cluster en workload) De selectie van schijftype afstemmen op de workloadvereisten. | Als u het juiste type beheerde schijf kiest, kunt u voorkomen dat u betaalt voor dure typen die u mogelijk niet nodig hebt. |
Operationele uitmuntendheid
Operational Excellence richt zich voornamelijk op procedures voor ontwikkelprocedures, waarneembaarheid en releasebeheer.
De ontwerpprincipes voor Operational Excellence bieden een ontwerpstrategie op hoog niveau voor het bereiken van deze doelstellingen voor de operationele vereisten van de workload.
Controlelijst voor ontwerpen
Start uw ontwerpstrategie aan de hand van de checklist voor ontwerpbeoordeling gericht op Operational Excellence om processen voor waarneembaarheid, testen en implementatie met betrekking tot Service Fabric te definiëren.
- (Cluster en workload) Integreer uw Service Fabric-onderdelen, waaronder clusters, gerelateerde infrastructuur en de toepassing zelf, in uw bewakings- en waarschuwingsplatform. Zie het artikel met de beste praktijken voor monitoring voor gedetailleerde richtlijnen.
- (Cluster en workload) Gebruik het Service Fabric--statusmodel om de status van uw oplossing continu te bewaken. Dit hulpprogramma moet uw algemene workloadgezondheidsmodel aanvullen
- (Cluster en werklast) Creëer een proces voor het monitoren van de vervaldatum van cliëntcertificaten. Key Vault biedt bijvoorbeeld een functie waarmee een e-mailbericht wordt verzonden wanneer
x%
van de levensduur van het certificaat is verstreken. - (Cluster en workload) Gebruik de procedures voor continue integratie en continue implementatie om uw clusterimplementaties te beheren. Gebruik een speciaal ontworpen hulpprogramma, zoals Azure Pipelines of GitHub Actions voor het beheren van uw CI/CD-pijplijnen, waarmee u al uw workloadimplementaties in alle omgevingen centraal kunt beheren met de juiste strategieën voor broncodebeheer.
Aanbevelingen
Aanbeveling | Voordeel |
---|---|
(Workload) Gebruik Application Insights om uw workloadste bewaken. | Application Insights biedt uitgebreide bewaking van toepassingsprestaties (APM) voor live webtoepassingen, zodat u telemetriegegevens van toepassingen kunt verzamelen en analyseren, waardoor de status en prestaties van uw toepassing worden verbeterd. |
(Cluster en workload) Gebruik Azure Monitor om gebeurtenissen van cluster- en containerinfrastructuur te bewaken. | Azure Monitor biedt uitgebreide bewakings- en diagnostische mogelijkheden, zodat u logboeken en metrische gegevens van uw toepassingen en Azure-infrastructuur kunt verzamelen en analyseren. Azure Monitor kan goed worden geïntegreerd met het Azure-platform, waaronder Service Fabric. |
(Cluster) Implementeer het juiste clustergezondheidsbeleid als onderdeel van uw gezondheidsmodellering. | Met de beleidsregels kunt u aanpassen hoe fouten worden geïnterpreteerd vanuit het perspectief van de clustergezondheid. U kunt bijvoorbeeld het maximaal getolereerde percentage knooppunten instellen dat niet in orde is voordat het cluster als fout wordt beschouwd. |
(Cluster) Implementeer de juiste statusbeleidsregels voor toepassingen en services als onderdeel van uw statusmodellering. | In het beleid voor de gezondheid van toepassingen wordt beschreven hoe de evaluatie van gebeurtenissen en de aggregatie van onderliggende statussen worden uitgevoerd voor toepassingen en hun onderdelen. Service Fabric gaat ervan uit dat de entiteit ongezond is als deze een gezondheidsrapport of een onderdeel heeft met de gezondheidsstatus waarschuwing of fout. |
(Cluster en workload) Gebruik Azure Chaos Studio om storingen in uw oplossing te injecteren als onderdeel van uw teststrategie. | Als u met opzet storingen in uw oplossing introduceert, kunt u potentiële storingspunten identificeren en uw maatregelen voor incidentrespons oefenen. |
(Cluster en workload) Gebruik Azure Pipelines voor uw CI/CD-oplossing (continue integratie en implementatie). | Met behulp van een CI/CD-oplossing zoals Azure Pipelines kunt u uw implementaties efficiënt, consistent en veilig beheren. Azure Pipelines biedt systeemeigen ondersteuning voor Service Fabric-implementaties. |
Prestatie-efficiëntie
Prestatie-efficiëntie gaat over het behouden van de gebruikerservaring, zelfs wanneer er een toename van de belasting door het beheren van de capaciteit. De strategie omvat het schalen van resources, het identificeren en optimaliseren van potentiële knelpunten en het optimaliseren van piekprestaties.
De ontwerpprincipes voor Prestatie-efficiëntie een ontwerpstrategie op hoog niveau bieden voor het bereiken van deze capaciteitsdoelen ten opzichte van het verwachte gebruik.
Controlelijst voor ontwerpen
Start uw ontwerpstrategie op basis van de ontwerpbeoordeling checklist voor prestatie-efficiëntie. Definieer een basislijn die is gebaseerd op key performance indicators voor Service Fabric.
- (Cluster) Profiteer van prestatieoptimalisatie en verbeter functies zoals vereist voor de workload. Zie de VM-servicehandleiding voor aanbevelingen met betrekking tot het onderliggende rekenplatform.
- (Cluster) Implementeer VM- en schijfgrootten die voldoen aan uw prestatievereisten zonder onnodige kosten te maken voor ongebruikte capaciteit. Zorg ervoor dat u eenvoudig capaciteit kunt toevoegen om te voldoen aan uw toekomstige groeiplannen.
- (Workload) Krijg inzicht in de programmeermodellen die door Service Fabric worden ondersteund en kies het beste model voor uw workloadvereisten. Elk programmeermodel heeft unieke voor- en nadelen, en uw specifieke workloadvereisten zijn mogelijk beter afgestemd op één model dan andere.
- (Workload) Gebruik bestaande cloudarchitectuurpatronen om uw workload te ontwerpen. Microsservices, gebeurtenisgestuurdeen achtergrondverwerking architectuurpatronen zijn allemaal goede kandidaten voor service fabric-toepassingsontwerpen.
Aanbeveling
Aanbeveling | Voordeel |
---|---|
(Cluster) Sluit de Service Fabric-processen die worden uitgevoerd op uw Windows-VM's uit van Windows Defender als u met uw beveiligingsbeleid processen en paden voor opensource-software kunt uitsluiten. | Het uitsluiten van Service Fabric-processen vermindert de impact op de prestaties en de overhead van het resourcegebruik dat door Windows Defender wordt veroorzaakt. |
(Cluster) Overweeg het gebruik van Autoscaling voor uw cluster, zodat u knooppunten op aanvraag kunt toevoegen of verminderen op een secundair knooppunttype. | Automatisch schalen vermindert de beheeroverhead en potentiële bedrijfsimpact door de hoeveelheid knooppunten te bewaken en te optimaliseren die uw workload onderhouden. |
(Cluster) 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. |
(Cluster) Overweeg versleuteling te gebruiken op host- in plaats van Azure Disk Encryption (ADE). | Versleuteling op host verbetert de 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. |
(Workload) Implementeer de Service Fabric-programmeermodellen die het meest geschikt zijn voor uw workload. | Door een geschikt programmeermodel te kiezen, kunt u profiteren van ingebouwde functies die workloadvereisten ondersteunen, zoals statusbeheer, gelijktijdigheid en hergebruik van uw bestaande codebasis. U kunt er ook voor zorgen dat uw implementatiestandaarden worden onderhouden door een programmeermodel te selecteren dat overeenkomt met die standaarden. |
(Cluster en workload) Implementeer schalen om aan de vereisten van uw bedrijf te voldoen. Het juiste schaalmechanisme voor uw workload zoeken.. | U kunt schalen gebruiken om maximaal resourcegebruik in te schakelen voor uw oplossing. |
Azure-beleid
Azure biedt een uitgebreide set ingebouwde beleidsregels met betrekking tot Service Fabric en de bijbehorende afhankelijkheden. Enkele van de voorgaande aanbevelingen kunnen worden gecontroleerd via Azure Policy. U kunt bijvoorbeeld controleren of:
- Service Fabric-clusters zijn zo geconfigureerd dat ze zone-redundant zijn.
- Voor Service Fabric-clusters is de eigenschap ClusterProtectionLevel ingesteld op
EncryptAndSign
. - Service Fabric-clusters zijn geconfigureerd om alleen Azure Active Directory te gebruiken voor clientverificatie.
Raadpleeg voor uitgebreide governance de ingebouwde azure Policy-definities voor Service Fabric- en andere beleidsregels die van invloed kunnen zijn op de beveiliging van het [cloudinfrastructuurgebied].
Aanbevelingen voor 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 waarmee u de betrouwbaarheid, beveiliging, kosteneffectiviteit, prestaties en operationele uitmuntendheid van Service Fabric kunt verbeteren.
Verwante inhoud
Raadpleeg het artikel configuratieopties voor beheerde Azure Service Fabric-clusters 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.
Gebruik deze aanbevelingen wanneer u uw beheerde Service Fabric-cluster maakt met behulp van een ARM-sjabloon of via Azure Portal: