This solution shows how to use Azure Traffic Manager to extend an app located in a local cloud by connecting it to public cloud resources. An increase or decrease in demand triggers a change in routing, and resources are added or removed in the cloud. These resources provide redundancy, rapid availability, and geo-compliant routing.
Traffic Manager
Azure Traffic Manager is a DNS-based traffic load balancer. This service allows you to distribute traffic to your public-facing applications across the global Azure regions. Traffic Manager also provides your public endpoints with high availability and quick responsiveness.
The traffic manager uses DNS to direct client requests to the appropriate service endpoint using a traffic routing method. The traffic manager also provides health monitoring for every endpoint, which can be any Internet-facing service hosted inside or outside of Azure. Traffic Manager provides a range of traffic-routing methods and endpoint monitoring options to suit different application needs and automatic failover models. Traffic Manager is resilient to failure, including the failure of an entire Azure region.
Traffic Manager Features
Increase application availability
Improve application performance
Service maintenance without downtime
Combine hybrid applications
Distribute traffic for complex deployments
Potential use cases
Global enterprises need their apps to be secure, reliable, and available. They also need to meet increases in demand and use the right infrastructure to support that demand. However, it can be difficult to balance costs and maintenance with business-data security, storage, and real-time availability.
When an app can't increase capacity to meet unexpected increases in demand, it can service only a fixed number of users. This lack of scalability can prevent users from reaching the app during peak usage times.
However, sometimes, it's not economically feasible for a business to maintain the capacity required to handle demand spikes in their on-premises environment. Using this solution, you can use the elasticity of the public cloud with your on-premises solution.
Use this solution when:
You need to increase your app's capacity for unexpected demand or periodic increases in demand.
You want to pay for certain resources only during peaks.
We don't recommend this solution when:
Your business is subject to local regulations that require the originating connection to come from an onsite call.
Your network experiences regular bottlenecks that would restrict the performance of scaling.
Your environment is disconnected from the internet and can't reach the public cloud.
Architecture
Components
Azure Stack Hub is an extension of Azure. Azure Stack Hub brings the agility of cloud computing to your on-premises environment. In this architecture, it hosts the on-premises version of the app.
Traffic Manager is a DNS-based traffic load balancer. It's used here to direct client requests to the appropriate endpoint.
Azure Virtual Machine Scale Sets enable you to scale virtual machines. In this architecture, you can use it to enable app resources to scale in and out.
Azure Container Instances enables you to run containers in Azure. In this architecture, it can be used as an alternative to Virtual Machine Scale Sets to provide scaling.
Domain Name System (DNS) translates (or resolves) a website or service name to its IP address.
The hosted build server is an environment for hosting your build pipeline.
Public IP addresses route the incoming traffic through Traffic Manager to the endpoint for the public cloud app resources.
Alternatives
For web applications, you can use Azure Front Door instead of Traffic Manager. Azure Front Door works on Layer 7 (HTTP/HTTPS). It can keep traffic on the best path to your app, improve service scale, reduce latency, and increase throughput for your global users with edge load balancing, SSL offload, and application acceleration.
Considerations
Reliability
Use appropriate on-premises hardware configuration and software deployment practices to ensure that locally deployed apps are configured for high availability.
Operational excellence
The operational excellence pillar of the Azure Well-Architected Framework covers the operations processes that keep an application running in production.
Performance efficiency
The key benefit of cross-cloud scaling is the ability to deliver on-demand scaling. Scaling must happen between public and local cloud infrastructure and provide a consistent, reliable service based on demand.
Comments