IBM Bluemix has a great cloud platform based on open-standards that they are building to give developers “flexible compute options, choice of DevOps tooling, and a powerful set of IBM and third-party APIs and services”. If you’re not already familiar with it, check it out. It offers developers three distinct platforms for deploying their applications: true platform as a service through Cloud Foundry, portable containers through Docker and Virtual Machines on OpenStack (currently in BETA).
With the recently announced OpenStack Solace VMR support, it seems like a perfect fit – run your Solace VMRs in the Bluemix Virtual Machines environment, your Apps in CloudFoundry and then you can really take advantage of all the benefits of Bluemix public cloud and Bluemix local. More on that in a future post though. For now I want to show you how I got the Solace VMR running in Bluemix.
Along the way, I leveraged two guides to get the VMR up and running:
As required I’ll reference both of those guides to help you understand the steps and how to go further with your personal configuration as required.
Step 1 – Download the Solace VMR OpenStack load
First step is to get a Solace VMR OpenStack load. For this, just follow the steps outlined in the Solace getting started guide “Download the Solace VMR”. For Bluemix, just as with other OpenStack environments, you will need the decompressed QCOW2 image.
Step 2 – Import the VMR as an IBM Virtual Machine image
First, you need to enter into the Bluemix Virtual Machine dashboard. This is where you’ll manage the various VMs you start. So click on the “Virtual Machines” tile on the Bluemix dashboard. In my case, I had to switch to the UK location because the US South Virtual Machines Beta was full.
Then the virtual machine dashboard will load. It should look something similar to the following. In my environment, I’ve selected the “IBM Cloud Public” as the VM Cloud to use, and I have access to the two provided instance sizes.
So now it’s time to upload the Solace VMR as an OpenStack VM Image. The IBM VM Documentation – Managing VM images has a good explanation of the various options for uploading VMs. Once the Solace VMR is decompressed it is over 2 GB, so at this size, IBM recommends using the OpenStack Glance client.
Again here, the IBM VM Documentation – Uploading a VM Image Using the Glance Client has great details to walk you through setting up your environment and all the options. I found that the following worked well from my Ubuntu Linux CLI.
glance --os-image-api-version 1 image-create --is-public false --name Solace-VMR-demo --progress --disk-format qcow2 --container-format bare --file ./soltr-VERSION-vmr-cloud-evaluation.qcow2
In the above, replace “VERSION” with the actual version of the Solace VMR QCOW2 file you decompressed. This will create a private image named “Solace-VMR-demo” and show progress along the way. Once the image uploads successfully you’ll see something similar to the following.
Check that the status reports “active”. At this point, reload the Bluemix Virtual Machine dashboard, and the VM image will be available.
Step 3 – Launch a VMR Instance
IBM Bluemix has simplified the options for launching a VM Instance. To launch a new VMR, select the “Existing”, and pick your image name. In my case, the image is “Solace-VMR-demo”.
Then under the VM settings, you need to give the instance a name (for example, “Solace-VMR-instance”), select a type of “Single” and a size of “c2.m8.s40”. The key for the size is to satisfy the VMR system requirements.
As outlined in the Solace VMR Getting Started tutorial, select an appropriate network, security key, and security group. In my case, I wanted a public IP address assigned so I could connect form outside Bluemix as well as from applications running in Cloud Foundry. For simplicity, in my environment I also selected the “allow_all” security group to get up and running quickly. But IBM gives good details on how to better customize the security groups here.
When you click “Create” to launch the new VMR instance. Bluemix OpenStack will then start up your new Solace VMR instance. Once it starts all the Solace VMR details are available in the dashboard, including the Public IP that you can use to connect to the Solace VMR.
At this point you are all done!! You now have a Solace VMR ready for messaging running as a VM in IBM Bluemix. The Solace VMR will start up ready for messaging. So go ahead and send some messages to your Solace VMR as outlined in the other Solace Get Started tutorials using the public IP address.
And keep in mind that after initially booting an OpenStack instance of a VMR, from a management perspective, only key-based login for the admin account is allowed. You can enable other users including the GUI admin tool SolAdmin – refer to Configuring Users in the Cloud.