Azure provides a variety of different ways to host your application depending on your needs. This article suggests services to match requirements. It isn't proscriptive. You can mix and match services to meet your needs. Most production environments use a combination of services to meet their business and organizational needs.
The services you choose will often come down to two considerations:
Do you prefer simplicity or control?
Do you prefer cloud-native (i.e., containers) or Azure-native (tailored tools and integrations)
The following video explains the first consideration: simplicity versus control:
Simplicity and control
Azure hosting services are provided with two considerations:
Simplicity versus control
Simple hosting platforms require less configuration and management but provide less control over the underlying infrastructure.
More complex hosting platforms require more configuration and management but provide more control over the underlying infrastructure.
Cloud-native versus Azure-native
Cloud-native can be thought of as cloud-portable using open-source workloads such as containers and open-source technologies such as Dapr. The applications you build can be deployed to any cloud provider.
Azure-native is specific to Azure with an investment in Azure-specific tools and technologies to manage that infrastructure. While these services include container workloads, they also include code-first, low-code, and infrastructure tooling specific to Azure with an emphasis on connecting and integration between Azure services.
Simplified hosting
Simplified hosting solutions are fully managed by Azure. You're responsible for the functionality such as code and environment configuration. Azure manages the underlying runtime and infrastructure including updates and patches. Simplified hosting is the Azure-native approach.
Logic Apps: Create and run automated workflows with little to no code.
Power Automate: Use when you need to automate business processes and workflows.
Balanced hosting solutions balance the need for simplicity with the need for control. You're responsible for the 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.
Azure App Service: Full-service web hosting including language runtimes, containers, and automation workloads.
Azure Spring Apps: Migrate Spring Boot applications to the Azure cloud.
Controlled hosting
Controlled hosting solutions give you full control over the underlying infrastructure. You're responsible for updates and patches as well as your code, assets, and environment configuration. Controlled hosting is the cloud-native approach.
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.
Use an imperative 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 as Dapr.
Microservices hosting solutions are designed to run small, independent services that work together to make up a larger application. Microservices are typically deployed as containers.
Use for serverless code or containerized microservices.
Cloud edge
Cloud edge is a term to indicate if the Cloud service is located to benefit the user (client) or the application (server).
Client compute
Client compute is compute that runs on the client away from the Azure cloud. Client compute is typically used for client-side rendering and client-side processing such as browser-based or mobile applications.
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
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.
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 as well as the ability to provide your own stack, language, or workload from a container.
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
Server Endpoint Management is the ability to manage your server endpoint and its compute through a gateway. This gateway provides functionality such as versioning, caching, transformation, API policies, and monitoring.
Use this service when you productize your REST, OpenAPI, and GraphQL APIs with an API gateway including quotas and rate limits, authentication and authorization, transformation, and cached responses.
Use for regional 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.
Use for global 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.
Use for distributing traffic by DNS (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 is ideal for managing traffic across multiple regions or data centers.
Automated compute
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.
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.
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, you can use Azure Stack HCI to run virtual machines on-premises.
High performance computing
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.
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.
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.
Use Azure DevOps for tight integration with the Azure cloud including authentication and authorization to the hosted agents, which build and deploy your application.
Liity tapaamissarjaan ja luo skaalattavia tekoälyratkaisuja, jotka perustuvat reaalimaailman käyttötapauksiin muiden kehittäjien ja asiantuntijoiden kanssa.
Tässä moduulissa opit, miten suoritat Java-sovelluksia Azuressa. Valitset parhaan palveluvaihtoehdon myös näennäiskoneiden, Azure-sovelluspalvelun, palvelimettomien funktioiden, Azure Kubernetes -palvelun (AKS), Azuren säilösovellusten (ACA) ja Azure Spring Appsin joukosta.
Luo päästä päähän -ratkaisuja Microsoft Azuressa, jotta voit luoda Azure-funktioita, ottaa käyttöön ja hallita verkkosovelluksia, kehittää Azure-tallennustilaa hyödyntäviä ratkaisuja ja paljon muuta.