July 7, 2011 | Written by: Anil Somani
Share this post:
IBM Workload Deployer focuses on an application-centric model, defining virtual application patterns that incorporate capabilities such as autonomic scaling, caching, load balancing, and so on. It promotes the concept of deploying and managing your application workloads in a shared, self-managed environment rather than manually creating and managing the application middleware topologies. This concept promises to deliver greater simplicity, elasticity, and density, among others.
In Part 1 of this series (IBMWorkload Deployer: Application-centric cloud platform (Part 1 of 3), we looked at initial login, setup, and configuration to make IBM® Workload Deployer aware of the underlying infrastructure as a service (IaaS) resources. Specifically, we created and configured IP groups and Cloud Groups which would be used to deploy the virtual applications as we progress in Part 2 and Part 3 of this series. Now in Part 2, first I introduce you to the constructs of IBM Workload Deployer application-centric model. Further I walk you through the process of creating a virtual application. Finally, I show how the IP Group and Cloud Group that we set up in Part 1 are used by deploying one of the sample virtual applications that is included with IBM Workload Deployer.
To start creating a virtual application pattern, select Virtual Applications from the Patterns menu, as the following figure shows.
Click the plus sign (+) for new application, select Blank application and click Start Building, as shown in the following figure.
The next window that opens is organized in three areas:
- Application building canvas in the center
- Application components palette on the left
- Application configuration panel on the right
Next, we create a simple application that requires a Java EE application server capability and database capability. In the process, I highlight the three key constructs in IBM Workload Deployer related to modeling a virtual application pattern:
We start with selecting the Enterprise Application component from the Application Components palette on the left and dragging it to the center canvas.
We also drag the Database component from the Database Components section of the palette and place it on the canvas.
When you click the placed component, you can see the associated attributes and settings that you can specify in the configuration panel on the right. For example, for the Java EE Enterprise Application component, you can specify the EAR file and other settings as shown next.
Similarly for the Database component, you can specify the SQL schema and other settings as shown in the next figure.
Next, we create a link from our Enterprise Application component to the Database component and specify the settings so that our Java EE application at run time can connect and use the database.
We click on the connection circle on the right edge of the Enterprise Application component to start the link and then extend it and drop it on the Database component to create the link as shown in the next figure. The configuration panel on the right is where you can specify the JNDI name and other settings for the link between the application server and the database.
After components and links, we now look at the third construct – policies. As I mentioned earlier, IBM Workload Deployer focuses on an application-centric model defining virtual application patterns that incorporate capabilities such as autonomic scaling, caching, load balancing, and others. Scale-out and scale-in of your virtual application can all be specified declaratively without any coding. You can configure various trigger types in the scaling policy.
We look at a quick example of adding a scaling policy to our Java EE Enterprise Application component. Hover your mouse over the Enterprise Application component and click the plus sign (+) to add a policy. In the pop-up menu, select Scaling Policy as shown in the next figure.
The Enterprise Application component on the canvas now has the added Scaling Policy represented in its visual container. Also, as shown in the next figure, the configuration panel shows the attributes and settings that can be configured for the policy.
Clicking the Scaling Type in the configuration panel provides the trigger choices as shown in the next figure.
Furthermore, selecting a specific type provides additional configuration settings to help you fine tune your application scaling. The next figure shows the settings that correspond to the Response Time Based type.
After you have modeled your application pattern using the components, links, and policies constructs of IBM Workload Deployer, you can save it as a template or an application. If saved as a template, it can be further reused as a starting point for additional customizations to create an application. When saved as an application, it is ready to be deployed to the cloud infrastructure. With the configuration panel settings, you may select between the Application and Template type and also name your Virtual Application pattern as shown in the following figure.
Finally, we show deployment of a virtual application. We use the DayTraderLite sample application that is included with IBM Workload Deployer. Click Virtual Applications under the Patterns menu, as before. This time, instead of clicking the plus sign (+) to start a new application, select the Sample JEE web application in the left palette. You will see the description, preview and other details about the application as shown in the following figure. As you can see in the preview, the application is modeled with Enterprise Component and Database components similar to what we covered in detail above. In the top right area of the screen, as shown in the figure, you see the button to deploy the virtual application in the cloud.
Clicking the Deploy the virtual application in the cloud button opens the pop-up window, shown in the following figure. We specify the cloud group where you want to deploy this virtual application. We use the Cust1PoC cloud group that we had created in Part 1 of this series.
Clicking OK starts the process of launching the DayTraderLite virtual application in the Cust1Poc cloud group, which has the IP addresses in the SVL-CL-IPG1 IP group created in Part 1 also.
We can now monitor the progress of the application launch in the cloud. From the Instances menu, click Virtual Applications, as shown in the next figure.
Select the Sample JEE web application instance on the left as shown in the next figure. The right side of the window shows details about the instance. In the middle area of the right side, you see that two virtual machine are being launched – one for the application server and the other for the database. On the bottom right area, you see the steps as the launch progresses. You can periodically click the refresh button in the top right area to get the latest status.
In Part 1, we saw initial login and setup to make IBM Workload Deployer aware of the underlying IaaS resources. We described creation and configuration of IP Group and Cloud Group. In Part 2 we looked at the components, links and policies that are the fundamental constructs of modeling virtual applications patterns in IBM Workload Deployer. We also deployed a virtual application to use the IaaS resources from Part 1. Next in Part 3, the last part in this series, we will see integration of Rational application development with IBM Workload Deployer.
As always, your feedback is highly appreciated either in the blog comment section or by email: anil.somani_at_us.ibm.com.