Optimizing application delivery has become more important in recent years, thanks to the rise of cloud computing and DevOps approaches. Containers are one such technology that has grown in popularity and is now widely accepted as the shape of things to come. Microsoft unveiled the public preview of Azure Container Apps during Ignite 2021, a fully managed serverless container runtime for building and executing contemporary apps at scale.
In this article, we’ll explain the technology, its merits, and your alternatives for running containers in Azure.
What are Containers?
You may use Azure Container Apps to execute microservices and containerized apps on a serverless environment. These are commonly used for the following purposes: Creating API endpoints, Hosting apps for background processing, Taking care of event-driven processing and Microservices execution.
Azure Container Apps supports the execution of application code bundled in any container, regardless of runtime or programming model. With Container Apps, you get the benefits of running containers without having to worry about maintaining cloud infrastructure or sophisticated container orchestrators.
Uses of Container:
You may use this to:
- Run several container versions and control the application lifetime of the container app.
- Scale your apps automatically depending on any KEDA-supported scale trigger.
- The majority of apps may be scaled to zero1. Enable HTTPS ingress without having to handle any additional Azure infrastructure.
- For Blue/Green deployments and A/B testing situations, distribute traffic across various versions of an application.
- For secure internal-only endpoints, use internal ingress and service discovery with built-in DNS-based service discovery.
- Dapr allows you to create microservices and use its extensive API set.
- Use any registry, public or private, to run containers, including Docker Hub and Azure Container Registry (ACR).
- To administer your apps, use the Azure CLI extension or ARM templates.
- Directly handle secrets in your application in a secure manner. Azure Log Analytics may be used to see application logs.
Features of Azure Container Apps
Features of Azure Container Apps: Build and Deploy Modern Apps and Microservices include –
- HTTP APIs, microservices, event processing, and background jobs are among the application kinds supported.
- The ability to develop code in your preferred language, framework, or SDK
- Autoscaling features that are robust and dependent on HTTP traffic or event triggers
- Modern application lifecycle chores can execute using simple setups.
AWS and GCP offer this sort of service. In AWS, you may utilise Elastic Kubernetes Service (EKS) with a Fargate profile, which turns EKS into a serverless service because no worker nodes are required. To operate Kubernetes without worker nodes, you may utilise Google Kubernetes Engine (GKE) AutoPilot in GCP, which is a serverless Kubernetes service.
Beginning with Azure Container Apps
Let’s start with creating container apps now that you know what Azure Container Apps are!
- First and foremost, log in to the Azure site and navigate to the Container Apps service.
- Following that, click the blue Create container app button.
- When developing a container app, the next step guarantees that you: Select a suitable resource group for the container app to exist in. The name of a container app (the name of the app running), A container app environment for storing logs for the container app, Fill in this information and then, at the bottom of the page, click Next: app settings.
- After the Create Container App page, you can begin specifying what container app you’ll use and how it will appear.
- First, deactivate the Use quickstart picture. After that, provide your container app: A moniker, Choose the Docker Hub image source, Public image type – For the image and tag, type nginx:latest to use the Docker Hub Nginx image. Finally, make sure that Ingress is activate. Because Nginx is a frontend web server/app, you must configure Ingress.
- Additionally, As you scroll down the screen, you’ll notice an opportunity to select the Ingress visibility and the destination port. Because the Nginx web app will be accessible to the world, you may select external visibility and a target port of 8080.
- When finished, click the blue Review + create button.
- Finally, The container app should now be visible in the resource group you select.
Clean up resources
If you are no longer intending to utilize this application, you may destroy the Azure Container Apps instance as well as all related services by deleting the resource group.
- From the Overview pane, choose the my-container-apps resource group.
- At the top of the resource group Overview, click the Delete resource group button.
- Moreover, In the Are you sure you want to delete “my-container-apps” confirmation popup, enter the resource group name my-container-apps.
- Furthermore, Choose Delete.
- The process of deleting the resource group may take a few minutes.
Concepts:
- Azure Container Apps Preview environments
- Individual container applications can deploy to a single Container Apps environment. Which serves as a secure border for container app groups. Container Apps installed in the same environment use the same virtual network and log to the same Log Analytics workspace.
- Containers in Azure Container Apps Preview
- Container Apps handles Kubernetes and container orchestration details for you. Containers in Azure Container Apps may run any runtime, programming language, or development stack that you choose.
- Revisions in Azure Container Apps Preview
- A revision is a container app’s immutable snapshot. When you deploy your container app, the first revision is complete automatically. When the template configuration of a container app changes, new revisions are immediately produced. While revisions are immutable, changes to global configuration variables, which apply to all revisions, have an effect on them.
- Application lifecycle management in Azure Container Apps Preview
- The lifespan of an Azure Container Apps application focuses on revisions. When you deploy a container app, the first revision is complete automatically. More revisions can produce if containers change. Or changes are made to the configuration’s template section. A container app is deployed, updated, and deactivated in three stages.
- Microservices with Azure Containers Apps Preview
- Microservice designs enable you to build, upgrade, version, and expand fundamental pieces of functionality in an overall system separately. Azure Container Apps is the basis for delivering microservices, and it includes: Scaling, versioning, and upgrades are all done independently, Discovering a Service and Dapr native integration.
Pricing
Begin with the free tier. Each month, the first 180,000 vCPU-seconds, 360,000 GiB-seconds, and 2 million requests are free. Pay solely for what you use, From the second, when the scale is zero.
Further, Read more about the Overview of Azure Container Apps at Microsoft’s site.
Final Words
Let’s be honest that Kubernetes is difficult. This is especially true for beginners or developers who wish to concentrate on addressing business problems rather than learning and mastering the underlying application platform. With the development of Azure Container Apps, teams and individual developers can stay focused on solving business problems while easily deploying cloud-native apps to a fully-managed service offering.
Azure Container Apps may be of particular interest to teams undergoing modernization and contemplating a migration to Azure Kubernetes Service. The ability to upgrade from Azure Container Apps to full-fledged Azure Kubernetes Service might reduce initial training requirements and allow for a faster release cadence.