Other container deployment options
Tip
This content is an excerpt from the eBook, Architecting Cloud Native .NET Applications for Azure, available on .NET Docs or as a free downloadable PDF that can be read offline.
Aside from Azure Kubernetes Service (AKS), you can also deploy containers to Azure App Service for Containers and Azure Container Instances.
When does it make sense to deploy to App Service for Containers?
Simple production applications that don't require orchestration are well suited to Azure App Service for Containers.
How to deploy to App Service for Containers
To deploy to Azure App Service for Containers, you'll need an Azure Container Registry (ACR) instance and credentials to access it. Push your container image to the ACR repository so that your Azure App Service can pull it when needed. Once complete, you can configure the app for Continuous Deployment. Doing so will automatically deploy updates whenever the image changes in ACR.
When does it make sense to deploy to Azure Container Instances?
Azure Container Instances (ACI) enables you to run Docker containers in a managed, serverless cloud environment, without having to set up virtual machines or clusters. It's a great solution for short-running workloads that can run in an isolated container. Consider ACI for simple services, testing scenarios, task automation, and build jobs. ACI spins-up a container instance, performs the task, and then spins it down.
How to deploy an app to Azure Container Instances
To deploy to Azure Container Instances (ACI), you need an Azure Container Registry (ACR) and credentials for accessing it. Once you push your container image to the repository, it's available to pull into ACI. You can work with ACI using the Azure portal or command-line interface. ACR provides tight integration with ACI. Figure 3-12 shows how to push an individual container image to ACR.
Figure 3-12. Azure Container Registry Run Instance
Creating an instance in ACI can be done quickly. Specify the image registry, Azure resource group information, the amount of memory to allocate, and the port on which to listen. This quickstart shows how to deploy a container instance to ACI using the Azure portal.
Once the deployment completes, find the newly deployed container's IP address and communicate with it over the port you specified.
Azure Container Instances offers the fastest way to run simple container workloads in Azure. You don't need to configure an app service, orchestrator, or virtual machine. For scenarios where you require full container orchestration, service discovery, automatic scaling, or coordinated upgrades, we recommend Azure Kubernetes Service (AKS).
References
- What is Kubernetes?
- Installing Kubernetes with Minikube
- MiniKube vs Docker Desktop
- Visual Studio Tools for Docker
- Understanding serverless cold start
- Pre-warmed Azure Functions instances
- Create a function on Linux using a custom image
- Run Azure Functions in a Docker Container
- Create a function on Linux using a custom image
- Azure Functions with Kubernetes Event Driven Autoscaling
- Canary Release
- Azure Dev Spaces with VS Code
- Azure Dev Spaces with Visual Studio
- AKS Multiple Node Pools
- AKS Cluster Autoscaler
- Tutorial: Scale applications in AKS
- Azure Functions scale and hosting
- Azure Container Instances Docs
- Deploy Container Instance from ACR