Skip to main content

If you don't have an IBM ID and password, register here.

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. This profile includes the first name, last name, and display name you identified when you registered with developerWorks. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

Application environment migration with WebSphere CloudBurst

Preserving the fidelity of application environments through patterns

Dustin Amrhein, Technical Evangelist, IBM
Author photo
Dustin Amrhein joined IBM as a member of the development team for WebSphere Application Server. While in that position, Dustin worked on the development of Web services infrastructure and Web services programming models. In addition, Dustin lead the technical effort in the development of a Java RESTful services framework. In his current role, Dustin is a technical evangelist for emerging technologies in IBM’s WebSphere portfolio. His current focus is on WebSphere technologies that deliver cloud computing capabilities, including the WebSphere CloudBurst Appliance.
Ruth Willenborg, Senior Technical Staff Member, IBM
Ruth Willenborg
Ruth Willenborg is a Senior Technical Staff Member in IBM's WebSphere Technology Institute where she is currently working on WebSphere cloud computing and virtual appliance initiatives and is the technical evangelist for the new IBM WebSphere CloudBurst Appliance. Prior to her work on virtualization and appliance initiatives, she was the manager of the WebSphere Performance team responsible for WebSphere Application Server performance analysis, performance benchmarkingm and performance tool development. Ruth has more than 20 years of experience in software development at IBM and is co-author of Performance Analysis for Java Web Sites (Addison-Wesley, 2002) and numerous articles on both WebSphere performance and using WebSphere with virtualization technologies.

Summary:  In this tutorial, the authors demonstrate how to use WebSphere® CloudBurst to build patterns you can use to represent the configuration of both your application and application infrastructure. They also show you how to use these patterns to consistently deploy the application environment as it moves through the four life-cycle stages — development, test, QA, and production. The tutorial offers a complete, step-by-step example of using patterns to handle changing topologies, underlying platform architectures, and configuration properties.

Date:  01 Jun 2010
Level:  Intermediate PDF:  A4 and Letter (908 KB | 36 pages)Get Adobe® Reader®

Comments:  

First, some background

Why define consistent configurations?

Organizations are confronted with the challenge of deploying applications and the associated infrastructure into different environments. For example, most applications move through some type of promotion chain that includes moving the application and the infrastructure it depends on from development to test and eventually to production. In each stage, you install and configure the application and application infrastructure — this process is often time consuming and may include manual elements.

Of even more significance, each time you reinstall and configure the application and associated infrastructure to support a migration, there is an opportunity for bugs to be introduced, notably unknown or unintended changes added to the configuration of the application or its platform. When these types of bugs are introduced, the cause is often difficult, if not all but impossible, to detect. This results in the common phenomenon: "It used to work; what changed?"

The IBM WebSphere CloudBurst Appliance provides the ability to define consistent configurations for your infrastructure and applications. WebSphere CloudBurst also supports moving them from one environment to another:

  • You use the appliance to build patterns that capture your application infrastructure, applications, and configuration.
  • These patterns are saved on the appliance and deployed repeatedly, providing consistency of the resulting application environments.
  • You parameterize the patterns to shape the application environment for the stage you are deploying.

WebSphere CloudBurst's unique combination of images and patterns provides for expedited deployment, measured in minutes instead of days or weeks. The result is a fully configured, repeatable application environment ready for your use at a moment's notice.


What is the life cycle?

Most applications move through multiple stages including development, test, and production. If each environment was identical, getting consistent and repeatable deployments might not be that difficult; however, in most IT shops there are differences in the hardware available, the software configurations, and the back-end resources in use. This results in required configuration changes at each stage in the life cycle, making it impossible to copy a configuration directly and making it difficult to distinguish and track required configuration changes from undesirable changes that introduce problems.

Let's look at a common set of changes that applications and supporting infrastructure might go through across the life cycle and we'll discuss how to use WebSphere CloudBurst features to simplify the management of these changes to provide very repeatable deployments. Some typical changes include:

  • Different infrastructure topologies.
  • Different hardware platform architectures.
  • Different configuration settings.
  • Different resources.

Different infrastructure topologies

Though virtualization makes it possible to more easily replicate multinode production topologies for development and test without requiring as much capital outlay, many still prefer simpler topologies for the earlier stages of the life cycle. For example, WebSphere development environments commonly consist of a single virtual machine containing deployment manager, Web server, and custom node. The same infrastructure components are present as the application moves through the life cycle; however, later stages split these components across multiple virtual machines.

The following figure shows a typical progression with the all-in-one development environment moving to a multinode test topology with the application server nodes separated and formed into a cluster, then later moving to separate the Web servers into a DMZ for final quality assurance and production purposes.


Each distinct topology maps to a pattern in CloudBurst
Each distinct topology maps to a pattern in CloudBurst

In WebSphere CloudBurst, each of the distinct topologies map to a pattern. Therefore, as you will see in the example, the life cycle in the figure has three unique patterns. The pattern-creation process copies the preceding pattern to assist in maintaining any configuration information and specifically any of the unique scripts.

Different hardware topologies

Another life cycle change may be the hardware architecture platform of choice. For a variety of reasons, WebSphere development is sometimes on a different platform from production or there may be multiple development, test, and production platforms in use.

For example, the previous figure shows development and test environments on VMware and QA and Production on PowerVM. WebSphere CloudBurst topology definitions are platform independent allowing the same pattern definition for deployment to different platforms.

The images, of course, are platform unique; therefore, as the scenario will show, to move the same pattern from VMware to PowerVM, you just make a copy of the pattern and choose the image corresponding to the new platform. When copying a pattern for another platform, you will need to account for any platform-unique scripts you have developed and make the necessary changes.

Different configuration settings

Configuration settings also require changes for different life cycle deployments. One of the promises of virtualization — to copy a virtual machine and reuse it — butts against the challenge that identical copies present conflict. At a minimum, names, passwords, and other settings often need to change to avoid conflicts.

WebSphere CloudBurst patterns expose parameters that allow for configuration changes when starting virtual machines. During the pattern-creation process, you can either lock these values into the pattern or allow them to be altered at deploy time. For example, if you want a specific cell name, you can lock this value into the pattern; if you want to use the same pattern with different cell names, you can leave it for deploy-time specification.

Different resources

Most WebSphere applications talk to something (such as databases, directory servers, etc.) and the location of these resources is likely different from within the development, test, and production environments. For example, the quality assurance environment most likely contains some test database, modeled or replicated off the production data. WebSphere CloudBurst scripts allow you to define parameters. Adding such a script to a pattern automatically exposes the parameters as part of the pattern or deployment configuration. Script parameters provide a great deal of flexibility for keeping patterns common while allowing for switching the resource location.

When you develop your scripts, you can add parameters for resource connections that change through the life cycle. WebSphere CloudBurst automatically adds the parameters to the pattern and you can choose to specify the parameter values when you define the pattern or maintain flexibility in the pattern by leaving the parameter value specification until deploy time. For example, to reuse the same pattern for different resources, just make the location a script parameter and specify this value at deploy time.

In the example scenario that follows, we use this technique for both the database location and the application location. This same technique is also useful for any application specific configuration settings.

2 of 11 | Previous | Next

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=, WebSphere
ArticleID=493549
TutorialTitle=Application environment migration with WebSphere CloudBurst
publish-date=06012010
author1-email=damrhei@us.ibm.com
author1-email-cc=
author2-email=rewillen@us.ibm.com
author2-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).