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.
- Deel 1: Overzicht van Azure voor ontwikkelaars
- Deel 2: Belangrijke Azure-services voor ontwikkelaars
- Deel 3: Toepassingen hosten in Azure
- Deel 4: Uw app verbinden met Azure-services
- Deel 5: Hoe kan ik resources maken en beheren in Azure?
- Deel 6: Belangrijke concepten voor het bouwen van Azure-apps
- Deel 7: Hoe word ik gefactureerd?
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.
- Azure-app Service: Full-service webhosting, waaronder taalruntimes, containers en automatiseringsworkloads.
- Azure Container Apps: Serverloze containerhosting.
- Azure Spring Apps: Spring Boot-toepassingen migreren naar de Azure-cloud.
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.
- Virtuele Azure-machines: volledig beheer van vm's.
- Azure Kubernetes Service: Volledig beheer van Kubernetes-cluster.
Broncodehosting
Voor ontwikkelaars die nieuw zijn in Azure die nieuwe ontwikkeling willen starten, gebruikt u de volgende grafiek om de voorgestelde hostingoplossing te vinden.
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.
- Azure-app Service: webhosting in volledige service.
- Azure Spring Apps: Spring Boot-toepassingen.
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. |