Cloud bursting is a cloud computing technique that allows an application running in a private cloud or data center to automatically “burst” into a public cloud during periods of peak demand.

Cloud bursting provides organizations with the flexibility to handle unpredictable spikes in demand without compromising performance or incurring excessive costs. Instead of investing in additional hardware that may sit idle during off-peak times, businesses can dynamically scale their resources in response to real-time needs, keeping their applications stable while controlling operations costs.

In this article, you will learn more about what cloud bursting is, various techniques for implementing it, and how to decide if cloud bursting is the right approach for your application.

What is cloud bursting?

Cloud bursting is a hybrid deployment technique where an application on a private cloud redirects overflow traffic into a public cloud. This happens in response to a demand for computing resources greater than the private cloud’s capacity.

For example, imagine an e-commerce platform that runs on a private cloud. During regular operation, the platform handles traffic efficiently with its existing resources. However, during peak shopping seasons, such as Black Friday or holiday sales, the traffic to the platform spikes dramatically.

Instead of investing in additional on-premises infrastructure to handle these occasional peaks, the platform can use cloud bursting to temporarily offload excess traffic to a public cloud. This ensures that the website remains responsive and reliable, even under heavy loads, without the need for permanent overprovisioning.

You can provision extra computing resources in the public cloud in the same way you provision a metered utility. By purchasing time and capacity, you pay only for what you use in the public cloud. When demand drops below maximum capacity, the application or data moves back to your private cloud.

Strategies for cloud bursting

You can configure cloud bursting to deploy either manually or according to the policies you specify in the software.

Manual bursting

Manual bursting allows you to manually provision cloud resources when you experience or expect traffic increases. You do not need to wait for your load balancer to send notifications before manually allocating bursting capacity.

For example, say you work for a company that plans to run an advertisement during a popular sporting event. You should provision plenty of cloud bursting capacity a few days in advance and load test it to ensure it will keep up with potential demand.

You can free space or local resources for business-critical applications by creating large, temporary cloud deployments. For example, your organization’s AI teams can train and test their models on-premises and then buy extra capacity to train a large model on a large dataset.

Manual bursting lets you test cloud bursting projects before deployment, but the technique requires human labor at critical points. In every case of manual bursting, you need to manually de-provision all these cloud resources when demand drops. That leaves you open to human error. Cloud capacity is, after all, an expensive commodity, and once you have provisioned it, you are committed to the transaction — even if you do not use the capacity.

Automatic bursting

Automatic cloud bursting involves configuring the system to automatically shift workloads from a private cloud to a public cloud based on predefined policies and real-time metrics. This process is designed to occur without human intervention.

In this model, administrators set specific thresholds that trigger cloud bursting. For example, a policy might state that if CPU usage exceeds 80% for a sustained period, or if the number of active sessions exceeds a certain limit, then the system should initiate bursting. Depending on the architecture, this could involve deploying additional instances of the application, spinning up new virtual machines, or utilizing containerized services in the public cloud, then redirecting a portion of the traffic using a load balancer.

Once the spike in demand subsides, the system can automatically scale back the resources in the public cloud. The load balancer shifts traffic back to the private cloud, and the public cloud instances are de-provisioned

This technique is especially appropriate when you expect spikes in traffic without knowing precisely when or how prominent the peaks will be. For example, an e-commerce site expecting traffic spikes during holiday periods can use automatic bursting to handle the extra burden, even when they are unsure of their marketing efforts’ success that year.

Cloud bursting use cases

Most of the use cases described so far demonstrate how cloud bursting is best suited for peaky or unpredictable workloads. Let’s explore these use cases deeper.

Peaky load

Cloud bursting can be critical in continuous integration and continuous delivery (CI/CD) during the period leading up to a significant release or ship date. You may have large teams of developers simultaneously working on massive projects and running many builds all at once, requiring more resources than your on-premises servers can accommodate.

Large organizations that regularly release extensive product updates may handle peaks like these on-premises. Still, the companies that do this are often close to the public cloud providers’ size anyway.

Unpredictable demand

You can use cloud bursting to handle unpredictable traffic spikes. For example, your organization may be unsure how large the traffic spikes will be during a new marketing push. Manual bursting enables you to have computing resources ready in reserve for the campaign’s duration.

Banks also benefit from cloud bursting during holiday periods. The dramatic increase in transactions during festivities may exhaust a bank’s on-premises server resources.

Even so, it is not worth owning the infrastructure during the rest of the year. Bursting some of the bank’s non-critical and non-sensitive applications to a public cloud frees on-premises resources for business-sensitive applications.

Benefits and challenges of cloud bursting

Although cloud bursting offers many advantages, it also presents some new challenges that have important implications for using bursting. The cost-effectiveness and flexibility cloud bursting provides also make it more challenging to maintain the integrity of data and apps. It can also increase your infrastructure’s complexity.

The most dramatic benefit of bursting is its cost-effectiveness. You do not need to give up your on-premises infrastructure and its attractively small impact on your bottom line. You only pay for the public computing resources you use during peak demand, which is capacity you do not want to pay to maintain during periods of regular use.

Access to the benefits of both private and public clouds, under strictly controlled conditions, gives you flexibility for your deployments. You are not limited to the computing resources you have on-premises. You can take advantage of new research, development, or other business opportunities — especially when testing applications or models on large datasets.

Still, it’s a good idea to be careful of how your infrastructure is projecting into the public cloud. Moving some of your organization’s resources from on-premises hardware to the public cloud can add complexity in unexpected places, such as causing latency to service users. You may find it challenging to establish redundant connections requiring low latency and high bandwidth between your on-premises servers and the public cloud.

Exposing data to a public cloud also means that it may be compromised if someone attacks the public cloud. A primary reason organizations use the private cloud model, despite its cost and relative inflexibility, is to protect their data and applications. So, carefully consider if and how to configure your cloud bursting to work around the sensitive and critical data you need to keep on-premises.

How to implement cloud bursting strategies

To configure your services for cloud bursting, make sure your infrastructure is ready for deployment, and that your clouds are well-matched.

Carefully select the right cloud service provider for your needs. Providers are a varied group, and their cloud offerings are suited for different uses. To have the best cloud bursting experience, choose the cloud provider that best meets your application’s needs. For example, your need to access specific types of servers or GPUs may be a factor in picking one cloud provider over another.

You must also prepare your application. After choosing the right cloud provider, make sure your application is ready for deployment to the public cloud with all the dependencies it needs. Implement any security measures needed to protect your application and its data.

Then, set up load balancing. Set a predefined traffic threshold that your on-premises servers can handle. When an on-premises workload reaches this threshold, your application automatically switches to the public cloud by splitting requests between on-premises servers and public cloud infrastructure.

Is cloud bursting right for your team?

Cloud bursting enables organizations to scale their business without installing and maintaining additional resources on-premises. These resources are an overhead capacity you are unlikely to use regularly enough to make the investment reasonable.

Remember that cloud bursting also introduces security challenges by potentially deploying sensitive data to a public cloud. Before implementing cloud bursting, weigh the need to be cost-effective against the need to maintain your data’s integrity.

If your organization runs services or applications that are not so sensitive — or if you would be mostly unaffected when a public cloud provider is compromised — you can use cloud bursting to insure yourself against service disruptions caused by spikes in demand.

If security is a higher priority than cost-effectiveness, however, bursting might not be a viable solution. Some security-sensitive workloads must run only on-premises.

When you are ready to implement cloud bursting and a hybrid cloud approach to your software delivery strategy, automated CI/CD tools can help. A CI/CD pipeline can push code to the cloud when your app experiences a temporary traffic spike or when your developers require more resources for a looming release date. To learn more about how CI/CD can help your team manage spiky workloads, read CI/CD for the Hybrid Cloud and get started with a free CircleCI account.