I was invited to attend a conference call at the start of October between Hagrid Solutions and BMC (May Bakken & Prue Palmer to be introduced to the Innovation Suite and discuss whether we would be interested in developing a proto-type application using the Innovation Suite that could be demonstrated at the BMC Exchange Melbourne to be held on the 25 October. This was my first exposure to the Innovation Suite and only other BMC product that I have had any experience with was Remedy. So along with my colleague Nick Lukies, we had accepted the challenge to get an application up and going within 3 weeks using the Innovation Suite with no prior experience with this technology.
Our strategy was to find an application that we had already done some initial development on and would be a good fit, and then attempt to port it over to the platform. We had a number of candidates that ranged from a Pokemon tracking application to integrating a work placement app into the BMC HR application. We ended up deciding on building the Cloud Management Application for the following reasons:
- We had already done some initial development with the AmazonAWS EC2 Web Services which can be used to monitor and control Virtual Servers in the Amazon Cloud Environment.
- With this application, we didn't require any other software to be installed and configured
- We had developed the data discovery component but didn't have an User Interface component which is where the Innovation Suite could be utilised.
- And we only had 3 weeks to get it in a state that it can be demonstrated.
I spent the first two weeks of this time frame coming up to speed with the suite initially reading documentation such as "Developing a Smart application using Innovation" that was provided on the BMC documentation site. It took me a week to get my development environment setup mainly because I initially tried to set it up on the Server running the Innovation Suite. This server was located in an Amazon Cloud Environment on the west coast of America and I am based on the east coast of Australia, so the response times were not good. The break through for me came when Dave Sulcer sent me a link to a series of tutorials that he has developed that take you through the process from setting up a remote development environment to developing an application (Work Order).
The second week was spent going through the Tutorials which covered all the component areas of the Innovation Suite. During the second week, we also had calls with the Innovation Suite Development team in India which helps with us the RecordService API which we used in the Cloud Management Application to retrieve existing Virtual Server records, update and create them as well.
The last week before BMC Exchange, we developed the Cloud Management Application in Innovation Suite. The architecture of the application has two major components:
- The first is the background process that runs remote to Innovation Suite and provides Restful Web Services that can be invoked to discover all Virtual Servers in our environment and allow control functions such as starting and stopping of these Virtual Servers based upon their current state and the desired state of the Server. This background process to polling the virtual server(s) environments for updates to state and discovery of new servers.
- The other component is the Application in Innovation Suite which provides the interface to a list of all virtual servers and various attributes of these servers such as state, type..etc. If the desired state of a virtual server is updated and it is different to the current state (i.e. desired state = running and current state = stopped), this will trigger an Innovation suite rule and process to perform the appropriate action such as start the virtual server.
For the BMC Exchange, we had interfaces developed to Amazon AWS EC2 instances and Microsoft Azure instances showing attributes of these virtual servers and being able to control their states from within Innovation Suite.
Configuration information on each Cloud Environment (Amazon & Azure) was also displayed.
Looking forward, we had plans to add more Cloud Environments such as SoftLayer & Rackspace and integration our discovery process with the Atrium component that comes with the Innovation Suite so that we can define inter dependencies between Virtual Servers to manage the deployment, starting and stopping of virtual servers in client environments.
Overall, I found creating an application in the Innovation Suite to be a flexible and open development environment and provided the ability to get an application up and running in a very short period of time. I would encourage others to consider this development platform for their next or existing application development projects.
Written by Bernie Symons from Hagrid Solutions | Melbourne, Australia