Infrastructure as a service cloud development
I have updated the Storage Availability Areas and Dynamic Disk Attach / Detach Demo presentation. There was a mistake on slide 15, Find storage volume offering information, which I corrected. While was changing that I also added more description on individual steps to make the use of parameters more clear. The link is in the same place in the IBM SmartCloud Enterprise asset repository:
I have uploaded the same storage demo presentation to slideshare.net here:
You do not need a SmartCloud Enterprise account to view it there and it will be able to be found by Internet search engines.
You can access all the documentation assets relating to cloud APIs in the SCE asset repository by searching on the sce_api tag:
Just published another article on SmartCloud Enterprise (SCE). This article is on the use of Apache Libcloud to manage resources in SCE. Thanks to my co-authors Sengor Kusturica, Max (Michael Maximilien), Jonathan (Qiang Guo Tong), and Shirley (Yi Shuai Wang).
This article explains the basics of using the Apache Libcloud Python API with IBM SmartCloud Enterprise. The value of the Libcloud API is that it can be used across many different cloud providers. The article will demonstrate how to create and retrieve information about cloud resources and discusses managing virtual resources across clouds. This article is suitable for readers with basic knowledge of Python and a basic knowledge of the IBM SmartCloud Enterprise and who wish to combine the two.
Apache Libcloud is a cloud management API written in Python. It is provides a uniform API that connects to multiple cloud providers, including IBM SmartCloud Enterprise, and 23 others. Its goal is to provide a basic yet functional cloud library. Libcloud includes modules for managing virtual machines, storage, and load balancers. The current version is 0.5.2. It depends on Python 2 and will not run on Python 3. All the Linux virtual machine images in the SCE image library include a Python 2 interpreter. On Windows you can freely download and install a Python 2 interpreter from python.org.
I wrote a technical article in the SCE asset repository that explains the basics of using the Apache Libcloud
Python API with IBM SmartCloud Enterprise. Here is the link:
Sengor has contributed to the libCloud project and also helped my add an update for the SmartCloud Enterprise driver. Details are here:
Thanks to Sengor for his help.
SmartCloud Enerprise (SCE) has a facility for uploading files when creating a virtual machine. One of the scenarios that this is very useful for is to upload additional SSH keys, say to provide a backk-up or to allow the virtual machine to be used by multiple people. I created a document to explain how this is done. The URL of the document is:
This document describes working with parameters that are required when creating instances with the command line and the Java API. It also discusses how to pass files to the Cloud during instance provisioning with Java API and REST API. (Uploading files is not supported by the command line tool.)
More details on related topics at Developing and Hosting Applications on the Cloud, IBM Press link:
Amazon link: http://www.amazon.com/dp/B008FP2G5O
This article describes how to integrate set-up and tear-down of virtual environments as part of the build process with Apache Maven. Thanks to my co-authos Perry (Pan Xia Zou) and Shirley (Yi Shuai Wang) for their help in writing it. It now has 43088 views on developerWorks. Here is the link to the article:
Summary: A recent trend has been to build a strong connection between cloud application and service development and operations; in particular, this trend is leading to a tighter, more efficient integration of application life cycle management (ALM) tools with cloud computing. In this article, the authors will show you how to use the open source Apache Maven build management tool to automate build and deployment projects on IBM® SmartCloud Enterprise. They will also demonstrate how to integrate the management of virtual machines on the cloud into the build and deployment life cycle by developing an Apache Maven plug-in that looks up and creates virtual machines that run a J2EE application server on the cloud. You'll also discover best practices for development and deployment on the cloud and how to use IBM Cloud API's and Maven to implement these practices.
There is a WebSphere 8.5 image available in the SCE image catalog. To find it search on the text 'IBM WebSphere Application Server Version 8.5' in the asset catalog to find the different versions and data centers. The image ID will be displayed along with other topology details. It is available in both in RHEL and SUSE flavors. I used the IBM WebSphere Application Server Version 8.5(32-bit) for Red Hat Enterprise Linux 6.2 (32-bit), which includes the WebSphere Customization Tools, Web 2.0, and Mobile Toolkit. You can create an instance of the image using the self service console, as shown below.
The next screen prompts you for several parameters, as shown below.
If you prefer to use a the command line then you can do so with the following commands. I created the server ona VLAN in the Singapore data center. Firstly, to find the VLAN ID use the command
> ic-describe-vlans.cmd -u <user id> -g <password file> -w <passphrase>
I got the image ID from searching the catalog. Next to find the supported sizes used the describe-image command, with the image id being the -k parameter
> ic-describe-image.cmd -u <user id> -g <password file> -w <passphrase> -k 20056229
Executing action: DescribeImage ...
Name: IBM WebSphere Application Server Version 8.5 32b - BYOL
. . .
InstanceType ID: COP32.1/2048/60
Label: Copper 32 bit
Detail: Copper - 32 bit (vCPU: 1, RAM: 2 GiB, Disk: 60 GiB)
. . .
Check parameters.xml for optional parameters. To provision a VM in Singapore use the command below.
where -n specifies the name to use for the new instance, -x is the VLAN ID, -k is the image ID, -L is the data center ID, and -m is the custom parameters (from paramaters.xml).After the instance has been provisioned you log onto the virtual machine with your SSH client (eg, Putty) to see how it is set up. Use the manageprofiles.sh to check the profiles configured, as shown below.
If you do not like the profiles installed you can add your own using either the manageprofiles command or the WebSphere Customization Toolbox (WCT). WCT is tool with a graphical user interface. To create a profile using the manageprofiles command first Change to virtuser
To create a new profile use the command below
INSTCONFSUCCESS: Success: Profile AppSrv01 now exists. Please consult /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/AboutThisProfile.txt for more information about this profile.
To use WCT you need access to the desktop. One of the advantages of provisioning into a VLAN and accessing with a VPN is that there is no need for tunnelling for VNC. Open firewall if on VPN or do tunnelling on port 5901 if on Internet. Change back to idcuser to edit the firewall configuration file.
$ sudo vi /etc/sysconfig/iptables
Add a row to open port 5901, save the file, and restart the firewall.
$ sudo /sbin/service iptables restart
Start the VNC server with the command
Use the VNC client to connect from your workstation to the virtual machine instance desktop. Change to user virtuser again and execute the command below to launch WCT.
You should see something like the screenshot below
Click on 'Launch the Selected Tool' to start the Profile Management Tool. You can add a new profile using the new profile wizard, as shown below.
There are more details in book Developing and Hosting Applications on the Cloud
Perry (Pan Xia Zou), Qi Wen, Jonathan (Qiangguo Tong), and Conan (Xing Hua Bi) published a very nice article titled Develop software faster with continuous integration that examine agile software development practices using IBM SmartCloud Enterprise as a platform. Here is the link:
Great article folks! Thanks!
This paper was published on IBM developerWorks today. The paper describes concepts and tools for networking on the cloud. Although the we make specific reference to IBM SmartCloud Enterprise the concepts and techniques are applicable to any cloud. Thanks to my co-authors Chun Feng, Guang Cai, and Mihai for their help on writing this paper. The paper is here:
Summary: Join the authors as they describe important concepts of networking for IBM® SmartCloud Enterprise, including virtual local area networks (VLANs), virtual private networks (VPNs), and the various protocol layers. They also explain how to use tools such as OpenSSH, OpenVPN, and proxy servers to set up different network topologies and solve connectivity problems from within the context of common organizational scenarios and security issues and practices.
I also have a slide deck with a summary of the material that I plan to use for the SmartCloud Enterprise Developers group next week:
The Monitored Directory Deployment feature in WebSphere Application Server 8.5 is very convenient to use for deploying or updating applications in the cloud. Once set up, applications can be updated simply by copying to the monitored directory by secure copy (SCP). The advantages over using the WebSphere Integrated Solutions Console (ISC) are that you do not need open ports in addition to port 22 and the update can be easily scripted with generic file manipulation commands. To enable Monitored Directory Deployment in ISC go to Global Deployment Settings | Monitored Directory Deployment, as shown below.
Configuring Monitored Directory Deploy in the WebSphere ISC
> scp -i <key_file> <local_source_file> idcuser@<vm_host_name>:<target_file>
The command format is the same for both OpenSSH and WinSCP.
The file will be owned by idcuser after copying with SCP but the WebSphere user will be different. By default the WebSphere user is virtuser. On the WebSphere server machine change file owner and copy the file to the
monitored directory with the commands below (for Linux, use similar commands on Windows)
$ sudo mv migrationEAR.ear Profiles/AppSrv01/monitoredDeployableApps/servers/server1/.
My application is called migrationEAR.
simplest and most appropriate for the cloud.
The views in this blog are my own.
A meeting for SCE customers and users of the REST APIs and related tools to develop solutions on the cloud. Previously known as the API Users Group.
1.US / Europe meeting, July 25, 2012 10:00 AM Eastern US, or
2.Asia Pacific alternate meeting: July 26, 11:00 am Beijing time
3.Jonathan Tong, High Availability for the Cloud
4.Alex Amies, Networking Concepts and Tools for the Cloud
Jonathan is one of the lead developers on the team that develops the SCE platform. Jonathan will present on some high availability tools and concepts for users the cloud. Alex is an architect on the SCE development team. Alex will present in the second half on cloud networking, including use of VLAN, firewall, VPN, and tunnelling technologies for building solutions on the cloud.
HA slides: TBD
Book give away. Developing and Hosting Applications on the Cloud By Alex Amies, Harm Sluiman, Qiang Guo Tong, Guo Ning Liu. Published by IBM Press. We will give away two free copies of the book to the first two people to join the web meeting. Link: http://www.ibmpressbooks.com/bookstore/product.asp?isbn=9780133066845
Date: July 25, 2012
Time: 10:00 a.m. - 11:00 a.m. Eastern US
Date: July 26, 2012
Time: 11:00 a.m. - 12:00 noon Beijing time
Email me at email@example.com for telephone numbers and web conference details.
The IBM SmartCloud Enterprise Developers Group (previously API User Group) is a technical community composed of individuals interested in the application programming interfaces (APIs) of the IBM SmartCloud Enterprise offering. The group includes customers, IBM Business Partners, independent software vendors, and IBM employees who share a common interest in understanding the APIs of the IBM SmartCloud Enterprise offering and how they can be used to automate processes and build solutions that integrate with IBM SmartCloud Enterprise.
The IBM SmartCloud API User Group is hosted by Alex Amies. Alex is a Senior Software Engineer in the GTS Development Lab team. He has been with IBM since 2002. His current assignment is Architect with the design team for the IBM SmartCloud Enterprise public cloud offering at ibm.com/cloud/enterprise. Alex has been working in the China Development Lab in Beijing since 2009. Prior to 2009 Alex was product architect for IBM Tivoli Identity Manager, based in Costa Mesa, California.
You can now get the book for your Barnes and Noble Nook reader. Here is the link:
There is a sample chapter available in case you want to try it first. Happy reading!
AAmies 270002F3W7 Tags:  websphere cloud smartcloudenterprise iaas redbook smartcloud 1,379 Views
A draft of a new Redbook on WebSphere Application Server V8.5 Administration and Configuration Guide has been made available. The link is here:
This will be helpful if you are using any of the WebSphere Application Server V8.5 images in the SmartCloud Enterprise (SCE) image catalog. The SCE image catalog has many flavors of WebSphere Application Server V8.5, including for RHEL and SUSE both 32-bit and 64-bit architectures. These images are available at each data center in different license versions, Bring Your Own (BYO), Developer Use Only (DUO), and Pay as You Go (PAYG). To find them search on the string 'IBM WebSphere Application Server V8.5' in the asset catalog (RAM).
For the latest on Redbooks see the web site at
or subscribe to the RSS feed at
or follow it on Twitter
I have just published at an article with co-author Nathan Gibbs on Workload Migration for the Cloud. The article discusses various aspects of workload migration and share some case studies that reveal techniques for such migrations. Cloud tools, such as image capture, are contrasted with using traditional techniques, such as DNS redirection, synchronizing files for a database application with rsync, migrating with WebSphere profiles and administration scripting, in a cloud context. The article is here:
Thanks to Nathan for his help in writing it.
This article has just been published on IBM developerWorks. Thanks to the lead author Alexei Karve and other authors. The article is at this URL:
A software bundle is a collection of software installation files, configuration files, and metadata that can be deployed on a virtual machine instance. In this final article, the authors describe the three mechanisms to create images using the IBM Image Construction and Composition Tool (ICCT) to capture a customized image, and the mechanism to manually add a dependency between an image and a software bundle by updating the semantic topology file. The ICCT performs bookkeeping tasks and provides a step-by-step process and a graphical interface to conveniently create software bundles, customize virtual machine instances, and capture images. This series shows how to use ICCT to create a software bundle, then register and maintain it on IBM SmartCloud Enterprise.
Check out this excellent new article by Claudio Popescu and Mihai Criveti. Not only does it offer some practical help for recovering stuck instances but it demonstrates some powerful tools and techniques.
Summary: Suppose something went wrong and you discover you have an inaccessible Linux® instance on IBM® SmartCloud Enterprise? What can you do? The authors of this article walk you through the steps to recover an inaccessible Linux instance. They show how to capture a private image, copy it to persistent storage, use QEMU to boot the captured image or mount it using kpartx, fix the problem, and then import the image back into the cloud.