Each installment of Innovations within reach features new information and discussions on topics related to emerging technologies, from both developer and practitioner standpoints, plus behind-the-scenes looks at leading edge IBM® WebSphere® products.
IBM WebSphere CloudBurst Appliance firmware V2.0 has no shortage of new features. To whet your appetite for this new release, this overview article takes a brief look at some of the most significant new features. Upcoming articles will look closer at many of these capabilities.
So, let’s jump right in!
Prior to version 2.0, the makeup of a virtual system in WebSphere CloudBurst was defined by its pattern. This same concept still holds true, but you can now react to changing workload demands by either cloning or deleting individual virtual machines.
Cloning a virtual machine results in the creation of a new virtual machine and the addition of that machine to the virtual system. When you create a clone, a number of things happen:
- WebSphere CloudBurst creates a new virtual machine and assigns a new IP address.
- The appliance executes any script packages from the source virtual machine marked to execute "on virtual system creation" on the new virtual machine.
- Emergency fixes from the source virtual machine install to the new virtual machine.
- If this is a custom node, WebSphere CloudBurst federates and starts the node.
The use of the term "clone" is not entirely accurate in this case. Cloning implies an exact copy (bit for bit), which is not the case here. To clarify this point further, if you make manual changes to the virtual system after deployment, those changes will not carry over to the clone because they are not encapsulated in your pattern.
To create a clone of an existing virtual machine, navigate to Virtual Systems > your_virtualsystem. Expand Virtual machines and then click the View link next to the virtual machine that you want to clone. Figure 1 shows the clone icon, circled.
Figure 1. Virtual machine clone operation.
Deleting a virtual machine will remove the virtual machine from the virtual system. Any script packages marked to execute "on virtual system deletion" run and WebSphere CloudBurst removes the node from the cell. One caveat to node removal: the node must be running in order for this automatic removal process to proceed. If the node is shutdown during virtual machine deletion, the node removal will not work, and you will then be responsible for manually removing the node using the cleanNode command.
To delete an existing virtual machine, navigate to Virtual Systems > your_virtualsystem. Expand Virtual machines and then click the View link next to the virtual machine that you want to delete. Figure 2 shows the delete icon, circled.
Figure 2. Virtual machine delete operation
The Intelligent Management Pack feature is quite extensive and so it is not practical to cover it all here. The first thing to mention, though, is that this feature is similar to IBM WebSphere Virtual Enterprise V6.1. All existing articles, documentation, technotes, and education written for WebSphere Virtual Enterprise V6.1 will equally apply to the Intelligent Management Pack feature.
WebSphere CloudBurst works closely with IBM WebSphere Application Server Hypervisor Edition (augmented with Intelligent Management Pack capabilities) to give you the advanced capabilities collectively known as Intelligent Management Pack. What exactly are these capabilities?
- A set of predefined patterns, ready to deploy out of the box.
- Improved application performance to deliver response times to meet service level agreements.
- Increased application availability and minimized administrative costs.
Two best practice patterns come preloaded on the version 2.0 appliance ready to make use of these advanced capabilities. (If you migrating your appliance from version 1.x to version 2.0, then you must manually create these patterns.)
- Development pattern
The first pattern is intended for the development environment. You can use this pattern in production (and some users do), but the target environment is development. This pattern consists of one or more on demand routers (ODRs), one or more application servers, and one deployment manager. If you’re not familiar with it, you can think of an on demand router as a very intelligent dynamic proxy server. This is an overly simplistic description, but it monitors incoming as well as outgoing traffic and makes routing decisions dynamically based on real-time data.
Figure 3. WebSphere advanced cluster (development)
- Production pattern
The second pattern is intended for the production environment. This pattern consists of one or more Web servers, one or more on demand routers, one or more application servers, and one deployment manager. This pattern is ideal for production because of the added Web server layer and the redundancy built into each of the virtual image parts to accommodate high availability requirements.
Figure 4. WebSphere advanced cluster
The Intelligent Management Pack also brings the following advanced capabilities:
- Health management gives you the ability to monitor the overall health of your virtual system and take corrective action if needed. You can monitor these conditions:
- Excessive heap usage.
- Memory leak.
- Maximum server age.
- Maximum requests served.
- Excessive average response time.
- Storm drain detection.
Rather than offer an explaination of each of these conditions (policies), a short example of one of them might help illustrate how cool and powerful this feature is.
Assume you have an application that, over time, runs out of memory for no apparent reason (you can probably think of at least one). This application serves your external customer base, so it is imperative that it remains operational. The Intelligent Management Pack, in this specific case, gives you the ability to monitor for and take corrective action upon the detection of a memory leak. This example, defined by Figure 5, shows that you periodically check for a memory leak, and once you detect a memory leak you take a heap dump, restart the server, and inform the administrator (reaction mode equal to supervised). The administrator would then need to give the go-ahead to restart the server. It could have just been as easy to mark the reaction mode as automatic in which case no manual intervention would have been required.
Figure 5. Example of memory leak health management policy
- Overload protection gives you the ability to monitor memory and CPU usage. If CPU or memory usage exceeds a predefined threshold, then the system can take corrective action. You define the corrective action to take, but one common corrective action to take in this case would be to route future requests to alternative servers until CPU or memory usage falls below the threshold.
- Dynamic clustering is an Intelligent Management Pack capability that improves upon the characteristics of the WebSphere Application Server static cluster.
As you are probably aware, WebSphere Application Server clusters are static; meaning that after the definition of the cluster, it does not change in terms of membership. Sometimes this results in too little or too much capacity. Workload rarely comes in as an even flow of requests. Moreover, even if this were the case, not all requests require the same amount of compute resource. You could have one request perform a simple arithmetic activity and another request perform a resource intensive operation, such as reading or writing to a database.
Dynamic clusters grow and shrink depending on the workload demand. Dynamic clusters work closely with the on demand router to ensure the even distribution of workload amongst the cluster members (dynamic distribution as opposed to a static distribution model, such as round robin).
Prior to version 2.0, patterns mapped to a specific virtual image at the pattern level. This limitation resulted in some deployment scenarios that did not map to a single pattern. There are documented workarounds for these limitations but, for example, you could not have the following topologies in single pattern:
- Mixed node environment (such as V7 deployment manager managing V6.1 custom node).
- Mixed OS environment (such as V7 deployment manager-Red Hat managing V7 custom node-SUSE).
- Mixed product environment (such as V7 deployment manager managing V6.1 custom node with an IBM DB2® image).
Version 2.0 introduces the ability to define heterogeneous patterns (mixed node, OS, and version support). Figure 6 shows a multi-image pattern configured in version 2.0. Notice that the pattern consists of a WebSphere Application Server V7.0 deployment manager (Red Hat) managing two V6.1 custom nodes (SUSE). In addition to this, it has a database (DB2) component.
Creating and deploying the pattern in Figure 6 requires a few simple drag and drop actions followed by a click of the Deploy button. There is no further action to take other than a few passwords to set. Prior to version 2.0, this would have taken three patterns and a fair amount of custom scripting to link the three deployed patterns together. Factor in having to manage and maintain three separate patterns and you can see why this feature will be welcome to version 1.0 and version 1.1 users.
Figure 6. Multi-image pattern example
WebSphere CloudBurst enables you to rapidly provision WebSphere Application Server environments. The ease with which you are able to build up and tear down your environments could lead you to inadvertently go over your purchased license allotment.
The license awareness feature enables you to track your license usage and regulate the usage of those licenses. The license management capabilities provided by WebSphere CloudBurst do not inherently help you minimize your license usage.
Tracking license usage requires a few initial setup steps. First, you need to import the software catalog and PVU table. Navigate to Catalog > Product Licenses and expand Update IBM Software Catalog and Processor Value Unit (PVU) Table. You will notice that the software catalog and PVU table come loaded on the appliance. Ensure that the catalog and PVU table loaded on the appliance are up to date. If you need to update the copies loaded on the appliance, click the links to download the software catalog and PVU table. This will pull the files from an IBM location and download to your local file system. Next, upload the files to the catalog.
Figure 7. Software catalog and PVU table import panel
All virtual images loaded on the appliance containing a unique product ID will show up in the license table. Locate the entry for the product and corresponding Licenses owned (PVUs) column that you are interested in. Enter the number of PVUs that you have purchased. WebSphere CloudBurst now has enough information to track your license usage. Figure 8 illustrates these concepts.
Figure 8. License allotment and consumption.
WebSphere CloudBurst takes license tracking one step further by giving you the ability to enforce license compliance, or at the very least to be notified when you are about to exceed your license allotment. There are three enforcement options:
- Ignore is equivalent to what occurs in versions prior to version 2.0. This is the default behavior.
- Warn will issue a warning when you exceed some predefined license threshold. This will not prevent your deployments, but it will send out a notification upon meeting or exceeding the threshold. The Warn option works in conjunction with the threshold defined in the Notify if usage reaches field.
- Enforce will prevent the deployment from happening if you do not have enough available licenses. This is the most extreme form of license enforcement, but if you’re set on controlling cost overages then this may the most appropriate option.
Figure 9. Enforcement and license threshold fields
The appliance form factor of WebSphere CloudBurst means that it lives in your data center. One common approach to managing devices in the data center is through the use of the industry standard protocol Simple Network Management Protocol (SNMP). WebSphere CloudBurst version 2.0 introduces support for SNMP. There are many products on the market designed to communicate using SNMP, including:
- IBM Tivoli® Composite Application Manager
- IBM Director
- HP OpenView
- Any monitoring client that can consume MIB-II data.
Discussing the different pieces that make up SNMP is beyond the scope of this article, and so we will limit this discussion to just the enablement of SNMP. Since SNMP is an industry standard, once you learn the fundamentals you can apply that knowledge to any device supporting SNMP.
To enable SNMP, navigate to Appliance > Monitoring and check the Enable SNMP on Port checkbox. This will activate the SNMP agent and it will now be listening on the port defined to the right of the checkbox. Figure 10 shows what the SNMP panel will look like after enablement.
Figure 10. SNMP enablement panel
There is not much to say here other than to point out that we listened to what our users were saying. There is now a virtual image based on the Red Hat Enterprise Linux® version 5 operating system running WebSphere Application Server V7. You can run this image on the VMware ESX platform. The change in operating systems is the only change to the OVA file (other than WebSphere Application Server fixpack update).
Figure 11. OVA SUSE operating system virtual disk replaced with Red Hat
WebSphere CloudBurst Appliance firmware version 2.0 introduces many new features and capabilities. This article merely scratched the surface of what version 2.0 has to offer to pique your interest in this revolutionary product.
WebSphere CloudBurst Appliance product information
with WebSphere CloudBurst article series
the enterprise article series
Cloud Computing: Gain access to your Applications from anywhere, at any time
WebSphere CloudBurst Appliance videos
A view from the clouds: Cloud computing for the WebSphere developer
WebSphere Cloud Computing for Developers
WebSphere CloudBurst Appliance Forum
Brian Stelzer is a Staff Software Engineer in IBM’s Early Programs team working on the WebSphere CloudBurst beta program. In this assignment he works directly with the customer on pre-release versions of WebSphere CloudBurst. Prior to this assignment, Brian designed and implemented migration solutions for the WebSphere Application Server line of products. Brian has over 10 years of experience in software development.