Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberenu aan te melden ofde directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen demappen te wijzigen.
Introductie
Azure Service Fabric is een platform voor gedistribueerde systemen waarmee u schaalbare en betrouwbare microservices en containers eenvoudig kunt verpakken, implementeren en beheren.
Service Fabric is de containerorchestrator van Microsoft voor het implementeren van microservices op een cluster van machines. Service Fabric profiteert van de geleerde lessen tijdens de jaren dat services op grote schaal zijn uitgevoerd bij Microsoft.
Microservices kunnen op veel manieren worden ontwikkeld, van het gebruik van de Service Fabric-programmeermodellen, ASP.NET Core, tot het implementeren van code van uw keuze. Of als u alleen containers wilt implementeren en beheren, is Service Fabric ook een uitstekende keuze.
Service Fabric implementeert en activeert deze services standaard als processen. Processen bieden de snelste activering en het hoogste dichtheidsgebruik van de resources in een cluster. Service Fabric kan ook services implementeren in containerafbeeldingen. U kunt ook services combineren in processen en deze in containers, binnen dezelfde toepassing.
Om direct containers in Service Fabric uit te proberen, probeer een quickstart, tutorial of voorbeeld:
Quickstart: Een Linux-containertoepassing implementeren in Service Fabric
Quickstart: Een Windows-containertoepassing implementeren in Service Fabric
Een bestaande .NET-app in een container opnemen
Voorbeelden van Service Fabric-containers
Wat zijn containers?
Containers lossen het probleem van het uitvoeren van toepassingen betrouwbaar op in verschillende computeromgevingen door een onveranderbare omgeving te bieden waarin de toepassing kan worden uitgevoerd. Containers verpakken een toepassing en alle bijbehorende afhankelijkheden, zoals bibliotheken en configuratiebestanden, in een eigen geïsoleerde 'box' die alles bevat dat nodig is om de software in de container uit te voeren. Waar de container ook wordt uitgevoerd, heeft de toepassing in de container altijd alles wat nodig is om te worden uitgevoerd, zoals de juiste versies van de afhankelijke bibliotheken, eventuele configuratiebestanden en alles wat er nog meer nodig is om uit te voeren.
Containers worden rechtstreeks boven op de kernel uitgevoerd en hebben een geïsoleerde weergave van het bestandssysteem en andere resources. Een toepassing in een container heeft geen kennis van andere toepassingen of processen buiten de container. Elke toepassing en de runtime, afhankelijkheden en systeembibliotheken worden uitgevoerd in een container met volledige, persoonlijke toegang tot de eigen geïsoleerde weergave van het besturingssysteem van de container. Naast dat het eenvoudig maakt om aan alle vereisten van uw toepassing te voldoen en deze in verschillende computeromgevingen te laten draaien, biedt het gebruik van containers met Service Fabric belangrijke voordelen op het gebied van beveiliging en resource-isolatie. Zonder containers zouden diensten anders in een enkel proces worden uitgevoerd.
In vergelijking met virtuele machines hebben containers de volgende voordelen:
- Klein: Containers gebruiken één opslagruimte en laagversies en updates om de efficiëntie te verhogen.
- Snel: Containers hoeven geen volledig besturingssysteem op te starten, zodat ze veel sneller kunnen starten, meestal in seconden.
- Draagbaarheid: een containerafbeelding van een toepassing kan worden overgebracht om te worden uitgevoerd in de cloud, op locatie, binnen virtuele machines, of rechtstreeks op fysieke machines.
- Resourcebeheer: Een container kan de fysieke resources beperken die deze op de host kan gebruiken.
Service Fabric-ondersteuning voor containers
Service Fabric ondersteunt de implementatie van Docker-containers in Linux en Windows Server-containers op Windows Server 2016 en hoger, samen met ondersteuning voor Hyper-V isolatiemodus.
Container-runtimes die compatibel zijn met Service Fabric.
- Linux: Docker
- Windows
- Windows Server 2022: Mirantis Container Runtime
- Windows Server 2019/2016: DockerEE
Docker-containers op Linux
Docker biedt API's voor het maken en beheren van containers boven op Linux-kernelcontainers. Docker Hub biedt een centrale opslagplaats voor het ophalen van containerimages. Zie Uw eerste Service Fabric-containertoepassing maken in Linux voor een zelfstudie op basis van Linux.
Windows Server-containers
Windows Server 2016 en hoger bieden twee verschillende typen containers die verschillen per isolatieniveau. Windows Server-containers en Docker-containers zijn vergelijkbaar omdat beide naamruimte- en bestandssysteemisolatie hebben, terwijl de kernel wordt gedeeld met de host waarop ze worden uitgevoerd. In Linux is deze isolatie traditioneel geleverd door cgroups en naamruimten en gedragen Windows Server-containers zich op dezelfde manier.
Windows-containers met Hyper-V ondersteuning bieden meer isolatie en beveiliging omdat er geen container de kernel van het besturingssysteem deelt met een andere container of met de host. Met deze hogere beveiligingsisolatie zijn Hyper-V ingeschakelde containers gericht op potentieel vijandige scenario's met meerdere tenants. Zie Uw eerste Service Fabric-containertoepassing maken in Windows voor een zelfstudie op basis van Windows.
In de volgende afbeelding ziet u de verschillende typen virtualisatie- en isolatieniveaus die beschikbaar zijn.
Scenario's voor het gebruik van containers
Hier volgen typische voorbeelden waarbij een container een goede keuze is:
IIS-lift-and-shift: u kunt een bestaande ASP.NET MVC-app in een container plaatsen in plaats van deze te migreren naar ASP.NET Core. Deze ASP.NET MVC-apps zijn afhankelijk van IIS (Internet Information Services). U kunt deze toepassingen in containerinstallatiekopieën verpakken vanuit de vooraf gemaakte IIS-installatiekopieën en deze implementeren met Service Fabric. Zie Containerimages op Windows Server voor meer informatie over Windows-containers.
Containers en Service Fabric-microservices combineren: Gebruik een bestaande containerafbeelding voor een deel van uw toepassing. U kunt bijvoorbeeld de NGINX-container gebruiken voor de webfront-end van uw toepassing en stateful services voor de intensieve back-endberekening.
Verminder de impact van 'luidruchtige buren'-services: u kunt de mogelijkheid van resourcebeheer van containers gebruiken om de resources te beperken die een service op een host gebruikt. Als services veel resources kunnen verbruiken en van invloed kunnen zijn op de prestaties van andere resources (zoals een langlopende, queryachtige bewerking), kunt u overwegen deze services in containers te plaatsen die resourcebeheer hebben.
Opmerking
Een Service Fabric-cluster is standaard één tenant en gehoste toepassingen worden beschouwd als vertrouwd. Als u overweegt om niet-vertrouwde toepassingen te hosten, kunt u Niet-vertrouwde toepassingen hosten in een Service Fabric-cluster raadplegen.
Service Fabric biedt een toepassingsmodel waarin een container een toepassingshost vertegenwoordigt waarin meerdere servicereplica's worden geplaatst. Service Fabric ondersteunt ook een scenario met uitvoerbare gastbestanden waarin u de ingebouwde Service Fabric-programmeermodellen niet gebruikt, maar in plaats daarvan een bestaande toepassing verpakt, geschreven met behulp van een taal of framework, in een container. Dit scenario is de algemene use-case voor containers.
U kunt Service Fabric-services ook uitvoeren in een container. Ondersteuning voor het uitvoeren van Service Fabric-services in containers is momenteel beperkt.
Service Fabric biedt verschillende containermogelijkheden waarmee u toepassingen kunt bouwen die bestaan uit in containers geplaatste microservices, zoals:
- Uitrol en activering van containerafbeeldingen.
- Resourcebeheer, inclusief het instellen van resourcewaarden standaard op Azure-clusters.
- Verificatie van opslagplaats.
- Containerpoort naar hostpoorttoewijzing.
- Container tot container detectie en communicatie.
- Mogelijkheid om omgevingsvariabelen te configureren en in te stellen.
- Mogelijkheid om beveiligingsreferenties in te stellen voor de container.
- Een keuze uit verschillende netwerkmodi voor containers.
Zie Azure for Containers voor een uitgebreid overzicht van containerondersteuning in Azure, zoals het maken van een Kubernetes-cluster met Azure Kubernetes Service, het maken van een privé Docker-register in Azure Container Registry en meer.
Volgende stappen
In dit artikel hebt u meer geleerd over de ondersteuning die Service Fabric biedt voor het uitvoeren van containers. Vervolgens bekijken we voorbeelden van elk van de functies om u te laten zien hoe u deze kunt gebruiken.
Uw eerste Service Fabric-containertoepassing maken in Linux
Uw eerste Service Fabric-containertoepassing maken in Windows
Meer informatie over Windows-containers