In previous blog posts we have talked about the Datapath.io anycast service and how we use it in combination with multiple AWS regions to provide a global anycast service for web services and applications.
Anycast has several advantages over unicast, including lower network latency and speed, which have been outlined in previous articles. Another advantage of using anycast is the ability to easily incorporate load balancers into the network architecture.
Load balancers distribute network or application traffic across a number of servers, so that no single server exceeds its capacity. Load balancers increase the capacity, reliability and robustness of applications, by distributing and decreasing the concurrent users on servers.
The performance of web services and applications depends to a certain degree on the amount of traffic that they receive. Websites are prone to slow down when experiencing large influxes of internet traffic and can in some cases experience complete shut downs.
Incorporating load balancers into the network architecture of webservers that handle a lot of internet traffic or experience unexpected spikes in traffic can protect against slow speeds and downtime. Whenever a web server approaches its capacity, requests can be re-routed to another server. This ensures that individual servers do not exceed their capacity and ultimately leads to more uptime, availability and better application performance for web services.
Load balancers in their classical hardware manifestation are complex, expensive to maintain and require expert upkeep and maintenance. The increasing trend of network technology virtualization has caught up with load balancers too. Virtualized load balancers are easier to maintain and manage and cost a lot less.
Datapath.io AWS load balancer
Datapath.io’s AWS load balancer is a virtualized load balancer that works in combination with the AWS cloud. The AWS load balancer leverages anycast and connections to multiple AWS regions to globally load balance network traffic based on regional preferences or business rules.
Datapath.io’s anycast fabric is connected to multiple AWS regions through Amazon DirectConnect along with upstream connections to transit providers. We take a more detailed look our anycast fabric in this blog post.
Load Balancing: Regional preferences
The load balancing scenario for regional rules utilizes two VPCs (Virtual Private Clouds) at two AWS regions in an active/active scenario. This means that both VPCs are actively advertising the same IP address.
Datapath.io routing fabric then utilizes anycast to route internet traffic to the VPCs based on topological proximity. Using a regional preference rule, internet traffic is routed to the VPC nearest to the request origin point. This basically translates into internet traffic originating in Heidelberg, Germany being routed to AWS Frankfurt whereas traffic originating in Manchester being routed to AWS Dublin.
AWS Load Balancer: Regional Preferences
Load Balancing: Business Rules
The load balancing scenario based on business rules also leverages two VPCs at two AWS regions connected to the Datapath.io anycast fabric. However, unlike regional preferences one VPC advertises a degraded IP address to the transit provider’s routers.
Degrading or exalting a particular AWS region determines the split of internet router paths to that particular region. Within the BGP, business rules are reflected using AS_PATH prepending and BGP community values provided by the transit providers, thus gaining fine-grained (nation-level) distinction of geographic regions.
AWS Load Balancer: Business Rules
Datapath.io collects statistics and topology data and provides it to the tenant’s cloud setup via an API. An instance within the cloud setup consumes the statistics and degrades or exalts the Datapath.io routes to a particular AWS region. Exalting the routes to a particular AWS region will result in more internet traffic being routed to that particular region. Correspondingly, degrading the BGP routes to an AWS region results in less internet traffic being routed to it. By proactively monitoring statistics and topology data, Datapath.io load balances internet traffic over multiple AWS regions in response to network events like traffic spikes.
To learn more download the Anycast Whitepaper.