September 9, 2014 | Written by: Rossella De Gaetano
Share this post:
One of the things I like most about IBM SmartCloud Orchestrator is that it allows different actors to do different tasks. This is not just a matter of assigning roles and playing with multitenancy aspects, but also involves the capability for the IT department running the cloud to fragment the work in such a way that the development of new applications and services can be done by different people with different skill levels in a serialized or even asynchronous way.
Let’s examine the artifacts that can be used to build up an offering:
• Virtual images (or templates, if you would like to use the VMware terminology)
• Script packages to configure the operating system or add and configure software at deployment time
• A virtual system or application pattern to group and deploy the whole topology at once
• A business process to manage the end-to-end automation
• A coach that defines the user interaction with the offering
Now let’s think about the people working on these pieces.
Most likely, the expert who installs the operating system will be the person who creates the virtual images (or adapts existing ones).
The person working on the script package does not need to care about the installation of the operating system, and his work is completely transparent to the hypervisor (such as VMware or KVM). This means he can work independently from the image creator and can even develop and test his code on an operating system installed on bare metal.
The pattern designer needs to know only two things. First, he needs to be aware of which virtual image he can use. Second, he needs to understand the capabilities and interfaces of the script packages. It’s doesn’t matter whether they were developed from scratch, reused from existing artifacts or downloaded from the web, nor is it relevant if they are coded in Java, C, ksh or VBS—only the name of the parameters and their purpose is important. The duty of the pattern designer is to compose virtual images and script packages; he can ignore all other details.
Figure 1. A virtual system pattern example.
Images and script packages are nothing more than building blocks that can be mixed, matched and assembled as needed.
At this point, we’re ready to go one level up, to process definition and creation. In the easiest implementation, you can have two actors here: a programmer (for whom knowledge of Java script is typically enough) and a process designer who composes the blocks prepared by the programmer, maybe by reusing an existing toolkit. The designer does not need to know any programming language, but he needs to know the exact flow of the process to reproduce it properly in SmartCloud Orchestrator.
Figure 2. Example of a business process.
Last but not least, you have another pair comprised of a programmer and designer that will take care of the user interface.
The interesting thing is that you do not necessarily need programming skills to build new applications and services; you can reuse existing images and build script packages using existing code (for example, chef-based automation downloaded from the web). You can build patterns by dragging and dropping the building blocks on a canvas. Ultimately, you can create new services by using either the out-of-the-box toolkits or those that you download from the IBM marketplace, and then drag and drop the atomic processes in the process designer.
Do you want to hear more about that? Follow me on Twitter @DeGaRoss.