As IBM customers map their cloud strategy for the next three to five years, quite often they realize that one size does not fit all. The optimal cloud strategy is a judicious combination of hardware, software, pay-as-you-go services, and cloud-delivered business solutions—all complemented with proven expert services across strategy, migration, integration, and management and delivered by the vendor and an ecosystem of partners. Customers need to run certain elements of their business in a private cloud and must also integrate with elements running in the public cloud. For instance, certain applications run within the customer corporate firewall (private cloud), while other applications run on IBM SmartCloud Enterprise (public cloud), thus optimizing performance, reliability, security, and cost.
This type of cloud solution is called a hybrid cloud, because it involves both private and public clouds. Consider the following scenario, in which a hybrid cloud solution helps an e-commerce customer meet spikes in business demand by bursting from a private cloud to IBM's public cloud offering for more capacity during peak demand, and then pulling back when conditions stabilize.
Assume that this e-commerce client operates a private cloud environment in its data center. It also has an existing account in SmartCloud Enterprise, and the two environments are connected by a secure virtual private network (VPN). The e-commerce application and catalogs are preloaded in SmartCloud Enterprise. Based on prior years' traffic volume for the Mother's Day sale, the administrators expect high demand; therefore, considering the existing capacity in their private cloud, they define two thresholds in the IBM® WebSphere® DataPower® appliance: Lower and upper thresholds for network traffic.
As web traffic increases on Mother's Day, the volume exceeds the first threshold. As a result, the system automatically provisions additional resources in SmartCloud Enterprise. As the traffic continues to increase, crossing the second threshold, the additional resources provisioned in SmartCloud Enterprise come online, and DataPower starts routing traffic to the resources in SmartCloud Enterprise. When the Mother's Day sale is over, web traffic returns to the normal volume, which is below the lower threshold. DataPower then releases the excess resources in SmartCloud Enterprise through a deprovisioning task.
This article describes a solution for this hybrid cloud scenario.
Customers have been refining their cloud strategy to invest in cloud-ready hardware and software. They are looking to public cloud offerings for pay-as-you-go services and business solutions. The trade-off typically expected between the two options is that public cloud cost can be lower in the short term, because it requires no capital investment, but it can be higher in the long term. Therefore, leveraging both options would yield the best business value. A hybrid cloud solution would enable customers to meet spikes in their application workload by bursting on demand from their data center to the public cloud for more processing capacity without having to invest a large amount in capital expenditures.
Furthermore, an IBM solution would optimize the performance, reliability, and cost by enabling part of an application to run on IBM systems within the corporate firewall while placing other parts securely in SmartCloud Enterprise. Such an application-aware solution would help to fully automate the ordering, activation, and balancing of application traffic between the data center and SmartCloud Enterprise, and thus potentially allowing the system to dynamically respond to demand fluctuation without intervention by administrators. By leveraging IBM's existing software and systems solutions in data centers (such as DataPower appliances and expert integrated systems) and robust, public cloud offerings, IBM is uniquely positioned to provide this application-aware hybrid cloud capability.
Solution: Workload overflow from private to public
Although e-commerce customers realize that traffic to their website can reach high peaks during special events such as Mother's Day, Christmas, or Black Friday, deciding how much capacity to purchase for these demand spikes is difficult. Investing in too much or too little capacity is not desirable. To better understand the requirements for a solution, let's examine the Mother's Day scenario in more detail:
- An e-commerce site is hosted on a cluster of IBM WebSphere servers in a private cloud environment.
- The site owner has set up some WebSphere instances in SmartCloud Enterprise to run the e-commerce application, which can be positioned in different geographic locations for optimum performance.
- They use a DataPower appliance to monitor incoming throughput to the website and load balance among the pool of data center resources.
- Based on the prior year's statistics, the e-commerce site administrator sets thresholds in DataPower that will trigger the provisioning and deprovisioning of resources. Note that more than one DataPower appliance can be used in a tier or aggregate topology.
- When the traffic exceeds this threshold, DataPower is programmed to request additional resources in SmartCloud Enterprise. (Note: It is possible to use control points to modify behavior, but this is not the best practice.)
- When the additional resources become available, DataPower can be set to direct new requests to the new resources in SmartCloud Enterprise.
- The resources in SmartCloud Enterprise handle the web page browsing activities, which is less critical.
- If a customer clicks Buy, the transaction is routed back to the private cloud to complete the action, because the customer profile and payments information are located in the private cloud.
- If the traffic drops below the threshold, the excess resources in SmartCloud Enterprise are deprovisioned, and the appropriate resource list for DataPower is updated.
To implement the solution, I created the following extensions on top of the IBM WebSphere Intelligent Management Pack and DataPower Application Optimization (AO) base to:
- Improve the dashboard to monitor cross-cloud workloads.
- Use DataPower AO to monitor the servers in the WebSphere cells to determine the targets for routing web traffic.
- Customize the routing algorithm to dynamically assign a weight for each server in the WebSphere cells and determine the percentage of web traffic to route to each WebSphere application server.
- Set up a VPN to provide connectivity between clouds.
The extensions provide the basic functionalities above; however, additional integration is required to implement the extensions as described in this article.
Figure 1 shows the high-level architecture of the proposed solution. The WebSphere servers are managed by the WebSphere Intelligent Management Pack and are provisioned dynamically based on the load.
Figure 1. High-level architecture of a hybrid cloud
Dashboard and management console
Operating a hybrid environment is complex; therefore, I created a dashboard that combines the relevant monitoring information. Figure 2 shows the main dashboard tracking the activities in both the public and private clouds.
Figure 2. Hybrid cloud resource dashboard
Figure 3 focuses on the application, showing the web traffic, the servers available to handle the requests, and compliance with the service level agreement (SLA). In addition, the dashboard can track the resource used in the private cloud, such as CPU, storage, memory, and virtual machines (VMs) allocated, so that the administrator can receive alerts when demand is about to exceed capacity.
Figure 3. Application operation in the hybrid cloud
DataPower application optimization
The DataPower XI50 and XI52 appliances are capable of performing advanced demilitarized zone (DMZ) security functions as well as providing a wide range of enterprise service bus (ESB) capabilities. ESB capabilities include acting as a reverse proxy in which DataPower receives incoming requests and proxies them to collections of back-end servers. The AO option is a new DataPower software feature that extends the collection of DMZ and ESB capabilities by providing front-side load-balancing capabilities and enhancing the back-side load-balancing capabilities with intelligent load distribution (ILD). ILD includes an additional load balancing algorithm (weighted least connections), session affinity, and dynamic configuration. ILD interacts dynamically with a WebSphere cell to route web traffic to the servers in the cell. Together, the new features allow customers to reduce the box count in their DMZ or ESB, resulting in a lower total cost of ownership (TCO).
The virtual private network
A public cloud and an enterprise data center are typically separated by a firewall. Therefore, for the two WebSphere cells on the two sides to support an application, connectivity between the members of the two cells is required. The standard practice is to set up a virtual private network (VPN) to allow the members of the two cells to communicate.
Cloud technology has advanced steadily, and several solutions now exist for a Web cluster with elastic scaling. However, these solutions typically operate within a single cloud, limiting the full capability of the cloud to meet peak demand. This article considered using multiple clouds to support elastic scaling—specifically, the scenario of an enterprise running an application within its private cloud and overflowing to a public cloud when the capacity of the private cloud is exceeded. The article examined the support from existing IBM products and devised a hybrid cloud solution that leverages current support and minimizes new development effort.
The authors are grateful for the content contributed by Jason Anderson, Keith Smith, Timothy Smith, and Thomas Truong.
- Check out the WebSphere DataPower Integration Appliance XI50, XI50B, and XI52, Version 4.0.1 information.
- Read the white paper, Elastic caching for scalability, dynamic growth and performance (August 2011).
- A valuable source of information on AO is DataPower option for Application Optimization (2011).
- Read Tom Alcott's response to the question, "Can I run a WebSphere Application Server cell over multiple data centers?" in the developerWorks article, "Comment lines: Tom Alcott: Everything you always wanted to know about WebSphere Application Server but were afraid to ask -- Part 2" (December 2005).
- Check out the WebSphere DataPower Integration Appliance XI50, XI50B, and XI52 Administrators Guide.
- In the developerWorks cloud developer resources, discover and share knowledge and experience of application and services developers building their projects for cloud deployment.
- Follow developerWorks on Twitter.
- Watch developerWorks demos ranging from product installation and setup demos for beginners to advanced functionality for experienced developers.
Get products and technologies
- Access IBM SmartCloud Enterprise.
- Evaluate IBM products in the way that suits you best: Download a product trial, try a product online, use a product in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently.
- Get involved in the developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups, and wikis.