Azure Application Gateway for Containers is a service offered by Microsoft Azure. It is an application load balancer designed for managing traffic to container workloads in Azure. With Azure Application Gateway for Containers, users can effectively route and distribute traffic to their containerized applications, providing load balancing and traffic management capabilities at the application layer 7. It is for workloads running in a Kubernetes cluster. Also, work with AKs workloads. The evolution of the Application Gateway Ingress Controller (AGIC) enables AKS customers to use Azure’s native Application Gateway application load balancer.
Architecture of Application Gateway for Containers
Components of the Application Gateway for Containers are:
- Application Gateway for Containers
- Frontends
- Associations
The application gateway lives outside the AKS cluster data plane and is responsible for ingress. It is managed by an ALB controller component inside the AKS cluster and adheres to the Kubernetes Gateway APIs.
Key features and benefits of Azure Application Gateway for Containers
- Scalability: It allows for horizontal scalability, enabling users to scale their container workloads based on demand.
- Traffic Routing: It provides intelligent traffic routing capabilities, allowing users to direct traffic to specific containers based on various rules and conditions.
- Load Balancing: Users can distribute traffic across multiple containers to achieve high availability and improve performance.
- Security: Azure Application Gateway for Containers supports integration with Azure Web Application Firewall (WAF), providing additional security measures to protect containerized applications.
Deployment Strategy and Components
There are two ways to deploy the applicator containers when you deploy applications or containers. One is managed by the ALB controller, where you create the controller, the front end, and the association. Second, you can bring your front end and association.
- Managed by ALB Controller: The ALB Controller deployed in Kubernetes is responsible for the lifecycle of the Application Gateway for Containers resource and its sub-resources. The ALB Controller creates an Application Gateway for Container’s resource when the ApplicationLoadBalancer custom resource is defined on the cluster and its lifecycle.
- Bring Your Own (BYO) deployment: Deployment and lifecycle of Application Gateway for Containers resource, Association, and Frontend resource is assumed via Azure portal, CLI, PowerShell, Terraform, etc., and referenced in configuration within Kubernetes.
The external component front end provides a unique FQDN that the customer’s CNAME record can reference. It does not support private IP addresses. A single application gateway for containers can support multiple frontends. The next component is the association, a one-to-one mapping of an association resource to Azure Subnet that has been delegated.
The internal component ALB controller is used internally by Kubernetes. A Kubernetes deployment that orchestrates configuration and deployment of Application Gateway for containers. ALB controller consists of two running pods, an alb-controller pod, and an alb-controller-bootstrap pod.
Conclusion
Azure Application Gateway for containers provides several benefits for organizations. It offers advanced load balancing capabilities, security features, and scalability to handle high traffic volumes. It also allows for easy management and deployment of containerized applications, enabling organizations to host their applications on Azure efficiently. Additionally, integrating other Azure services and APIs enables seamless integration with existing infrastructure and workflows. Overall, Azure Application Gateway for containers is a reliable solution that helps organizations improve the performance, availability, and security of their containerized applications.
Metclouds Technology helps you to get a streamlined experience for deploying and managing container-based workloads on Azure.