This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can trysigning in orchanging directories.
Access to this page requires authorization. You can trychanging directories.
This article is part three in a series of seven articles that help developers get started with Azure.
Azure offers several ways to host your application. This article suggests services that match your requirements. It isn't prescriptive. Mix and match services to meet your needs. Most production environments combine services to meet business and organizational needs.
The services you choose often come down to two considerations:
The following video explains the first consideration: simplicity versus control.
Azure hosting services involve two key considerations:
Simplified hosting solutions are fully managed by Azure. You're responsible for code and environment configuration. Azure manages the underlying runtime and infrastructure, including updates and patches. Simplified hosting is the Azure-native approach.
Balanced hosting solutions balance the need for simplicity with the need for control. You're responsible for functionality such as code and environment configuration. Azure manages the underlying runtime and infrastructure, including updates and patches. You can also bring your own container to the service. Balanced hosting is both Azure-native and cloud-native.
Controlled hosting solutions give you full control over the underlying infrastructure. You're responsible for updates, patches, code, assets, and environment configuration. Controlled hosting is the cloud-native approach.
For developers new to Azure who want to startnew development, use the following chart to find the suggested hosting solution.

Azure supports no-code solutions as part of its cloud approach.
Low-code hosting solutions are designed to allow you to bring your code functionality without having to manage the application infrastructure.
Code-first hosting solutions host code so you deploy directly to the service.
Container-first hosting solutions are designed to host containers. The service provides container-specific configuration options and features. You're responsible for the compute used inside the container. The services which host containers move from managed control to full responsibility so you only take on the amount of container management you want.
Kubernetes-centric orchestration hosting includes:
| Service | Focus | Use |
|---|---|---|
| Azure Kubernetes Service | Cloud-native | Use for Kubernetes clusters with adeclarative approach using configuration files and external artifacts. |
| Azure Service Fabric | Azure-native | Use animperative approach to deploying microservices across clusters of machines. It provides a programming model that allows developers to write code that describes the desired state of the system, and the Service Fabric runtime takes care of making the system match that state. |
Preconfigured container hosting means the orchestration options are preconfigured for you. Your ability to communicate between containers or container clusters might require an additional service such asDapr.
| Service | Use |
|---|---|
| Azure App Service | Full-service web hosting |
| Azure Spring Apps | Spring Boot applications |
| Azure Container Apps | Serverless container hosting |
| Azure Container Instances | Simple single-container hosting |
Azure provides a container registry to store and manage your container images or you can use a third-party container registry.
| Service | Use |
|---|---|
| Azure Container Registry | Use when you build and host your own container images, which can be triggered with source code commits and base image updates. |
Serverless hosting solutions are designed to run stateless code, which includes a consumption-based pricing tier that scales to zero when not used.
| Service | Use |
|---|---|
| Azure Container Apps | Container hosting |
| Azure Functions | Code or container hosting |
Microservices hosting solutions run small, independent services that work together to form a larger application. Microservices are typically deployed as containers.
| Service | Use |
|---|---|
| Azure Container Apps | Use for serverless containerized microservices. |
| Azure Functions | Use for serverless code or containerized microservices. |
Cloud edge is a term to indicate if the cloud service is located to benefit the user (client) or the application (server).
Client compute runs on the client outside Azure. Client compute is typically used for client-side rendering and client-side processing such as browser-based or mobile applications.
| Service | Use |
|---|---|
| Azure Static Web Apps | Use for static web apps that use client-side rendering such as React, Angular, Svelte, Vue, and Blazor. |
| Service | Use |
|---|---|
| Azure Front Door | Use for all internet-facing applications to provide a global cached and secure network to your static and dynamic assets including DDoS protection, end-to-end TLS encryption, application firewalls, and geo-filtering. |
Server compute assets are files that are processed by the server before being served to the client. Dynamic assets are developed using back-end server compute, optionally integrated with other Azure services.
| Service | Use |
|---|---|
| Azure App Service | Use this service for typical web hosting. This supports a wide set of functionality API endpoints, full-stack applications, and background tasks. This service comes with many programming language runtimes and the ability to provide your own stack, language, or workload from a container. |
| Azure Functions | Use this service to provide your own code in the supported languages for either HTTP endpoints or event-based triggers from Azure services. |
| Azure Spring Apps | Use to deploy Spring Boot applications without code changes. |
| Azure Container Apps | Use to host managed microservices and containerized applications on a serverless platform. |
| Azure Container Instances | Use this for simple container scenarios that don't need container orchestration. |
| Azure Kubernetes Service | Use this service when you need a Kubernetes cluster. The control plane to manage the cluster is created and provided for you at no extra cost. |
Server endpoint management lets you manage server endpoints through a gateway that adds versioning, caching, transformation, API policies, and monitoring.
| Service | Use |
|---|---|
| Azure API Management | Use this service when you productize yourREST, OpenAPI, and GraphQL APIs with an API gateway including quotas and rate limits, authentication and authorization, transformation, and cached responses. |
| Azure Application Gateway | Use forregional load balancing (OSI layer 7). It can be used to route traffic based on URL path or host headers, and it supports SSL offloading, cookie-based session affinity, and Web Application Firewall (WAF) capabilities. |
| Azure Front Door | Use forglobal load balancing (OSI layer 7) to provide a global cached and secure network to your static and dynamic assets including DDoS protection, end-to-end TLS encryption, application firewalls, and geo-filtering. |
| Azure Traffic Manager | Use for distributing traffic byDNS (OSI layer 7) to your public facing applications across the global Azure regions. Traffic Manager uses DNS to direct client requests to the appropriate service endpoint based on a traffic-routing method. It supports various traffic-routing methods such as priority, performance, and geographic routing. It's ideal for managing traffic across multiple regions or data centers. |
Automated compute is automated by an event such as a timed schedule or another Azure service and is typically used for background processing, batch processing, or long-running processes.
| Service | Use |
|---|---|
| Power Automate | Use when you need to automate business processes and workflows. |
| Azure Functions | Use when you need to run code based on a timed schedule or in response to events in other Azure services. |
| Container services (Azure Container Instances,Azure Kubernetes Service,Azure Container Apps) | Use for standard automatable workloads |
| Azure Batch | Use when you need high-performance automation. |
Hybrid cloud is a computing environment that connects a company's on-premises private cloud services and third-party public cloud into a single, flexible infrastructure for running the organization's applications and workloads.
| Service | Use |
|---|---|
| Azure Arc | Use when need to manage your entire environment, both cloud and on-premises resources including security, governance, inventory, and management. |
If you don't need to maintain your own infrastructure, use Azure Stack HCI to run virtual machines on-premises.
High-performance computing (HPC) is the use of parallel processing for running advanced application programs efficiently, reliably and quickly. The term applies especially to systems that function above a teraflop or 10^12 floating-point operations per second.
| Service | Use |
|---|---|
| Azure Batch | Azure Batch creates and manages a pool of compute nodes (virtual machines), installs the applications you want to run, and schedules jobs to run on the nodes. Developers can use Batch as a platform service to build SaaS applications or client apps where large-scale execution is required. |
| Azure BareMetal Instances | Use when you need to run in a nonvirtualized environment with root-level access to the operating system, storage, and network. |
| Azure Quantum workspace | Use when you need to develop and experiment with quantum algorithms. |
| Microsoft Genomics | Use for ISO-certified, HIPAA-compliant genomic processing. |
To learn more, seeHigh-performance computing on Azure.
Event-based compute is compute that is triggered by an event such as a timed schedule or another Azure service. Event-based compute is typically used for background processing, batch processing, or long-running processes.
| Service | Use |
|---|---|
| Microsoft Copilot Studio | Use when you need to create chatbots with a no-code interface. |
| Azure Functions | Use when you need to run code based on a timed schedule or in response to events in other Azure services. |
| Azure Service Bus Messaging | Use when you need to decouple applications and services. |
CI/CD compute is compute that is used to build and deploy your application.
| Service | Description |
|---|---|
| Azure DevOps | Use Azure DevOps for tight integration with the Azure cloud including authentication and authorization to the hosted agents, which build and deploy your application. |
| GitHub Actions | Use GitHub Actions to build and deploy your GitHub repository applications. Use the Azure CLI to securely access Azure within the action. |
| Azure Virtual Machines | If you use another CI/CD system, you can use Azure Virtual Machines to host your CI/CD system. |
Was this page helpful?
Need help with this topic?
Want to try using Ask Learn to clarify or guide you through this topic?
Was this page helpful?
Want to try using Ask Learn to clarify or guide you through this topic?