Just about every customer I’ve ever talked with has a common challenge, “How do we plan for cyclical surges in user activity?” Depending on your business area, this could be a critical area of planning. Take for example, the retail sector. We just came out of the end-of-year holiday spending season where retail stores typically see more foot traffic and Internet-based traffic. The increase in web traffic is several multiples higher than during other times of years. If these organizations don’t plan the infrastructure appropriately, their sites will become unavailable and customers will go elsewhere.
Also, ever hear of web sites going offline because the site couldn’t support the unexpected surge of traffic because of a release of a new product, or the first day of concert ticket sale, or the first day of American Idol online voting? What about your business? Aren’t there certain times each month or year where usage rates significantly increase for some of your applications? Month-end or year-end cyclical surges are huge design factors when determining the size/scope of an infrastructure. Most organizations plan for the surges by adding more hardware and infrastructure, but is this really the right path? You end up spending more money on systems you only need for 2-5% of the time. Is there a better way of dealing with the surge?
Of course there is… Cloudbursting. The premise is to use the cloud in times when excess capacity is required so you only pay for what you use. Instead of spending tens of thousands of dollars on your own infrastructure that is rarely used, you spend hundreds of dollars for your usage time in the cloud. The big challenge with Cloudbursting is enabling the cloud to deliver your applications just-in-time. In order to have a successful cloudburst, the following needs to happen:
- Determine when excess capacity is required
- Quickly enable enterprise applications in the cloud
- Seamlessly distribute user requests between the enterprise and the cloud
- Dynamically reduce capacity as the needs decrease
- Execute the entire process automatically, seamlessly and efficiently
Does this sound too good to be true? Being able to implement a Cloudburst is completely possible with the Citrix Cloud Center (C3).
- First, Citrix NetScaler is used to dynamically route users to your enterprise applications. Part of the decision making process of the NetScaler is to determine utilization of the enterprise application, either based on connections, bandwidth or even CPU utilization. When a threshold is reached, NetScaler sends out a warning about the need for more capacity.
- Citrix Workflow Studio receives the request for more capacity and kicks off a series of automated workflows that does the following:
- Instruct a cloud-based Citrix XenServer to boot up.
- Instruct Citrix Provisioning Server to deliver the appropriate application workload as a new virtual machine on XenServer.
- Populate NetScaler with address information about the new cloud-based workload
- At this point, extra capacity is available in the cloud. NetScaler will use the address information obtained from Workflow Studio to load balance requests between the cloud-based application and the enterprise-based application. As the load balancing continues, NetScaler will continue to monitor the application capacity levels, which will start the entire process over again and potentially spin up a new virtual server.
The entire process can happen in a matter of seconds. New capacity is online in the time it takes to boot a server. We are able to successfully add more capacity in the cloud, but we are not done yet. We are trying to save money so we also want to be able to reduce capacity in a timely manner. Just like before, the Citrix Cloud Center is able to do this.
- As capacity decreases, NetScaler will reach a low-level threshold and tell Workflow Studio to reduce capacity.
- Workflow Studio will kick off a series of workflows that does the following:
- Instruct NetScaler to stop load balancing requests to a particular application server.
- NetScaler will update its load balancing tables to remove the identified server
- Workflow Studio will monitor the identified server and wait for all user sessions to complete. Once this happens, Workflow Studio will instruct the server to shut down. If no more virtual machines are running on the particular XenServer, Workflow Studio will instruct the XenServer to shutdown.
So, what do we get with the Citrix Cloud Center and Cloudbursting?
- NetScaler provides us with the ability to identify when excess capacity is required and also allows us to seamlessly distribute loads between the enterprise and the cloud without users knowing from where their applications originated.
- XenServer (with Provisioning Server) allows us to deliver a new application workload in the time it takes for a server to boot. Only one workload image is maintained as the application workload used in the cloud is the exact same workload delivered within the enterprise.
- Workflow Studio creates an automated solution that orchestrates the entire process from adding more capacity to reducing capacity.
You tell me, is cloudbursting a viable alternative to building massive enterprise infrastructures that sit idle 95% of the time? I think it is.