Share via


Toepassingen hosten in Azure

Dit artikel is deel drie in een reeks van zeven artikelen waarmee ontwikkelaars aan de slag kunnen met Azure.

Azure biedt verschillende manieren om uw toepassing te hosten. In dit artikel worden services voorgesteld die voldoen aan uw vereisten. Het is niet prescriptief. Combineer en match services om aan uw behoeften te voldoen. De meeste productieomgevingen combineren services om te voldoen aan bedrijfs- en organisatiebehoeften.

De services die u kiest, komen vaak overeen met twee overwegingen:

  • Geeft u de voorkeur aan eenvoud of controle?
  • Geeft u de voorkeur aan cloudeigen (containers) of azure-systeemeigen (op maat gemaakte hulpprogramma's en integraties)?

In de volgende video wordt de eerste overweging uitgelegd: eenvoud versus controle.

Eenvoud en controle

Azure-hostingservices hebben twee belangrijke overwegingen:

  • Eenvoud versus beheer
    • Eenvoudige hostingplatforms hebben minder configuratie en beheer nodig, maar bieden u minder controle over de onderliggende infrastructuur.
    • Complexe hostingplatforms hebben meer configuratie en beheer nodig, maar bieden u meer controle over de onderliggende infrastructuur.
  • Cloudeigen versus Azure-systeemeigen
    • Cloudeigen toepassingen kunnen worden beschouwd als clouddraagbaar. Gebruik opensource-workloads zoals containers en technologieën zoals Dapr, zodat u de toepassingen kunt implementeren die u bouwt op elke cloudprovider.
    • Systeemeigen Azure richt zich op Azure-specifieke hulpprogramma's en technologieën voor het beheren van infrastructuur. Deze services omvatten containers, code-first, low-code en infrastructuurhulpprogramma's die de integratie in Azure-services benadrukken.

Vereenvoudigde hosting

Vereenvoudigde hostingoplossingen worden volledig beheerd door Azure. U bent verantwoordelijk voor de configuratie van code en omgeving. Azure beheert de onderliggende runtime en infrastructuur, inclusief updates en patches. Vereenvoudigde hosting is de systeemeigen Benadering van Azure.

Evenwichtige hosting

Evenwichtige hostingoplossingen zorgen voor een balans tussen de noodzaak van eenvoud en de noodzaak van controle. U bent verantwoordelijk voor functionaliteit, zoals code en omgevingsconfiguratie. Azure beheert de onderliggende runtime en infrastructuur, inclusief updates en patches. U kunt ook uw eigen container meenemen naar de service. Evenwichtige hosting is zowel systeemeigen als cloudeigen hosting van Azure.

Gecontroleerde hosting

Gecontroleerde hostingoplossingen bieden u volledige controle over de onderliggende infrastructuur. U bent verantwoordelijk voor updates, patches, code, assets en omgevingsconfiguratie. Gecontroleerde hosting is de cloudeigen benadering.

Broncodehosting

Voor ontwikkelaars die nieuw zijn in Azure die nieuwe ontwikkeling willen starten, gebruikt u de volgende grafiek om de voorgestelde hostingoplossing te vinden.

Diagram met geen code, lage code in het eerste vak, code in het tweede vak en container in het derde vak met aanbevolen services voor elk vak.

Geen code of weinig code

Azure biedt ondersteuning voor oplossingen zonder code als onderdeel van de cloudbenadering.

  • Logic Apps: Gebruik een visuele ontwerpfunctie met vooraf gedefinieerde bewerkingen om een werkstroom te ontwikkelen voor uw bedrijfs- en business-to-business-scenario's.
  • Power Automate, zoals Power-apps: gebruik deze functie wanneer u bedrijfsprocessen en werkstromen binnen de Microsoft 365-organisatie moet automatiseren.

Code versus container

Hostingoplossingen met weinig code zijn ontworpen om u in staat te stellen uw codefunctionaliteit te bieden zonder dat u de toepassingsinfrastructuur hoeft te beheren.

  • Azure Static Web Apps: Gegenereerde statische web-apps implementeren.
  • Azure Functions: Codefuncties implementeren in ondersteunde talen zonder de toepassingsinfrastructuur te beheren.

Code-first hostingoplossingen hostcode, zodat u rechtstreeks in de service implementeert.

Container-first hostingoplossingen zijn ontworpen voor het hosten van containers. De service biedt containerspecifieke configuratieopties en -functies. U bent verantwoordelijk voor de berekening die in de container wordt gebruikt. De services die containers hosten van beheerd beheer naar volledige verantwoordelijkheid, zodat u alleen de gewenste hoeveelheid containerbeheer uitvoert.

Hosting van kubernetes-gerichte indeling omvat:

Service Focus Gebruik
Azure Kubernetes Service Systeemeigen cloud Gebruik voor Kubernetes-clusters met een declaratieve benadering met behulp van configuratiebestanden en externe artefacten.
Azure Service Fabric Systeemeigen Azure Gebruik een imperatieve benadering voor het implementeren van microservices in clusters van machines. Het biedt een programmeermodel waarmee ontwikkelaars code kunnen schrijven die de gewenste status van het systeem beschrijft, en de Service Fabric-runtime zorgt ervoor dat het systeem overeenkomt met die status.

Vooraf geconfigureerde containerhosting betekent dat de indelingsopties vooraf voor u zijn geconfigureerd. Voor de mogelijkheid om te communiceren tussen containers of containerclusters is mogelijk een extra service nodig, zoals Dapr.

Service Gebruik
Azure App Service Full-service webhosting
Azure Spring Apps Spring Boot-toepassingen
Azure Container Apps Serverloze containerhosting
Azure Container Instances Eenvoudige hosting met één container

Azure biedt een containerregister voor het opslaan en beheren van uw containerinstallatiekopieën of u kunt een containerregister van derden gebruiken.

Service Gebruik
Azure Container Registry- Gebruik deze functie wanneer u uw eigen containerinstallatiekopieën bouwt en host, die kan worden geactiveerd met doorvoeringen van broncode en updates van basisinstallatiekopieën.

Serverloos

Serverloze hostingoplossingen zijn ontworpen om staatloze code uit te voeren, waaronder een prijscategorie op basis van verbruik die wordt geschaald naar nul wanneer deze niet wordt gebruikt.

Service Gebruik
Azure Container Apps Containerhosting
Azure Functions Code of containerhosting

Microservices

Microservices die hostingoplossingen uitvoeren, voeren kleine, onafhankelijke services uit die samenwerken om een grotere toepassing te vormen. Microservices worden doorgaans geïmplementeerd als containers.

Service Gebruik
Azure Container Apps Gebruiken voor serverloze microservices in containers.
Azure Functions Gebruiken voor serverloze code of in containers geplaatste microservices.

Cloudrand

Cloud edge is een term die aangeeft of de cloudservice zich bevindt ten behoeve van de gebruiker (client) of de toepassing (server).

Client compute

Client compute wordt uitgevoerd op de client buiten Azure. Clientcompensatie wordt doorgaans gebruikt voor rendering aan de clientzijde en verwerking aan de clientzijde, zoals browsertoepassingen of mobiele toepassingen.

Service Gebruik
Azure Static Web Apps Gebruiken voor statische web-apps die gebruikmaken van rendering aan clientzijde, zoals React, Angular, Svelte, Vue en Blazor.

Beschikbaarheid van client

Service Gebruik
Azure Front Door Gebruik dit voor alle internetgerichte toepassingen om een wereldwijd in de cache opgeslagen en beveiligd netwerk te bieden aan uw statische en dynamische assets, waaronder DDoS-beveiliging, end-to-end TLS-versleuteling, toepassingsfirewalls en geofiltering.

Server compute

Server-rekenassets zijn bestanden die door de server worden verwerkt voordat ze aan de client worden geleverd. Dynamische assets worden ontwikkeld met behulp van compute van back-endservers, optioneel geïntegreerd met andere Azure-services.

Service Gebruik
Azure App Service Gebruik deze service voor typische webhosting. Dit biedt ondersteuning voor een breed scala aan functionaliteits-API-eindpunten, volledige stacktoepassingen en achtergrondtaken. Deze service wordt geleverd met veel runtimes voor programmeertalen en de mogelijkheid om uw eigen stack, taal of workload van een container te bieden.
Azure Functions Gebruik deze service om uw eigen code op te geven in de ondersteunde talen voor HTTP-eindpunten of op gebeurtenissen gebaseerde triggers van Azure-services.
Azure Spring Apps Gebruik dit om Spring Boot-toepassingen te implementeren zonder codewijzigingen.
Azure Container Apps Gebruik dit voor het hosten van beheerde microservices en toepassingen in containers op een serverloos platform.
Azure Container Instances Gebruik dit voor eenvoudige containerscenario's die geen containerindeling nodig hebben.
Azure Kubernetes Service Gebruik deze service wanneer u een Kubernetes-cluster nodig hebt. Het besturingsvlak voor het beheren van het cluster wordt zonder extra kosten voor u gemaakt.

Beheer van servereindpunten

Met servereindpuntbeheer kunt u servereindpunten beheren via een gateway waarmee versiebeheer, caching, transformatie, API-beleid en bewaking worden toegevoegd.

Service Gebruik
Azure API Management Gebruik deze service wanneer u uw REST-, OpenAPI- en GraphQL-API's productiseert met een API-gateway, waaronder quota en frequentielimieten, verificatie en autorisatie, transformatie en reacties in de cache.
Azure Application Gateway Gebruiken voor regionale taakverdeling (OSI-laag 7). Het kan worden gebruikt om verkeer te routeren op basis van URL-pad of hostheaders en biedt ondersteuning voor SSL-offloading, sessieaffiniteit op basis van cookies en WAF-mogelijkheden (Web Application Firewall).
Azure Front Door Gebruik dit voor globale taakverdeling (OSI-laag 7) om een wereldwijd in cache opgeslagen en beveiligd netwerk te bieden aan uw statische en dynamische assets, waaronder DDoS-beveiliging, end-to-end TLS-versleuteling , toepassingsfirewalls en geofiltering.
Azure Traffic Manager Gebruik dit voor het distribueren van verkeer via DNS (OSI-laag 7) naar uw openbare toepassingen in de wereldwijde Azure-regio's. Traffic Manager gebruikt DNS om clientaanvragen naar het juiste service-eindpunt te leiden op basis van een verkeersrouteringsmethode. Het ondersteunt verschillende verkeersrouteringsmethoden, zoals prioriteit, prestaties en geografische routering. Het is ideaal voor het beheren van verkeer in meerdere regio's of datacenters.

Geautomatiseerde berekening

Geautomatiseerde berekening wordt geautomatiseerd door een gebeurtenis zoals een getimed schema of een andere Azure-service en wordt meestal gebruikt voor achtergrondverwerking, batchverwerking of langdurige processen.

Service Gebruik
Power Automate Gebruik deze functie wanneer u bedrijfsprocessen en werkstromen moet automatiseren.
Azure Functions Gebruik deze opdracht wanneer u code wilt uitvoeren op basis van een getimed schema of als reactie op gebeurtenissen in andere Azure-services.
Containerservices (Azure Container Instances, Azure Kubernetes Service, Azure Container Apps) Gebruiken voor standaard automatiseerbare workloads
Azure Batch Gebruik deze functie wanneer u high-performance automatisering nodig hebt.

Hybride cloud

Hybride cloud is een computingomgeving die de on-premises privécloudservices van een bedrijf en openbare cloud van derden verbindt tot één flexibele infrastructuur voor het uitvoeren van de toepassingen en workloads van de organisatie.

Service Gebruik
Azure Arc Gebruik wanneer u uw hele omgeving moet beheren, zowel cloudresources als on-premises resources, waaronder beveiliging, governance, inventaris en beheer.

Als u uw eigen infrastructuur niet hoeft te onderhouden, gebruikt u Azure Stack HCI om on-premises virtuele machines uit te voeren.

Prestatiegerichte computing

HpC (High Performance Computing) is het gebruik van parallelle verwerking voor het efficiënt, betrouwbaar en snel uitvoeren van geavanceerde toepassingsprogramma's. De term is met name van toepassing op systemen die boven een teraflop- of 10^12 drijvendekommabewerkingen per seconde functioneren.

Service Gebruik
Azure Batch Azure Batch maakt en beheert een pool van rekenknooppunten (virtuele machines), installeert de toepassingen die u wilt uitvoeren, en plant het uitvoeren van taken op de knooppunten. Ontwikkelaars kunnen Batch gebruiken als een platformservice voor het bouwen van de SaaS-toepassingen of de client-apps waar grootschalige uitvoering is vereist.
Azure BareMetal-exemplaren Gebruik deze opdracht wanneer u moet worden uitgevoerd in een niet-gevirtualiseerde omgeving met toegang op hoofdniveau tot het besturingssysteem, de opslag en het netwerk.
Azure Quantum-werkruimte Gebruik deze functie wanneer u kwantumalgoritmen moet ontwikkelen en experimenteren.
Microsoft Genomics Gebruik voor ISO-gecertificeerde, HIPAA-compatibele genomische verwerking.

Zie High Performance Computing in Azure voor meer informatie.

Berekening op basis van gebeurtenissen

Op gebeurtenissen gebaseerde berekeningen zijn berekeningen die worden geactiveerd door een gebeurtenis, zoals een getimed schema of een andere Azure-service. Op gebeurtenissen gebaseerde berekeningen worden doorgaans gebruikt voor achtergrondverwerking, batchverwerking of langlopende processen.

Service Gebruik
Microsoft Copilot Studio Gebruik deze functie wanneer u chatbots met een interface zonder code moet maken.
Azure Functions Gebruik deze opdracht wanneer u code wilt uitvoeren op basis van een getimed schema of als reactie op gebeurtenissen in andere Azure-services.
Azure Service Bus Messaging Gebruik deze functie wanneer u toepassingen en services loskoppelt.

CI/CD-rekenproces

CI/CD-rekenkracht is rekenkracht die wordt gebruikt voor het bouwen en implementeren van uw toepassing.

Service Beschrijving
Azure DevOps Gebruik Azure DevOps voor een nauwe integratie met de Azure-cloud, inclusief verificatie en autorisatie voor de gehoste agents, die uw toepassing bouwen en implementeren.
GitHub Actions Gebruik GitHub Actions om uw GitHub-opslagplaatstoepassingen te bouwen en te implementeren. Gebruik de Azure CLI om veilig toegang te krijgen tot Azure binnen de actie.
Virtuele Machines in Azure Als u een ander CI/CD-systeem gebruikt, kunt u Azure Virtual Machines gebruiken om uw CI/CD-systeem te hosten.

Java-resources

Aanvullende bronnen