Previous articles in this series covered the creation and maintenance of software bundles in SmartCloud Enterprise Asset Catalog using ICCT. The articles also covered creating a simple image using ICCT with a software bundle. This article dives deeper into different ways to create an image with software bundles. It illustrates three mechanisms for creating images using ICCT to capture a customized image with XAMPP. It also shows how to manually add a dependency between an image and a software bundle by updating the semantic topology file.
Three mechanisms are described to create an image design — a recipe using ICCT that uses the XAMPP software bundle created in Part 3, together with the dependent Google Chrome software bundle to create new images:
- Apply an image design template/recipe to a base image on another datacenter.
- Extend a base image.
- Extend a custom image that was previously captured using ICCT.
Using a template to extend an image
To apply an image design template to a base image on another datacenter:
- Create a new cloud provider for the Raleigh- RTP datacenter.
Figure 1. Create a new cloud provider
We previously created a private customized image with Google Chrome using the SmartCloud Enterprise_Ehningen cloud provider. That image is used here as a template to reapply the same recipe to the base image in this SmartCloud Raleigh datacenter. XAMPP is also added to the previous recipe.
- Select SCE_Raleigh as the cloud provider in the drop-down menu on the top-right of
the ICCT user interface.
Figure 2. Select a cloud provider
- Restrict the search to Red Hat Enterprise Linux 6 and import the Red Hat Enterprise
Linux 6 (64-bit)(RTP) using the Images drop-down.
Figure 3. Import images from cloud provider
- Click the + icon to create a new image.
Figure 4. Create new image RHEL6WithGCandXAMPP
- Use the previously created image with Google Chrome as the template to create the
new image. Select the RHEL6WithGoogleChrome as the template and click
Next.
Figure 5. Selecting RHEL6WithGoogleChrome as the template
- Apply the previously selected template to a base image from RTP. Select the Red
Hat Enterprise Linux 6 (64-bit) RTP as the base and click Next.
Figure 6. Select a base image
- The summary page is displayed. Note GoogleChrome is already applied from the
template under Additional Software Bundles. Click
Done.
Figure 7. New image summary
- Figure 8 shows the new image.
Figure 8. New image created from template
- Expand Software Bundles. Since a previous design already included Google Chrome, the new private image already has the recipe for Google Chrome included. Note that it is yellow, indicating that it is not installed on the image, but the recipe is included. Now you need to add the XAMPP software bundle.
- Click the pencil icon. Click Add Bundle, select the
XAMPP bundle, and click Add.
Figure 9. Add XAMPP bundle to image
- Figure 10 shows the added bundle.
Figure 10. XAMPP bundle added to image
- Expand XAMPP Software Bundle, Install, and Deploy Parameters. You can see the default values provided for the Archive Name and Apache Web Server Port. Also see the unlocked icon on the right side of the Apache Web Server Port as Deploy parameter. You want this unlocked so that it is exposed in SmartCloud Enterprise Portal through the parameters.xml and is available to change during deployment.
- Click Save. This saves the image design/recipe locally on the ICCT
Virtual Machine.
At this point you can synchronize and capture this image in the Raleigh datacenter. You can also, of course, use this same mechanism to apply the template/recipe to an image in the same Ehningen datacenter or any other datacenter through a relevant cloud provider. This feature is useful for migrating images with software bundles between datacenters without having to export and import the images. This can also be applied to any relevant operating system — SUSE Linux Enterprise Server or Red Hat Enterprise Linux image — with applicable architecture that was indicated as dependency in the software bundle. We applied the same recipe to the Red Hat 6.2 64 bit Base Image in Ehningen datacenter and proceeded to synchronize.
- The License Agreement is displayed. Click I agree and
Done.
Figure 11. Agree to license agreement
The status changes from Out of Sync to Synchronizing and waits for a temporary VM instance to be created and started by SmartCloud.
- After the instance is active, check the software bundles grid for the instance. Because
of a bug in the pre-release version of ICCT, it shows the Google Chrome bundle twice.
This should be fixed in the released version.
Figure 12. RHEL6WithGCandXAMPP in instance tab
- Use the REST API to delete the extra association to the Google Chrome software bundle. Use your correct userid and password in requests below. Note that you need to do this only if you see the extra association.
curl -k -H 'Accept: application/json' -u <userid>:<password>
https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/
instances/211835/swbundle
{"SwBundleInstanceDetails":[{"SwBundleNum":1,"SwBundleName":"GoogleChrome",
"SwBundlePricingDetails":{"rate":0,"unitOfMeasure":"UHR","countryCode":"897","
effectiveDate":1313107200000,"currencyCode":"USD","pricePerQuantity":1},
"SwBundleDescription":"Install Latest Google Chrome using yum","SwBundleState":"1",
"name":"211835","id":"2909","description":"GoogleChrome installed"},{"SwBundleNum":2,
"SwBundleName":"GoogleChrome","SwBundlePricingDetails":{"rate":0,"unitOfMeasure":"UHR",
"countryCode":"897","effectiveDate":1313107200000,"currencyCode":"USD",
"pricePerQuantity":1},"SwBundleDescription":"Install Latest Google Chrome using yum"
,"SwBundleState":"1","name":"211835","id":"2909","description":"GoogleChrome installed"},
{"SwBundleNum":1,"SwBundleName":"XAMPP","SwBundlePricingDetails":
{"rate":0,"unitOfMeasure":"UHR","countryCode":"897","effectiveDate":
1313107200000,"currencyCode":"USD","pricePerQuantity":1},"SwBundleDescription":
"An easy to install Apache distribution containing MySQL,
PHP and Perl.","SwBundleState":"1","name":"211835","id":"3555",
"description":"XAMPP installed"}]}
|
- Delete the second association to Google Chrome. Note the id and SwBundleNum and use it
in request with
action=disassociateSWBundlebelow.curl -k -H 'Accept: application/json' -X PUT -u <userid>:<password> -d "action=disassociateSWBundle& swBundleId=2909&swBundleNum=2" https://www-147.ibm.com/computecloud/ enterprise/api/rest/20100331/instances/211835
It returns:
{"success":true}
Notice that the request to retrieve the association of
SWBundleto this instance has theSwBundleState=3, which means it is deleted.curl -k -H 'Accept: application/json' -u <userid>:<password > https://www-147.ibm.com/computecloud/enterprise/api/rest/ 20100331/instances/211835/swbundle {"SwBundleInstanceDetails":[ {"SwBundleNum":1,"SwBundleName":"GoogleChrome","SwBundlePricingDetails": {"rate":0,"unitOfMeasure":"UHR","countryCode":"897","effectiveDate":1313107200000, "currencyCode":"USD","pricePerQuantity":1},"SwBundleDescription":"Install Latest Google Chrome using yum","SwBundleState":"1","name":"211835","id":"2909", "description":"GoogleChrome installed"}, {"SwBundleNum":2,"SwBundleName":"GoogleChrome","SwBundlePricingDetails": {"rate":0,"unitOfMeasure":"UHR","countryCode":"897","effectiveDate":1313107200000, "currencyCode":"USD","pricePerQuantity":1},"SwBundleDescription":"Install Latest Google Chrome using yum","SwBundleState":"3","name":"211835","id":"2909", "description":"GoogleChrome installed"}, {"SwBundleNum":1,"SwBundleName":"XAMPP","SwBundlePricingDetails":{"rate":0, "unitOfMeasure":"UHR","countryCode":"897","effectiveDate":1313107200000, "currencyCode":"USD","pricePerQuantity":1},"SwBundleDescription":"An easy to install Apache distribution containing MySQL, PHP and Perl.","SwBundleState":"1", "name":"211835","id":"3555","description":"XAMPP installed"}]}
- Click Control Panel and select the instance. This time it shows only one association to Google Chrome software bundle.
Figure 13. Instance showing the software bundles in grid
- After ICCT is finished installing the software bundles successfully, the status shows
"Synchronized". ICCT shows that everything was successful if your script
returned a 0.
You should still manually verify.
Login to this temporary instance as
idcuserand check that Google Chrome and XAMPP are installed by looking for the /opt/google and the /opt/lampp directories. You can also start and verify that the applications work. If they are not installed or do not work, check the logs by logging to your ICCT VM at /drouter/ramdisk2/mnt/raid-volume/raid0/logs/trace.log. It should indicate the error.You can manually install if something failed or your install script had an error but did not return a non-zero value. ICCT copies all installer, config, and reset files you provided into the /tmp folder on the temporary instance. You can check the installer files in the /tmp/IconExecutionPackage* directory.
For example, the following shows the packages that ICCT runs in the temporary directory.
[idcuser@vhost4180 IconExecutionPackagea7791a5b-955e-4f5a-b879-561aa636ac3a]$ ls activate.txt com.apache.xampp_1.0.0 com.ibm.icon.abstraction.cc_1.0.0.0 IconImageSynchronizer.zip cloud-startup3.txt com.google.chrome_1.0.0 IconImageSynchronizer.sh rule_template.xml
- You can see
/tmp/IconExecutionPackagea7791a5b-955e-4f5a-b879-561aa636ac3a/com.apache.xampp_1.0.0/execution/installXAMPP.sh. If something is wrong in any script, fix it and run it manually so you can continue working with this instance. Note that any such manual fix requires you to fix the software bundle asset in Rational Asset Manager and the relevant install scripts cached in the ICCT instance by searching for the erroneous file in the /drouter directory and making the same fixes. - When everything looks correct, click the Capture icon in ICCT. This
captures a customized image with Google Chrome and XAMPP installed and deletes the
temporary instance. The status in ICCT changes to Completed Capture Complete. Now you
can use this captured customized image to create additional instances. The
notifications are displayed on the SmartCloud Enterprise Portal Overview tab.
Figure 14. Compiled notifications of creating image from RHEL6WithGCandXAMPP
To see the new image RHEL6WithGCandXAMPP with both the GoogleChrome and XAMPP software bundles:
- Click the Images tab on SmartCloud Enterprise Portal Control Panel.
Figure 15. RHEL6WithGCandXAMPP image in images tab
- Verify the asset in Rational Asset Manager and check the two associated software bundles in the semantic topology file rhel62-x64.topology in the Template Topology Asset for RHEL6WithGCandXAMPP.
Figure 16. RHEL6WithGCandXAMPP image in Rational Asset Manager
It shows the software bundles associated with the requirements and dependencies and also lists the products installed. Listed below are the software bundles ICCT added in the topology file.
<core:extendedAttribute uuid="_2VJVg3nsEeGp3r7QPxS4HQ" name="bundleName"> <core:data xsi:type="xsd:string" uuid="_QpUHvXnaEeGp3r7QPxS4HQ" >GoogleChrome</core:data> </core:extendedAttribute> <core:extendedAttribute uuid="_2VJVhHnsEeGp3r7QPxS4HQ" name="bundleRepoId"> <core:data xsi:type="xsd:string" uuid="_QpUHv3naEeGp3r7QPxS4HQ"> ryo-asset://07356E0D-3868-1709-0F95-AD9FF0355FF4_1.0.0 @https://www-147.ibm.com/cloud/enterprise/ram.ws</core:data> </core:extendedAttribute> <core:extendedAttribute uuid="_2VJVg3nsEeGp3r7QPxS4HQ" name="bundleName"> <core:data xsi:type="xsd:string" uuid="_QpUH-3naEeGp3r7QPxS4HQ"> XAMPP</core:data> </core:extendedAttribute> <core:extendedAttribute uuid="_2VJVhHnsEeGp3r7QPxS4HQ" name="bundleRepoId"> <core:data xsi:type="xsd:string" uuid="_QpUH_HnaEeGp3r7QPxS4HQ">ryo-asset: //842DE67C-2E85-70B4-318A-940EC239D44E_1.0.0 @https://www-147.ibm.com/cloud/enterprise/ram.ws</core:data> </core:extendedAttribute>
- When you place an order for an instance of this image, you see both bundles.
Figure 17. Add instance from image RHEL6WithGCandXAMPP
- The configuration script configureXAMPPPort.sh that you added earlier to the software
bundle runs when the instance is created. Set up the instance to use the port you entered.
Figure 18. Specify a port for instance
- Check that the request
http://<yourinstanceHostName>:8081works. If your XAMPP Apache Web Server does not respond as expected, you can check the logs in the /opt/ibm/ae/log/trace.log and /opt/ibm/ae/AR directory. Also check the scripts in the /opt/ibm/ae/AL directory.
To delete the customized image captured by ICCT, remove the meta data from ICCT and delete the image from SmartCloud:
- Select the image in ICCT and click the red X icon on the right pane.
Figure 19. Deleting RHEL6WithGCandXAMPP in ICCT
- Click Yes to confirm and remove the metadata for the customized Image from ICCT.
Figure 20. Confirm deletion of RHEL6WithGCandXAMPP in ICCT
- Go back to the SmartCloud Portal and delete the image from SmartCloud Portal, or use the SmartCloud REST API or command line API to delete the image from SmartCloud.
Figure 21. Delete image RHEL6WithGCandXAMPP in SmartCloud
Switch back to the Ehningen datacenter in the drop-down. These steps describe the second way to extend the base image directly with both software bundles and dependencies.
- Select Red Hat Enterprise Linux 6 (64-bit) and click the Extend (double CD) icon in the right pane.
Figure 22. Extend image
- Enter the information and click Create.
- To see how ICCT helps with unsatisfied dependencies and bundle order, click the
pencil icon add the XAMPP software bundle.
Figure 23. Add bundle to image
- Click Add and then click Save. A warning message is
displayed in the Validation Status because the dependency on required Google Chrome software bundle is not satisfied.
Figure 24. Validation status
- The bundle dependencies can be satisfied in two ways. Either the original image can
have the required products or software bundles pre-installed, or additional required
software bundles that provide the capabilities can be added and installed. In this
case (the second example), the base image does not have Google Chrome, so you need to
add it. In the third example that is demonstrated later, Google Chrome is
pre-installed on the customized image used as the base image, so Google Chrome
software bundle does not need to be added separately. In the first example described
previously, the template added the dependent Google Chrome software bundle.
Figure 25. Problem details
- The problem details shows the com.google.chrome software bundle is required. Add the
bundle now and click Save.
Figure 26. Add GoogleChrome bundle
- Now the Validation Status shows Invalid. That is because the bundle order is invalid.
You need the Google Chrome bundle installed before the XAMPP bundle.
Figure 27. Invalid status message
- Hover over the XAMPP and click move down arrow to fix the order. Click Save.
Figure 28. Bundle XAMPP added successfully
- The warning should go away and the Validation Status show "Valid". Expand
XAMPP and lock the port to 8081.
Figure 29. Expand XAMPP
- Click Save. A temporary instance is created and ICCT shows synchronized. After it is synchronized, you see 8081 as the locked port.
- Login to the temporary instance and check the directories to make sure that Google
Chrome and XAMPP are installed. Also note the single IconEcecutionPackage in the /tmp
folder that installed both the software bundles and the activation scripts for both in the /opt/ibm/ae/AS folders.
[idcuser@vhost4214 ~]$ ls /opt/lampp/ bin error htdocs lampp libexec logs phpmyadmin sbin tmp cgi-bin etc icons lib licenses modules RELEASENOTES share var [idcuser@vhost4214 ~]$ ls /opt/google/ chrome [idcuser@vhost4214 ~]$ ls /tmp backup rule_template.xml IconExecutionPackageada25d26-cf27-4791-bbd1-20161e13748b [idcuser@vhost4214 ~]$ ls /opt/ibm/ae/AS com.apache.xampp_1.0.0 com.ibm.icon.abstraction.cc_1.0.0.0 ConfigIcon.py
- This has the same problem — Google Chrome is associated to the instance twice. You can delete the second association or ignore it. Click Capture to capture an image that can be used to provision additional instances. The captured image has the correct associations regardless of whether you delete the extra association from the instance or not. ICCT updated the topology file in Rational Asset Manager correctly so that the associations appear with the image.
- You can also check the parameters.xml in Rational Asset Manager. It shows the new
Apache Web Server Port exposed as a parameter that is visible during provisioning.
Figure 30. parameters.xml in RAM
- When you provision new instances with this customized image, you should be able to
request http://<instancehostname>:<selectedport> from a browser, receive
the standard response from XAMPP, and browse the pages.
Figure 31. View XAMPP
Extending a previously customized image
Again, select the Ehningen datacenter where you previously created the customized image with Google Chrome using ICCT. Extend this customized image further using ICCT. Since this image already has Google Chrome, you only need to add XAMPP.
- Select the RHEL6WithGoogleChrome image and click the Double CD icon (Extend) on the right pane.
Figure 32. Select the image to extend
Similar to the case where you used the template, this time Google Chrome is already present. However, note the color of the Google Chrome icon is green, indicating that it is already installed, as opposed to the yellow icon in the template case.
- Enter the information in the Extend an Image window and click Create. Click the Pencil icon to edit RHEL6WithGCAndXAMPP3.
Figure 33. Extend image RHEL6WithGoogleChrome
- Click Add Bundle and select the XAMPP software bundle check box to add it.
Figure 34. Add bundle XAMPP to image RHEL6WithGoogleChrome
- Expand the XAMPP software bundle Deploy Parameters, as
shown in Figure 35. Note that you set the Deploy Parameter to port 8081 and locked it.
Figure 35. Port 8081 is locked
- Click Save and Synchronize. Check-mark the License Agreement and click Done.
- Refresh the ICCT. Check that it shows Synchronized. Look up the temporary instance IP address on the SmartCloud Portal. Login to the temporary instance and check that /opt/lampp/lampp is present. Also check that /opt/ibm/ae/AS/com.apache.xampp_1.0.0/activation/ConfigurePort/configureXAMPPPort.sh is present. This runs during instance deployment after the captured image is deployed. Note that the /tmp has two IconExecutionPackage* directories. One is the old one created when the Google Chrome bundle was installed. The second is for the XAMPP software bundle that is being installed.
- If all looks okay, click the Capture icon in the right pane in the
ICCT GUI. An image is captured and the temporary instance is deleted. You can use the
captured image to create more instances.
Figure 36. RHEL6WithGCandXAMPP3 image in Images tab
Note that the port is locked to 8081. When you deploy, this parameter should not be available for configuration in the SmartCloud Portal. You might expect the instances to be created with fixed 8081 as the Apache Web Server port. However, in the current 2.0 release, SmartCloud does not directly support read-only parameters in parameters.xml, so you can change the port during provisioning and locking does not have any effect. Any locking using this mechanism with parameters.xml leaves parameters open to alteration by a user who manually edits parameters.xml directly in RAM Template topology asset.
If the image designer wants to hard code the port, it needs to be done manually. To ignore the port parameter and just hard code it before doing the capture using ICCT, update the configuration script created for the XAMPP software bundle /opt/ibm/ae/AS/com.apache.xampp_1.0.0/activation/ConfigurePort/configureXAMPPPort.sh on the temporary instance after the synchronize. That prevents any changes in parameters.xml from affecting the locked port.
Check that the image shows both software bundles. You need to refresh the Instances tab in the SmartCloud Portal after ICCT completes the capture and shows status "Completed: Capture Complete". Locking a parameter value in ICCT should prevent the need for a user to enter it for deployment.
You can also update the image asset to add a link in the GettingStarted.html page in Rational Asset catalog to allow directly connecting to XAMPP on port 8081 from the Instance tab after the instance is selected. By including this tag, SmartCloud Portal automatically includes the host name and opens the URL in a new browser tab when the user clicks the XAMPP Index page link.
<a onclick="javascript:ibmcloud.common.controlOpen
('http', 8081, '/xampp/index.php')"
href="#">XAMPP Index page</a>
|
Updating topology file to associate software bundles
After using ICCT and demonstrating the three mechanisms for capturing images, lets get back to the original image clone RHEL6.2WithLampAndGoogleChrome, which was created in a previous article.
Although you installed XAMPP on this, you noticed that it only showed Google Chrome in
the software bundles grid in the Images tab when you selected that image. That is
because you did not update the asset with the dependency on XAMPP software bundle
because you did not have any such bundle at that time. You can leave it as is, or for
completeness, now that you have the XAMPP bundle, you can add this dependency. Since
the association to the software bundle does not do any provisioning time changes to
the instance, the association is essentially for viewing. You can edit the content for
Template Topology Asset in Rational Asset Manager. Update the Semantic topology file Rhel6.1_x64.topology with the following section below the core:unit section for Google Chrome (near the bottom of the topology file).
Figure 37. Topology file location in RAM
<core:unit uuid="_mw5dOnzaEeGp3r7QPxS4HQ" name="xamppbundle" goalInstallState="installed" initInstallState="installed"> <core:capability uuid="_mw5dO3zaEeGp3r7QPxS4HQ" name="cap" linkType="any"> <core:extendedAttribute uuid="_qhXYcXzsEeGp3r7QPxS4HQ" name="symbolicName"> <core:data xsi:type="xsd:string" uuid="_mw5dPHzaEeGp3r7QPxS4HQ">com.apache.xampp</core:data> </core:extendedAttribute> <core:extendedAttribute uuid="_qhXYcnzsEeGp3r7QPxS4HQ" name="version"> <core:data xsi:type="xsd:string" uuid="_mw5dPXzaEeGp3r7QPxS4HQ">1.0.0</core:data> </core:extendedAttribute> <core:extendedAttribute uuid="_qhXYc3zsEeGp3r7QPxS4HQ" name="bundleName"> <core:data xsi:type="xsd:string" uuid="_mw5dPnzaEeGp3r7QPxS4HQ">XAMPP</core:data> </core:extendedAttribute> <core:extendedAttribute uuid="_qhXYdHzsEeGp3r7QPxS4HQ" name="bundleRepoId"> <core:data xsi:type="xsd:string" uuid="_mw5dP3zaEeGp3r7QPxS4HQ" >ryo-asset://842DE67C-2E85-70B4-318A-940EC239D44E_1.0.0 @https://www-147.ibm.com/cloud/enterprise/ram.ws</core:data> </core:extendedAttribute> </core:capability> </core:unit> |
Go back to the Control Panel or refresh it if you have a different window open. Note that the same imageId 20047812 displays XAMPP in the software bundles grid. This illustrates that you can use a combination of both approaches for the same image: ICCT and manual.
You did not add any products or any dependency between the XAMPP and the Google Chrome software bundles. Adding these using the genericsoftware:unit.softwareInstallUnit with changes to the server:unit.serverUnit, os:unit.operatingSystemUnit, core:unit, core:requirement, core:link.member tags is fairly complicated and best left to the ICCT tool. You can look at the topology file that the ICCT tool creates when creating the image with both bundles installed for more details.
Figure 38. RHEL6.2WithLampAndGoogleChrome image in Images tab
Both the name and description of an image can be updated in IBM Rational Asset Catalog after the image has been captured. However, as of this writing, the name and description of software bundles cannot be updated.
In this article series, you learned how to clone and modify a Rational Asset Manager asset for customized provisioning using ICCT on IBM SmartCloud Enterprise by walking through a simple example. You also learned three mechanisms to create an image design:
- Apply an image design template/recipe to a base image on another datacenter.
- Extend a base image.
- Extend a custom image that was previously captured using ICCT.
Learn
- Refer to the OMG Reusable Asset Specification standard.
- Some resources to expand the knowledge presented in this article:
- This whitepaper explains how ICCT helps users create virtual images for deployment in cloud solutions.
- WebSphere, cloud, and ICCT expert Dustin Amrhein details using software bundles in ICCT. He also explores how to establish a system to build custom virtual cloud images.
- Tony Barker explains what you need to understand about the Requirements tab of software bundles in ICCT.
- This blog entry gathers up some ICCT knowledge for you to explore.
- developerWorks contains lots of knowledge on using the ICCT; you can search for "icct" from our pages or try this pre-sliced view.
- Get started with IBM SmartCloud Application Services by watching a
demo.
-
Explore developerWorks Cloud Computing, where you will find valuable community discussions and learn
about new technical resources related to the cloud.
- Stay current with developerWorks
technical events focused on a variety of IBM products and IT
industry topics.
-
Follow developerWorks on Twitter.
-
Watch developerWorks
demos ranging from product installation and setup demos for beginners
to advanced functionality for experienced developers.
Get products and technologies
-
Evaluate IBM products in
the way that suits you best: Download a product trial, try a product online, use a
product in a cloud environment, or spend a few hours in the
SOA
Sandbox learning how to implement service-oriented architecture efficiently.
Discuss
-
Get involved in the developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups, and wikis.

Alex Amies is a senior software engineer in the IBM GTS Development Lab in the China development lab. He is currently an architect working on the design of the IBM SmartCloud Enterprise. Previously, he acted as an architect and a developer on cloud and security products in other groups within IBM.
Alexei Karve is a senior software engineer in the IBM Thomas J Watson Research Center. He is a member of the SmartCloud Enterprise design team focussing on software bundles and VPN/VLAN for the cloud business support systems. Alexei's experience includes broad experience with operational support services, virtualization, and Tivoli Provisioning Manager. He has a long and varied past in the system management area since joining IBM in 1993.

Scott Peddle is an advisory software developer on the IBM SmartCloud Enterprise. Scott leads projects focusing on integration of Rational Asset Manager within a cloud environment. Scott's experience includes leading a project for integration of WebSphere BPM tools, such as WebSphere Business Modeler and WebSphere Integration Developer via Rational Asset Manager. Scott also was a release engineer for Rational design and construction products, such as Rational Software Architect and Rational Application Developer.
Shaikh is an IBM Master Inventor and technical lead of the Business Support Systems for IBM SmartCloud Enterprise and Enterprise+ offerings, based in the United States.
Qiang Guo Tong joined IBM in 2004. He is one of the IBM SmartCloud Enterprise development team leaders responsible for creation of new features. He is also the globalization enablement solution architect of SmartCloud. His technical expertise is both globalization and also JavaEE technologies. He has over 8 years web application development experience based on the JavaEE architecture and focusing on web 2.0 technologies such as Dojo, JSON-RPC.




