Cloud Bursting with A10 Lightning ADS

Cloud bursting is an application deployment model in which an application that normally runs in a private cloud or in a data center “bursts” into a public cloud when the application needs additional resources (i.e. computing power) and uses cloud computing for the additional resource requirement.

Think of a scenario in which an e-commerce application is running in a data center and suddenly a few items become popular and a lot of users start viewing and trying to purchase them. Without warning, traffic to the website increases and response times become slower due to the load on servers. The only solution now is to scale the server infrastructure by provisioning more servers to handle the increased traffic. But provisioning new servers on-the-fly is not an option in a data center. Enter public clouds come as savior. With public cloud services like AWS, you can launch the new server and route the additional traffic to it.

Cloud bursting leverages a hybrid cloud model. The advantage of a hybrid cloud deployment is that resources can become available on-the-fly and an organization only pays for the extra compute resources they consume.

Learn more in this presentation:

Cloud Bursting Architectural Model

The cloud bursting architecture establishes a form of dynamic scaling that scales or “bursts out” on-premise IT resources into a cloud whenever predefined capacity thresholds are reached. The corresponding cloud-based IT resources are redundantly pre-deployed but remain inactive until cloud bursting occurs. After the additional resources are no longer required, the cloud-based IT resources are released and the architecture “bursts in” back to the on-premise environment.

The foundation of this architectural model is based on the automated scaling listener and resource replication mechanisms. The automated scaling listener first determines when to trigger resource replication for deploying the server in cloud. Next, when the additional resources (i.e. servers) are ready in the cloud, it redirects requests to those servers along with the on-premise servers.

Solution Components

In this solution, we see how we can burst into an AWS environment with minimal cost. A10 Lightning Application Delivery Service (ADS) will work as scaling listener and AWS Lambda functions will work as replication mechanism for this solution. An AWS API Gateway will be required to invoke Lambda functions from A10 Lightning ADS.

In steady state, A10 Lightning ADS will front-end the application traffic and will monitor for server latency. An application server instance is expected in the AWS account in stopped state so it can be started by the Lambda function as needed.

A10 Lightning ADS

A10 Lightning ADS optimizes the delivery and security of cloud-native applications and services running over public and private clouds. For organizations embracing the cloud and application-centricity, A10 Lightning ADS increases operational efficiency, offloads cumbersome tasks from IT administrators and reduces risk.

The solution provides innovative Layer 4-7 capabilities, including traffic management with content-switching, advanced elastic load-balancing, security and analytics for applications on public, private and hybrid clouds.

AWS Lambda

AWS Lambda is a compute service from AWS that lets you run code without provisioning or managing servers.

AWS Lambda executes your code only when needed and scales automatically, from a few requests per day to thousands of requests per second. You pay only for the compute time you consume. There is no charge when your code is not running. With AWS Lambda, you can run code for virtually any type of application or backend service -- all with zero administration.

AWS Lambda runs your code on a high-availability compute infrastructure and performs all the administration of the compute resources, including server and operating system maintenance, capacity provisioning and automatic scaling, code monitoring and logging.

AWS API Gateway

Amazon API Gateway supports the following two major functionalities:

  • It lets you create, manage and host a RESTful API to expose AWS Lambda functions, HTTP endpoints and other services from the AWS family.
  • It lets you to call a deployed API to access the integrated back-end features, using standard HTTP protocols or a platform- or language-specific SDK generated by API Gateway for the API.

Scale Up Workflows

A10 Lightning ADS

  • Continuously monitors the traffic for server latency
  • Raises alert and delivers to pre-configured web-hook when latency is beyond specified limit

API Gateway

  • Handles the alert and calls corresponding Lambda function
  • Lambda Function

Starts the server instance

  • Calls A10 Lightning ADS APIs to add server to appropriate server pool

A10 Lightning ADS

  • Waits for server to become responsive
  • Starts sending traffic to the new server

Scale Down Workflows

A10 Lightning ADS

  • Continuously monitors the traffic for server latency
  • Raises alert and delivers to pre-configured web-hook when latency is below specified limit

API Gateway

  • Handles the alert and calls corresponding Lambda function

Lambda Function

  • Calls ADS APIs to remove server from appropriate server pooL
  • Stops the server instance

A10 Lightning ADS

  • Stops sending traffic to the server
  • If any request is sent to this server and fails, it is forwarded to another serve

Code and Configuration

The A10 Networks team has developed the code for the solution and sample configuration. The complete solution can be downloaded from the Github repository. The repository also has step-by-step guide for customizing the solution to your needs and deploying it in AWS.

To see cloud bursting in action, watch this video:

We hope you find this useful. If you are interested in trying A10 Lightning ADS, request a trial and unleash the benefits of cloud-native application services.

Add new comment