Share via


Toepassingen hosten in Azure

Dit is deel drie in een reeks van 7 artikelen om ontwikkelaars te helpen aan de slag te gaan met Azure.

Azure biedt verschillende manieren om uw toepassing te hosten, afhankelijk van uw behoeften. In dit artikel worden services voorgesteld om aan de vereisten te voldoen. Het is niet proscriptief. U kunt services combineren en matchen om aan uw behoeften te voldoen. De meeste productieomgevingen gebruiken een combinatie van services om te voldoen aan hun 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 (bijvoorbeeld 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 worden geleverd met twee overwegingen:

  • Eenvoud versus beheer
    • Eenvoudige hostingplatforms vereisen minder configuratie en beheer, maar bieden minder controle over de onderliggende infrastructuur.
    • Complexere hostingplatforms vereisen meer configuratie en beheer, maar bieden meer controle over de onderliggende infrastructuur.
  • Cloudeigen versus Azure-systeemeigen
    • Cloudeigen toepassingen kunnen worden beschouwd als clouddraagbaar met behulp van opensource-workloads, zoals containers en opensource-technologieën zoals Dapr. De toepassingen die u bouwt, kunnen worden geïmplementeerd in elke cloudprovider.
    • Systeemeigen Azure is specifiek voor Azure met een investering in Azure-specifieke hulpprogramma's en technologieën om die infrastructuur te beheren. Hoewel deze services containerworkloads omvatten, bevatten ze ook code-first, low-code en infrastructuurhulpprogramma's die specifiek zijn voor Azure, met nadruk op het verbinden en integreren van Azure-services.

Vereenvoudigde hosting

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

  • Logic Apps: geautomatiseerde werkstromen maken en uitvoeren met weinig tot geen code.
  • Power Automate: Gebruik deze functie wanneer u bedrijfsprocessen en werkstromen moet automatiseren.
  • Azure Static Web Apps: Gegenereerde statische web-apps implementeren, zoals Blazor en React.
  • Azure Functions-apps: serverloze code of containerhosting.

Evenwichtige hosting

Evenwichtige hostingoplossingen zorgen voor een balans tussen de noodzaak van eenvoud en de noodzaak van controle. U bent verantwoordelijk voor de 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 host.

Gecontroleerde hosting

Gecontroleerde hostingoplossingen bieden u volledige controle over de onderliggende infrastructuur. U bent verantwoordelijk voor updates en patches, evenals uw 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

ondersteuning voor Azure maakt geen code-oplossingen deel uit van de Azure-Cloud-benadering.

  • 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 dat u de toepassingsinfrastructuur hoeft te beheren.

Hostoplossingen voor de eerste code zijn ontworpen voor het hosten van code. U kunt uw code rechtstreeks implementeren in de hostingoplossing.

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, enkele containerhosting

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 hosting oplossingen zijn ontworpen voor het uitvoeren van kleine, onafhankelijke services 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 is compute die wordt uitgevoerd op de client weg van de Azure-cloud. 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.

Servereindpuntbeheer

ServerEindpuntbeheer is de mogelijkheid om uw servereindpunt en de berekening ervan via een gateway te beheren. Deze gateway biedt functionaliteit zoals versiebeheer, caching, transformatie, API-beleid en bewaking.

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 tussen 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, kunt u Azure Stack HCI gebruiken om on-premises virtuele machines uit te voeren.

High Performance 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.

Meer informatie over High Performance Computing in Azure.

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
Power Virtual Agents 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.
Azure Virtual Machines 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