Is provisioning topology on IBM SmartCloud Enterprise possible? Yes, with IBM SmartCloud Application Services.

The IBM SmartCloud Enterprise provides APIs. These APIs can be used to automate the deployment of a server topology on IBM SmartCloud Enterprise. I will show in this article that you can now use IBM SmartCloud Application Services (currently in pilot), and specifically the IBM SmartCloud Application Workload Service, to design and deploy your topology. This capability is also available on the IBM PureApplication System.

IBM SmartCloud Application Services

I wrote multiple articles on developerWorks, Thoughtsoncloud, and on this about APIs and automation on IBM SmartCloud Enterprise. The final goal of these articles was to show how it was possible to automate deployment on the IBM SmartCloud Enterprise. Automation reduces the effort to deploy a topology and also minimizes the number of deployment misconfigurations due to the repeatable tasks and the human factor.

Now, forget APIs for automation, you can use IBM SmartCloud Application Workload Service!

The IBM SmartCloud Application Workload Service, which is part of IBM SmartCloud Application Services, allows you to create your own deployment pattern either as a ‘Virtual Application Pattern’ or a ‘Virtual System Pattern.’

The main difference between the ‘Virtual Application Pattern’ and ‘Virtual System Pattern’ is for the ‘Virtual Application Pattern’ you will leverage the IBM product configuration know-how to design your topology. Conversely, the ‘Virtual System Pattern’ will give you more control on the IP address, names and scripts you would like to run during deployment. In addition, virtual application patterns give you extra functionality out of the box such as scaling policy and monitoring.

Virtual Application Pattern

For example, to deploy a Web Application environment you can either reuse one of the provided samples such as the ‘Simple Java EE Web Application’ pattern

and adapt it for your own needs

or create one from scratch. For this you can reuse a number of predefined widgets.

Please look at this video showing how to create a new virtual pattern:

YouTube Preview Image

Virtual System Pattern

With the ‘Virtual System Pattern’ you can deploy whatever you want based on images and scripts. You can import your own image built with the IBM Image Construction and Composition Tool and upload your own scripts.

The scripts are bundled in a .zip file which contains a json descriptor. The json descriptor allows you to describe among other characteristics the configurable parameters of your scripts. Parameters can have values but also expressions following the ‘properties variable syntax‘ and thus can reference other objects of your pattern. Please visit this blog, Developing script packages for IBM Workload Deployer Virtual System patterns, for more information and examples.

Now you can create a topology via a virtual system pattern of the IBM SmartCloud Application Workload Service with your own images and scripts that set up your full infrastructure and deploy it as much as you want!

For example, here is a WebSphere Application Server connected to a DB2 server using a script to create the datasource toward this database and another script to set up the database.

You can see below an example of an expression following the ‘Property Variable Syntax’ to reference from the script in the WebSphere Application Server (the database server).

Also interesting, the deployment of a ‘virtual system pattern’ can be scheduled, meaning when the deployment should start and when the deployed pattern should be decommissioned.

Conclusion: With the IBM SmartCloud Application Workload Service, which is part of IBM SmartCloud Application Services, you can easily deploy complex infrastructures either via the ‘virtual application service’ or the ‘virtual system service.’