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.
Working in the lab, we relish the chance to reach out and talk directly with our customers. Lately, many of these conversations have revolved around cloud computing, and, specifically, the IBM WebSphere CloudBurst™ Appliance and IBM WebSphere Application Server Hypervisor Edition virtual images.
Typically, these discussions center on the technical capabilities and the how-to of these solutions. We usually discuss how WebSphere CloudBurst and these special virtual images apply to particular scenarios they have in mind. Then, without fail and almost as an afterthought it seems, they say, "That all sounds good, but tell me who else is using it and what kind of value have they derived from it?"
We love it when this comes up.
For one thing, we have a solid and continually growing ecosystem of users that derive real value from the WebSphere CloudBurst approach. Among other benefits, our users see this value in terms of a reduction in costs, increase in agility, and a tighter alignment between business objectives and technical activity. While every user story clearly highlights the value of the appliance, there is one story that we think is particularly compelling. It’s the story of how our own WebSphere Application Server Continuous Test organization uses WebSphere CloudBurst to reduce costs and overcome obstacles associated with adopting agile development practices on an enterprise scale. (Yes, we use our own products.)
If you participate in or follow the software development industry at all, you are likely aware of the growing adoption of agile development. In recent years, IBM has also undertaken a journey towards become a more agile development organization. One of the teams on this journey is WebSphere Application Server development, and the results are tangible. Over the span of just a few years, this team has developed and delivered several WebSphere Application Server feature packs, updates to products in the field, and an alpha version of WebSphere Application Server V8. Such fruitful results would be difficult, if not impossible, to achieve without the speed enabled by agile development processes.
Of course, we all know that speedy software development and delivery would be nothing if the software were of poor quality. Rapidly delivering poor quality software is sort of akin to getting your restaurant order quickly but discovering it was woefully undercooked; it leaves a bad taste to say the least.
To ensure things were "fully cooked," the development and test teams needed to establish a means to ensure enterprise-level code quality throughout the entire development process. To accomplish this, the organization:
- Established rigorous testing standards requiring automated test cases to be written that execute against production-like WebSphere Application Server topologies.
- Extended traditional test-driven development methodologies to ensure the system regression suites evolved with all new features and fixes.
- Created the Continuous Test team, which is responsible for executing an all-encompassing regression test suite on every WebSphere Application Server build.
- Created automated test suites for customer-like applications and executed stress and performance tests throughout the entire development cycle.
With a set of responsibilities established, the organization focused on achieving each one of them, quickly realizing that in order to achieve any of these tasks, they needed an automated, fast, and consistent way to setup WebSphere Application Server environments. To do this, the Continuous Test team:
- Developed a custom hardware leasing application so that testers could check out resources for testing work.
- Automated the installation of operating systems onto lab machines with IBM Tivoli® Provisioning Manager.
- Built a combination of installation and configuration scripts for WebSphere Application Server.
This approach represented a highly automated and efficient process for setting up environments for testing purposes. The approach enabled the team to concurrently test up to eight (that’s right, eight) different versions of WebSphere Application Server. In addition, the team was able to subject the WebSphere Application Server environments created by this process to over two million tests daily! In sum, the testing performed by the team enabled rapid development while maintaining exceptional quality.
While the team made significant progress toward carrying out all of their responsibilities, they were always on the lookout for ways to become even more efficient. Specifically, the team identified the following areas for improvement:
- Availability: Although highly automated, the process for setting up these WebSphere Application Server test environments still contained error-prone elements due to the degree of complexity and number of elements involved. This led to a 20-50% failure rate for provisioning environments.
- Utilization: Like many test teams in the industry, they experienced low rates of hardware utilization (average of 6-12%).
- Manageability: The test organization works with many small, agile teams. Effectively managing and sharing hardware resources across these teams, while ensuring sufficient utilization, was problematic. In addition, it was difficult to ensure that all test teams were working with standardized, certified WebSphere Application Server configurations.
The desire to improve in these three areas led the Continuous Test team to the adoption of WebSphere CloudBurst. By using the appliance, the test organization leverages a single device to provision fully configured WebSphere Application Server environments in a very rapid and consistent manner. The appliance supports the same test applications and WebSphere Application Server environments achieved by other means, and it even enables them to use existing configuration scripts to install and configure resources for those applications. Specifically, it provides a real boost to the three areas of focus:
- Availability: Using WebSphere CloudBurst, the number of provisioning failures decreased from 20-50% to approximately 5%. A majority of the remaining provisioning failures was the result of running out of capacity in the cloud, and WebSphere CloudBurst made this easy to spot and rectify. In addition, the environments become available more quickly than before using WebSphere CloudBurst. The team decreased provisioning times for configured WebSphere Application Server environments (including the operating system) from 3 hours to just 20-30 minutes.
- Utilization: For resources managed by the WebSphere CloudBurst Appliance, hardware utilization increased from 6% to 60%. This was a huge point of emphasis for the test organization team because, like many other organizations in today’s economy, they have limited budget to acquire new resources, meaning they had to do more with what they had. Increasing utilization this dramatically was definitely a step in the right direction.
- Manageability: WebSphere CloudBurst provides simplified management capabilities for both hardware and software resources. The test team automated the growth and contraction of their cloud resources using the WebSphere CloudBurst command line interface. They also provide standardized, consistent WebSphere Application Server environments with custom images (via extend capture), custom patterns, and their own script packages. By building and subsequently granting access to a certified set of patterns, the test organization ensures that any environments dispensed by WebSphere CloudBurst meet organizational security requirements and adhere to their team’s best practices and standards for WebSphere Application Server environments. In addition, the use of cloud groups enables the teams to divide and manage resources at a fine-grained level when necessary.
Describing how WebSphere CloudBurst is used by the WebSphere Application Server development and Continuous Test groups makes a good story because it answers many questions that typically come up in my discussions with clients:
- Yes, you can meet organizational security policies in the environments you dispense with WebSphere CloudBurst.
- Yes, you can leverage your existing investment in WebSphere Application Server configuration scripting within WebSphere CloudBurst.
- Yes, you can use WebSphere CloudBurst for production purposes (although a testing organization, this is most certainly a production, critical-path usage).
In addition, using WebSphere CloudBurst in this capacity categorically demonstrates that the appliance delivers real, tangible value:
- Aside from measurably improving availability, utilization, and manageability, WebSphere CloudBurst provided substantial direct cost savings over the first year of adoption alone.
- Add to that the role WebSphere CloudBurst played in removing barriers for the broader adoption of agile development. The agile transition away from dedicated regression cycles and teams resulted in significant labor savings for the organization.
As impressive as these savings are, it is even more impressive considering the team enacted an incremental adoption plan for WebSphere CloudBurst, meaning that meant during this first year, the appliance managed only 6% of the resources within the test lab. Moreover, this effective incremental adoption means that the appliance does not force a rip and replace approach in order for benefits to be realized.
When we get a chance to talk to our users about WebSphere CloudBurst, we explain that it offers a revolutionary way to create and manage IBM middleware application environments. Revolutionary in this sense means a new and better way of looking at a traditional set of problems. WebSphere CloudBurst offers you just that, and a usage story like the one told here reinforces this fact. If you are an IBM and WebSphere middleware user, do yourself a favor and investigate the appliance and the potential value it can deliver to your organization.
CloudBurst Appliance product information
Series: Customizing with WebSphere CloudBurst
computing for the enterprise
Cloud Computing Journal
there value in cloud computing?
WebSphere Cloud Computing for Developers
WebSphere CloudBurst Appliance videos
WebSphere CloudBurst Appliance Forum
A view from the clouds: Cloud computing for the WebSphere developer
Follow us on
Dustin Amrhein joined IBM as a member of the development team for the WebSphere Application Server. While in that position, Dustin worked primarily on web services infrastructure and web services programming models. In addition, Dustin worked on the development of a RESTful services framework for Java runtimes. In his current role Dustin is a WebSphere Client Technical Professional.
Robbie John Minshall currently works on developing Standard Data Objects for IBM Software Groups Service Orientated Architecture. Originally from New Zealand, he graduated with honors from The Johns Hopkins University with a BS in Mathematics and a BS in Computer Science. Robbie’s expertise includes application benchmarking and scalability, autonomic agents for performance, health and system monitoring in J2EE environments, including memory leak detection.
Pinwu Xu has worked in the WebSphere Application organization for five years. He specializes in J2EE application development and system stress and scalability analysis. Recently Pinwu has brought this development and test experience to bear in deploying and driving user stories for our private cloud initiatives.