Infrastructure as a service cloud development
Connecting to virtual machines on VLANs or to virtual machines with most of the ports closed off behind a firewall is becoming a more and more common activity.Probably the simplest way to do this is using a SOCKS proxy. I gave a short demonstration on how to do this at the last SmartCloud Enterprise Developers Group meeting in August. The presentation is here:
I have updated it with some additional material on how to connect to SOCKS proxies with clients other than Firefox. Java use the system property socksProxyHost to allow Java programs to connect via a SOCKS proxy. For applications that do not support SOCKS directly you can use a proxifier, which is a utility that intercepts TCP packets and routes them through a proxy. Proxychains is an example of a proxifier for Linux. There are several utilities available for Windows. I have also uploaded the presentation to slideshare at
Poster is the second Firefox extension that I mentioned in the last posting. It can be used for invoking any of the requests in the SmartCloud Enterprise (SCE) REST API, including GET, POST, PUT, and DELETE. To install it go to Tools | Add-Ons | Get Add-Ons and search for 'poster.' Install it and restart Firefox. For more details on Poster, see the project web page at http://code.google.com/p/poster-extension/.
You should now see a Poster menu item under the Firefox Tools menu. Click on that to bring up the Poster REST request dialog. This is shown below.
Poster REST Request Dialog
Click on the Headers tag and enter a value for the User-Agent header, as shown above. Enter the URL for one of the REST APIs, for example
Then click on the GET button. You will be prompted for your user name and password. You should see a response dialog like shown below.
Poster Response Dialog
To send POST and PUT request change to the Content to Send tab and enter form encoded data.
AAmies 270002F3W7 Tags:  cloud loadbalancing smartcloud sce iaas highavailability smartcloudenterprise 3 Comments 4,145 Views
Thanks to Michael Kaehly and Aidan Clarke for their excellent presentations and demonstrations on Riverbed Stingray Traffic Manager on SmartCloud Enterprise on Wednesday and Thursday this week. Mike and Aiden led us through
For more details see the presentation at
Also, see the Stingray Traffic Manager User Manual and the Installation and Getting Started Guide for Stingray Traffic Manager on EC2, which can be downloaded from the Riverbed web site at http://www.riverbed.com/us/.
AAmies 270002F3W7 Tags:  backup rsync smartcloud linux ha cloud smartcloudenterprise 3,864 Views
rsync is an ideal tool to synchronize a directory tree from a primary to a secondary virtual machine. rsync efficiently detects changes in the directory tree in the primary system then compresses and copies those changes on the secondary system, where they are re-assembled. rsync is a standard tool on many Linux systems, including the Linux images in the SmartCloud Enterprise image catalog. It can use SSH to copy the files for security over the Internet. This can be a very useful technique for data back, for synchronizing file systems in high availability scenarios, or for workload migration.
We can use rsync in a scenario like this:
Here is an example of basic use of rsync to synchronize or do a fresh copy of a directory tree from a primary system to a secondary. Execute the command from the primary server.
$ rsync -avz -e "ssh -i .ssh/<mykey>" /home/idcuser/<my_directory> idcuser@<secondary_server>:/home/idcuser
In this command we use the SSH key <mykey>, located in the directory .ssh. The ssh part of the command is enclosed in double quotes to retain the SSH options. The directory tree <my_directory> will be copied to the <secondary_server> under the idcuser's home directory. if you add more data to the primary server and then execute the command again only the changes will be sent across. The base operating system images in the SCE image catalog are set-up with good defaults for using rysnc over SSH, including disallowing root access and requiring an SSH certificate instead of a password. You can also set up a cron job to automate synchronization of data. Since the SCE images disallow use of a password for SSH connections it is straightforward use it in cron jobs.
For more on rsync see the project web site at http://rsync.samba.org/.
Thanks to everybody who attended the presentation on workload migration yesterday (October 24). After my experience giving the presentation I modified the slide deck, adding some new diagrams to graphically explain the concepts for migration based on image transfer versus migration based on automation of middleware utilities. Here is one of the new diagrams illustrate the great advantage in reducing downtime of the automation approach.
Case study steps for a WebSphere application with data stored in a relational database is illustrated below.
With this approach there is some downtime required for migration of application data. To avoid that downtime you would need an active-active highly available system, which would be a greater engineering effort appropriate for an application with heavy traffic but not necessarily warranted for one with lighter traffic.
You can get the updated slides here:
AAmies 270002F3W7 Tags:  smartcloudenterprise high_availability iaas smartcloud ha load_balancing sce cloud 3,543 Views
Traffic management is an important element of high availability and load balancing solutions for web applications. The Riverbed® Stingray™ Traffic Manager (formerly Zeus) provides a solution for this that is available as a virtual appliance in the SmartCloud Enterprise (SCE) image catalog. The solution includes an application delivery controller (ADC) for high availability, load balancing, and intelligent control. It supports health monitoring of the applications that it serves requests to so that traffic can be routed to application servers that are healthy. The security system can also protect against denial of service attacks. The virtual appliance itself if clusterable so that it does not become a point of single failure.
Details of the main concepts of traffic management concepts and the Riverbed® solution can be found in this developerWorks article:
Alex Gosse, Optimize cloud application delivery systems, 29 Jun 2011
The views in this blog are my own and do not represent IBM.
I would like to highlight a recent post by Jeff Klink, IBM architect specializing in SaaS on SCE ISV solutions and a post by Joe Kinsella, Vice President of Engineering for Sonian on Ruby in the SmartCloud. Sonian has created a very useful
extension of SCE in creating a Ruby to to access the SCE REST APIs with. The Sonian tool is actually a multi-cloud library in Ruby. It leverages the Fog open source library, which is a Ruby Gem for DevOps. Sonian collaborated with SugarCRM for this tool, which was released in March 2012
For more details see the full article
For more on Ruby see http://www.ruby-lang.org/en/
For more on Fog see https://github.com/fog/fog and download it from https://rubygems.org/gems/fog.
AAmies 270002F3W7 Tags:  storage sce linux smartcloud cloud iaas smartcloudenterprise 3,043 Views
In this article by Mihai Creveti you can understand how to use the Linux Logical Volume Manager on SmartCloud Enterprise. The Linux Logical Volume Manager (LVM) supports the concepts of physical volumes (PVs), volume groups (VGs), and logical volumes (LVs). A volume group is a collection of physical volumes and can be partitioned into logical volumes. Logical volumes act like physical volumes and have the advantage that they are not limited by physical restrictions, like hard disk space and can be managed dynamically. For example, LVM enables you to dynamically re-size volumes if you are running out of space. This can be very important when planning for and working with child instances so that you do not bake the disk size decisions for child instances into a parent image.
Some useful commands explained in the article, including lvmdiskscan, vgcreate, lvcreate, and fdisk. You can use lvmdiskscan to scan the devices visible to LVM, as shown below.
$ sudo lvmdiskscan | grep -v ram
/dev/vda1 [ 1000.00 MiB]
/dev/root [ 59.02 GiB]
/dev/vdb1 [ 4.00 GiB]
/dev/vdc [ 60.00 GiB]
0 LVM physical volume whole disks
0 LVM physical volumes
The grep option discards numerous RAM devices.
Read the full article by Mihai here:
IBM SmartCloud Enterprise tip: Configure the Linux Logical Volume Manager (Mihai Criveti, 2012), http://www.ibm.com/developerworks/cloud/library/cl-cloudtip-lvmconfig/
To understand more about read the article
Understanding ephemeral storage, (Jon Etkins 2011), http://www.ibm.com/developerworks/cloud/library/cl-ephemeralstorage/
For more on LVM see the LVM HOWTO (A. J. Lewis), http://www.tldp.org/HOWTO/LVM-HOWTO/index.html
Another useful reference on cloud storage in general is the article Anatomy of a cloud storage infrastructure (M. Tim Jones, 2010), http://www.ibm.com/developerworks/cloud/library/cl-cloudstorage/
AAmies 270002F3W7 Tags:  cloud smartcloud iaas ha sce smartcloudenterprise 1 Comment 3,013 Views
Running applications on SmartCloud Enterprise with high availability options is a topic that came up in the SCE Developers Group meeting this week. There are several good papers on the topic on developerWorks.
High availability apps in the IBM Cloud
How to protect a cloud-enabled, production-grade application against a failure on any node
Practical approaches to cloud-based high availability
Recover data in IBM SmartCloud Enterprise
Explore backup and restore options in the IBM Cloud
I have adapted the steps from the article IBM SmartCloud Enterprise tip: Configure the Linux Logical Volume Manager (Mihai Criveti, 2012) and simplified for use on a dynamically attached volume on RHEL 6.2 on SCE. Refer to the previous blog for background. I perform these steps after creating a RHEL 6.2 virtual machine instance and dynamically attaching a 60 GiB storage volume.
Check attached devices
$ sudo lvmdiskscan | grep -v ram
/dev/vda1 [ 1000.00 MiB]
/dev/root [ 59.02 GiB]
/dev/vdb1 [ 4.00 GiB]
/dev/vdc [ 60.00 GiB]
0 LVM physical volume whole disks
0 LVM physical volumes
The attached volume is /dev/vdc, which is the 60 GiB storage volume. Check that it is not partitioned yet
$ sudo fdisk -l | grep partition
Disk /dev/vdc doesn't contain a valid partition table
Create a response file for the partitioning operation using vi.
$ vi fdisk.lvm.partitions
Partition the device with fdisk.
$ sudo fdisk /dev/vdc < fdisk.lvm.partitions
Initialize a disk or partition for use by LVM
$ sudo pvcreate /dev/vdc1
Check the result of the partitioning operation
$ sudo fdisk -l | grep LVM
/dev/vdc1 1 124830 62914288+ 8e Linux LVM
Check the LVM physical volumes created
$ sudo lvmdiskscan | grep -v ram
/dev/vda1 [ 1000.00 MiB]
/dev/root [ 59.02 GiB]
/dev/vdb1 [ 4.00 GiB]
/dev/vdc1 [ 60.00 GiB] LVM physical volume
0 LVM physical volume whole disks
1 LVM physical volume
Create a volume group using the vgcreate command.
$ sudo vgcreate -A y localvg /dev/vdc1
Volume group "localvg" successfully created
Create a logical volume called datalv using the lvcreate command.
$ sudo lvcreate -A y -l 100%VG -n datalv localvg
Logical volume "datalv" created
Format the file system with ext3 using mkfs.
Create a directory to mount the FS in
$ sudo mkdir /data
Enable automount by adding an entry to fstab with vi.
$ sudo vi /etc/fstab
/dev/localvg/datalv /data ext3 defaults 0 1
Mount the file system
$ sudo mount /data
Test that you can add data to the file system by creating a file in it.
The full article by Mihai is here:
IBM SmartCloud Enterprise tip: Configure the Linux Logical Volume Manager (Mihai Criveti, 2012),
I have just published the article Creating a DNS Service on the Cloud. In the article we discuss how to configure and use a DNS server for management of virtual machines on the cloud. This is described in the context of a cloud-based virtual local area network and scripting to automate network configuration of virtual machines. The procedures in this article were tested with IBM SmartCloud Enterprise (SCE). The principles we discuss apply to other Infrastructure as a Service (IaaS) clouds as well. However, no warranty is given that the tools and techniques described here will work.
Article link: http://www.informit.com/articles/article.aspx?p=2015293
Our book was released today:
Developing and Hosting Applications on the Cloud by Alex Amies, Harm Sluiman, Qiang Guo Tong, Guo Ning Liu. IBM Press. ISBN-13: 978-0-13-306684-5
It is available in Mobi (Amazon), EPUB, and PDF formats.
The book gives a broad view of developing and hosting cloud-based applications. IBM SmartCloud Enterprise (http://ibm.com/cloud/enterprise) is used in examples and to explain concepts but the ideas apply to other clouds as well. Here is an outline of the chapters:
Thanks to my co-authors Harm, Jonathan, and Guo Ning and the SmartCloud Enterprise development team.
In the last post I discussed the WebSphere Application Server 8.5 Profile Management Tool. In this post I will discuss two other tools: the Web Server Plug-ins Configuration Tool and Installation Manager. You can access Installation Manager in the directory /opt/IBM/InstallationManager. Begin a desktop session, change to virtuser, and start it up with the command
This shows the details of the packages installed and allows them to be updated and modified
Screenshot of Installation Manager for the SmartCloud Enterprise WebSphere Application Server 8.5 image
You can also install and manage software with the InstallationManager the command line tool imcl.sh in the/opt/IBM/InstallationManager//eclipse/tools directory. For example, to list the installed packages use the command
$ ./imcl listInstalledPackages
Silent installation is also possible with Installation Manager with the command line tool.
There are actually two versions of the WebSphere Customization Toolbox. The one described in the last post includes the Profile Management Tool. The one described in this post includes the Web Server Plug-ins Configuration Tool.
Start the WebSphere Customization Toolbox from /opt/IBM/WCT/WCT to access the Web Server Plug-ins Configuration Tool
For more details see the WAS 8.5 InfoCenter at
Also, see the IBM Installation Manager Information Center at:
Also, if you have not signed up for SCE already, take advantage of the IBM SmartCloud Enterprise Promotion 2012! Go to ibm.co/T0W8gb.
The promotion does not include the WebSphere image discussed in this post.
All views are my own.
In the first part of this article, Part 1: Create a mashup service, Alexei Karve and other authors explain how to Use service descriptors to create and register a mashup service in the Cloud Services Framework in IBM® SmartCloud Enterprise.
Article: SmartCloud Cloud Services Framework, Part 1: Create a mashup service
Use service descriptors to model your service offerings
Summary: Learn how to create and register a mashup service in the Cloud Services Framework in IBM® SmartCloud Enterprise. The authors show how to: Display the details of a service offering, dynamically update the displayed information, present data from third-party sources, and how to manage the service instance. Watch for follow-on articles in the series -- they'll show how to provision the service with multiple components and will illustrate a proxy VM with a load balancer and monitoring service.
You can view the Javadoc for the SmartCloud Enterprise (SCE) Java API directly at this URL:
You need an SCE user account to access that URL. Sign up for the trial if you don't have an account already!
In addition, the asset download for the Java API for includes a Javadoc zip bundle that is handy to use in your IDE. For example, in Rational Software Architect or Eclipse you can mouse over the API's to view the Javadoc, as shown below.
Notice that it includes the Javadoc zip, as shown in the screenshot below.
Download all the files by clicking the Download this Asset button.
2. Enable Javadoc in the Java Build Path tab of the Project Properites dialog. Open up the entry for DeveloperCloud_API_Client-2.1.jar, as shown below.
I have uploaded the presentation for this month's Developer Group meeting to the SmartCloud Enterprise asset catalog. The main presentation by Ignacio Silva-Lepe on SmartCloud Application Services (SCAS) and Cloud Services Framework (CSF) is at
The second presentation, by myself, on Using a SOCKS Proxy with VLANs is at
You will need an SCE user account to access these.
In addition to Ignacio's presentation there is a good overview of different methods to deploy complex infrastructure on SmartCloud Enterprise by Dominique Vernier at
AAmies 270002F3W7 Tags:  riverbed highavailability stingray smartcloudenterprise smartcloud cloud iaas 2,783 Views
I have posted this month's slides for the IBM SmartCloud Enterprise Developer's meeting, which is Riverbed Stingray. This is a leading solution for high availability, load balancing, denial of service protection, and other functions. The slides are a documentation asset in the SCE asset catalog. The slides are here:
You will need an SCE user account to access the URL.
There are two very useful Firefox plug-ins for working with the SmartCloud Enterprise REST APIs. Actually, these are useful for working with any REST API's. They are:
I will discuss the User Agent Switcher in this blog entry. This plug-in allows you to change the value for the User Agent HTTP header. It can only be used for GET requests. The plug-in can be installed directly from the Tools | Add-ons menu in Firefox. The project web site is at http://chrispederick.com/work/user-agent-switcher/. After installing the plug-in and restarting Firefox, enter a new user agent profile. Do this by bringing up the Edit User Agents dialog by selecting the Tools | Default user Agent | Edit User Agents menu. This is shown below.
Click the New button and enter values for the fields. Importantly, set the value for User Agent to something that does not contain 'Mozilla' or 'IE'. Browsers are disallowed from invoking the REST APIs with the default User Agent header. This dialog is shown below.
Click OK for both dialogs saving the profile with a name, say 'cloudapi'. Now that you have added the user agent profile select it by clicking on the Tools | Default User Agent | cloudapi. Now you are ready to invoke the REST API. Paste the URL below into your browser's address bar or click on it:
This will fetch the list of virtual machine instances you own. You will be prompted for your user id and password. Then the instances will be displayed in the browser in XML format. Another useful one URL is
Which lists the VLANs assigned to your organization at each data center.
The full set of URLs for the REST API is listed in the SCE REST API Reference. Use the link in the sCE support tab to access that.
Invitation: January 30th IBM SmartCloud Enterprise Developers Group Virtual Meeting OpenStack and CIMI REST API
There are a couple of changes in this meeting, both in time and content, so I am posting it again with the changes. I have also uploaded the slides to the SCE documentation library.
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.
Date: Wednesday January 30, 2012 9:00 AM Eastern US
Tong Li and Doug Davis will discuss the CIMI REST Interface that he has created for OpenStack. The Cloud Infrastructure Management Interface (CIMI) is a new standard published in 2012 by the DMTF that will be implemented by multiple clouds. IBM participated in defining the standard and has contributed this as open source to the OpenStack project.
1. News and publications
2. Overview of the OpenStack project
3. Overview of CIMI
4. CIMI implementation for OpenStack
Tong Li is a Senior Software Engineer at IBM where he has been working for over 15 years. He has worked on IBM Websphere Portal Server, LotusLive and is currently working with the IBM Emerging Technologies Division on Cloud computing technologies. Most of his recent work has focused on Cloud storage standard and OpenStack Swift.
Doug Davis is a Senior Technical Staff Member representing IBM on the Distributed Management Task Force Cloud Management Working Group and editor of the CIMI specification.
Updates to the SCE Python driver for Apache LibCloud is available: http://libcloud.apache.org/index.html.
Sonian and a few others have collaborated on a new command line interface for SCE written in Ruby. It can installed and running rapidly and simply and works natively on multiple platforms. Here is the link:
Developing and Hosting Applications on the Cloud, book available at
New article: IBM SmartCloud Enterprise management, Part 3: Clone and modify an asset for customized provisioning
New article: IBM SmartCloud Enterprise management, Part 4: Create images with ICCT
Article published: Workload Migration for the Cloud
If you would like to receive the official calendar invitation for the user group meetings, send an email to email@example.com or firstname.lastname@example.org.
Connecting to remote Linux desktops on is frequently needed in cloud applications. Because the remote machines are on the Internet you should be avoid sending unsecured network traffic to them and also avoid opening insecure services, like VNC, on the Internet.
I have written a technical article in the SCE asset repository that explains how to connect to a remote Linux desktop securing by tunneling VNC traffic over SSH. Besides encrypting the network traffic the technique avoids the need to open the firewall for VNC. The technique is explained for OpenSSH and PuTTY. I presented this at an SCE User Group last year and just updated it to include instructions for tunneling through a firewall to a virtual machine on a private VLAN. The TechNote will be useful to readers who have basic experience with SSH and Linux. The article is here:
AAmies 270002F3W7 Tags:  poster smartcloud iaas cloud rest sce smartcloudenterprise 2,672 Views
I want to add a little to my earlier entry on the use of the Firefox plug-in Poster to call the SmartCloud Enterprise (SCE) REST APIs for managing cloud resources. In the entry Firefox Poster Add-On for Cloud REST APIs I introduced the use of the Poster plug-in but I only gave an example for GET requests. For POST and PUT requests you will need to add a HTTP method body. The SCE REST API expects parameters in a form-encoded body. You can add these easily with Poster. It can also help give you an understanding of the REST API.
Here are the steps to create a storage volume. You need find out the values parameters to add first by doing a GET for volume offerings
2. Add the User-Agent header as per the GET method.
3. Do a GET request to the URL https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/offerings/storage5. Change to the Parameters tab and enter the parameter names and values for name, offeringID, location, format, and size. Optionally, you can add a storage area ID (storageAreaID) as well.
4. Check the results and note the location ID for the data center that you want to create the storage volume at, the offering ID, and choose a size in GiB
6. Change to the Content to Send tab and click the Body from Parameters button. You should see something like the screen shown below.
The form encoded content to send via HTTP POST
7.Click the POST button. This will send a HTTP POST to the cloud server. After about 20-30 seconds you should see response like shown below.
Poster Response for Create Volume
8. Take a note of the volume ID. You will need it to check the status of the storage volume.
9. You will not be able to use the storage volume until it changes to the UNMOUNTED state. Do a GET request to the same URL to check the status.
AAmies 270002F3W7 Tags:  smartcloudenterprise websphere iaas j2ee cloud smartcloud sce 2,669 Views
WebSphere Application Server (WAS) is the industry leading J2EE server. WAS 8 is built on Java EE 5 and J2SE 6 and supports
The SmartCloud Enterprise WAS virtual machine image is ideal for using WebSphere in production or leaning to use it, perhaps studying for Websphere certification. To start up WAS in SCE UI follow these steps:
(1) go to the Control Panel and click on the 'Add Instance' button
(2) In Step 1 of 4 select a data center and select the image 'IBM WebSphere Application Server 8 Standalone Node and click next
(3) Choose a compute size, as shown below
(4) Enter the parameters for configuring WAS, including administrative ID and password and click Next
(5) Click Next again, agree to the Terms and Conditions and click Submit.
(6) Check the Control Panel for the virtual machine instance to be provisioned. It will take several minutes.
(7) After it has been provisioned take a note of the IP address. You can log in to the operating system with an SSH client.
The WebSphere 8 image is build on Red Hat Enterprise Linux. If you have chosen to configure the IHS server, as in step 4 above, you will now be able to point your web browser to the IP address or host name of the virtual machine and will see the IHS welcome page. To connect to the WebSphere Integrated Solutions Console enter the address below into your browser:
http://<fully_qualified_hostname or IP>:9060/ibm/console
and enter the user ID and password that you set in step 4 above. You should see a screen like shown below.
See the book Developing and Hosting Applications on the Cloud for more details on using SmartCloud Enterprise and related offerings from IBM.
Note that you will need an SCE account to try this out. You can sign up online at https://www.ibm.com/cloud/enterprise. Please note that the image catalog in SCE is updated regularly.
Developing and Hosting Applications on the Cloud book: http://www.amazon.com/dp/B008FP2G5O
IBM SmartCloud Enterprise: https://www.ibm.com/cloud/enterprise/dashboard
WebSphere Application Server Network Deployment V8.0, Core Administration certification: http://www-03.ibm.com/certify/tests/ovr317.shtml
IBM WebSphere Application Server V8 Concepts, Planning, and Design Guide redbook: http://www.redbooks.ibm.com/abstracts/sg247957.html?Open
WebSphere Application Server V8: Administration and Configuration Guide redbook: http://www.redbooks.ibm.com/redpieces/abstracts/sg247971.html?Open
WebSphere Application Server information center: http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/index.jsp
The ideas expressed in this blog are my own and do not represent IBM.
It is a frequent requirement to copy large files to the cloud. In particular, OVF files for virtual machine images are very large. The problem with copying very large files, over 1G, with SCP is that the SSH pipe may break. This can be frustrating in the middle of a large copy operation. rsync can provide a solution to this. Unzip the large files on the source machine into a directory and run rysnc. It is a tool that keeps directories synchronized and sends the compressed changes over SSH. So if it does not complete successfully you can run it again multiple times and only the differences will be copied until, finally, both sets of directories will be in sync.
See the last post for more details of using rsync on the cloud.
AAmies 270002F3W7 Tags:  sce virtualization iaas smartcloudenterprise cloud smartcloud qemu 2,571 Views
Presentation: Recover virtual machine instances using QEMU
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.
Date: Wednesday November 28, 2012 10:00 AM Eastern US
Agenda: Recover virtual machine instances using QEMU
Speaker: Mihai Criveti, Image development specialist and cloud architect, IBM
Presentation materials: Location will be posted on this blog
Meeting information: email aamies(at)cn.ibm.com for call-in, web conference details, and a calendar invitation.
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 Developers 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.
There a similarities and differences in working with Windows and Linux virtual machines on SmartCloud Enterprise. To provisioning a Windows virtual machine follow the same provisioning wizard in the SCE web portal that you do for Linux virtual machines. However, after you have created it you will connect to it with Remote Desktop Protocol (RDP) instead of SSH, as you would with Linux. RDP is a secure, high performance protocol. To open a remote desktop to your Windows virtual machine select Remote Desktop Connection from the Start menu under Accessories. The Remote Desktop Connection dialog is shown below.
To transfer files to the virtual machine, map a drive using the Remote Desktop Connection dialog before you connect. You can set this using the Options drop down in the dialog and then changing to the Local Resources tab and mapping a drive. The dialog is shown below.
More details are given in the Working with your Windows instances section of the SCE User Guide.
Start-up logs are not available for Windows images and image import / copy is not supported for Windows as it is for Linux. There are also a some additional steps and configuration settings to be mindful of when working with Windows. This can make it harder to debug when you are customizing a Windows image. Therefore, it is good practice to keep running instances for important images alive until you can verify that captured images are able to be used for provisioning new virtual machines. Be careful to follow the steps listed in the section Working with your Windows instances of the SCE User Guide and chapters 3 and 4 of the Customizing Image and Software Bundles Reference.
Lisa Seacat DeLuca summarizes the differences and similarities of working with Windows virtual machines and describes techniques for automation in her developerWorks article Customize SmartCloud Enterprise Windows-based images:
Windows PowerShell can be a useful scripting tool when customizing Windows images. There is a extract-parameters.ps1 script provided in SCE Windows images in C:\Windows\System32 folder to extract provisioning parameters from the parameters.xml file.