VMware released the most important upgrade of vCenter Orchestrator. vCenter Orchestrator 5.1 is providing important enhancements geared towards the end user.
vCenter Orchestrator, formely VMO (VMware Orchestrator) and (VS-O) Dunes Virtual Service Orchestrator) was packaged as part of vCenter Server since vSphere4.
As part of this was a rebranding effort and an exhaustive vCenter plug-in synched with the vCenter server release. A year later the 4.1 version brought in scalability with moving to a 64 Bits JVM, performance improvements and reliabilty improvements.
The next 4.X releases focused on stabilizing the platform further with bug fixing, security enhancements and small improvements. A major effort was done in creating 13 new plug-in adapters to orchestrate a lot more VMware and non VMware applications and the release of the vCenter Orchestrator Virtual appliance improved a lot the configuration experience for first time users.
While all of these improvement in the platform and adapters were necessary the end user experience did not change much. The newly released vCO 5.1 is the most dramatic update in terms of features and end user improvements. This article covers some of these changes.
Create your own workflows in a completely revisited studio
The vCenter Orchestrator client has recieved a lot of additional features / tabs going from version 1 to version 3. it is not as complex and as complete as a typical development studio such as eclipse but it is a lot more end user friendly as these and as the 4.X version. With the 5.1 release the user interface got a newer look and feel consistent with the new generation VMware products but has also been reorganized for better end user experience.
As you can see on these screen shots the 5.1 version is making better use of the screen space.
Views and reorganized tabs
The 5.1 client use different views corresponding to the different roles. Each view has a set of icons
- Run : My Orchestrator, Scheduler, Policies, Workflows, Inventory
- Design :Workflows, Actions, Resources, Configurations, Packages, Inventory
- Administer : Inventory, Policy Templates, Authorizations, Web views, Packages
Selecting an icon list the relevant objects as a tree view or list on the full height of the left pane compared to the vCO 4.X fractioned one. This is saving a lot of the scrolling.
New icon set
Another update beside the look of the user interface is the update of the icons used for the palette elements that you can drag and drop on your workflow schema. vCO 4.X was quite minimalist: most of the items were boxes resembling to each other.
The same workflow in vCO 5.1
Also you can now associate any custom icon to your workflow.
New palette elements
Having nice icons is good, having new workflow elements is IMHO better.
One of the common workflow is to first call another workflow and depending on its output branch the flow. In vCO 4.X this requires using an attribute linked to the output of the workflow followed by a decision element.
In vCO 5.x there is a new elment callled a "Decision activity". A decision activity combines a workflow and branching depending on the workflow results. This saves an element and an attribute and a few clciks.
Another common use of the elements is to build workflow loops to iterate an operation from an array of objects. Workflow loops are not the easiest thing to do when you begin with vCO but it is often a first use case. So much I did a tutorial about it here that got more than 3000 views.
A typical vCO 4.X Workflow loop looks like this. It requires many steps and using attributes to set the current object the index of the loop. The beginner may forgot one of these steps or not set the decision properly.
With the vCO 5.1 foreach element this tutorial consists on drag and dropping a foreach element on the schema, choosing the "Create a snapshot" workflow and fill the promotion parameters like follows (input promotion is covered next).
The important thing to see on this screenshot is the first column. I have highlighted the iterator on the vm input so the foreach element will iterate through an array of VMs. Here is the result.
The new palette elements are powerful and save a lof of time. They have a single down side: if you include these in your workflows these will not load properly on previous versions of vCO.
Most of the time when you create a workflow you use other workflows and actions as building blocks of yours. Each of these workflow and action inputs and outputs need to be bound to your workflow inputs, attributes and outputs. This can take a lot of clicks,
With vCO 5.1 all these clicks can be saved. When adding a workflow or action to your workflow this banner appears:
Clicking on the setup is popping up the Promote Workflow Input / Output
In this single window you can quickly set the bindings for your workflow including setting fixed values. Once promoting the input and attributes that do not exist will be automatically created.
With using vCO 4.x, you drag and drop your elements on the schema then link the elements in order as a process flow. With using vCO 5.1 a new workflow has already a Start and End elements linked.
With drag and dropping palettte elements on the link these are automatically added with moving the other elements kepping consistent space between them. For example just by drag and dropping a scriptable task and a Custom decision on the blue link you get this workflow.
vCO 4.X User Interface consists in a lot of panes to display the different object properties. In vCO 5 the default mode is to open object properties in a popup window. This is for example valid for editing the bindongs of an item, editing a scriptable task, opening the API explorer. You can also inspect a workflow you want to add in your main workflow while editing it. In vCO 4.X you have to open multiple windows or vCO clients before opening each item. If you have only one window open you must close the workflow you edit to inspect another one.
The advantage of the popup windows is that you can place them and size them as you want. On my dual monitor setup this is a huge benefit and it saves me a lot of scrolling.
vCO 4.X inspector
vCO 5.1 popup window
In vCO 4.x binding a workflow element input parameters to the main workflow input parameter and attribute requires poping up a window and clicking on the right item for each item. In vCO 5.1 you can select all of them with Ctrl A or by using the mouse pointer.
There are a number of new features that can be set or unset in the preferences, but also some that existed and were not set by default. Here are the differences.
vCO 5.1 defaults are to:
- Auto edit a new element. On vCO 4.x , the default is to create a workflow and then edit it after.
- Check usage of an element when deleting it. This was disabled in vCO4.x. For example when you delete a workflow or action vCO will warn you if it is being used by another workflow.
- Edit workflow in a popup window. This option did not exist in vCO 4.x
- Display grid in the schema editor. This is not set on 5.1 and was set in vCO 4.x
- Validate a workflow before saving it. This is a new feature set by default on vCO 5.1. In vCO 4.x the validation was set to happen before running the workflow (still the case as default in 5.1).
- Increase the workflow version when saving and closing.This is a new feature set by default on vCO 5.1.
- Pop up a workflow user interaction form. This is the default on vCO 5.1. On vCO 4.x this required right clicking on the workflow run and answer user interaction.
- Use contextual menu in inventory. This allows to right click / run workflows that have a matching object type (for this you need to use the "show in inventory" presentation property). This is default on 5.1 and was not set in vCO 4.x
vCO 5.1 is more user friendly with these new settings.
The feature increasing the workflow version when saving shows a new important feature.
in vCO 4.x the version history was informational. For each version a date, author and comment of the changes entered by the user when changing the workflow.
In vCO 5.1 there is version control of the workflows. If you incremented the versions when changing the workflows you can show the difference against the current version and decide to revert to a given version.
A diff on a workflow will open a split view of the current and selected version of the workflow requiring to check visualy what has changed.
A diff on an action works like diff tools by highlighting the changes:
Another benefit of the versioning is that you can edit a workflow without risk while it is running. In vCO 4.x this could possibly create a problem.
You have done a lot of workflows and it is time to document these. Necessary but boring. Since you should better spend your time not doing brong things you can right click on a workflow or a workflow category to generate a PDF documentation of your workflows.
The documentation lists the worklow inputs, outputs, attributes, workflow schema, scriptable tasks.
Consume Workflows from anywhere
Making it easier to develop new workflows is great but then making these as well easier to consume is better.
vCO 4.X offers different ways to run a workflow:
- Use the vCO Client (Usualy the vCO admin running batch jobs)
- Use the vCO web views (Web operator, perspectives, custom webview)
- Use the vCO SOAP web service (programatically from a custom portal or a management application)
- Use the vCO scheduler (for recurrent tasks)
- Use the vCO policies (such as starting a workflow when getting an SNMP trap or an AMQP message or a vCenter threshold)
This is a lot but the vCO client look and feel of vCO 4.x is outdated and not the best place to have operators running the workflows. The web-views are outdated as well and not alway compatible with the latest browsers.
As seen above the vCO client got some major look and user experience improvements. This is not specific to the workflow designer: Running workflows was improved as well.
The workflow presentation has been redesigned and made consistent with VMware next generation products. The input validation seems to be a lot faster as well.
vCO installed, configured and integrated with vCenter Server
vCO 4.X is silently installed with vCenter server but it is not configured and it does not have any plug-in for the vSphere .NET client. As a result most vCenter customers do not even know they have a fully licensed cloud orchestration platform.
vCO 5.1 is installed and configured with vCenter Server (Windows version.) No need to mess up with LDAP and databases connection strings and authentication. This is nice as it provides the same level of ease of deployment than the vCO virtual appliance but it is not all.
vCenter 5.1 comes with a jewel called the "vSphere Web Client". Forget about the previous incarnations that were providing minimal functionality over the web. This one is fully featured and includes features not available in the .NET vSphere client. One of these great featurea is the native vCenter Orchestrator integration.
Once you authenticate in vCenter Server the main menu is showing:
With clicking on vCenter Orchestrator you get to the vCO home:
You can browse the workflows you have on your vCO server, including your custom ones and start them directly from the vSphere client. For example the clone workflow I started previously in the vCO 5.1 client can be started.
Now if you think about it you can extend the vSphere Web client features as much as your workflow creativity allows ! The workflows are not limited to manage vCenter objects. They can handle anything vCO can orchestrate. For example you can use the vCloud Director library workflows to create organizations, VDCs, catalogs, ... from vSphere client. If you have third party plug-ins you can for example manage your Active Directory, UCS system, a F5 load balancer, an EMC or NetApp storage array from the vSphere client. Add to that the generic plug-in such as the SQL, SOAP, REST, SSH, SNMP and you can control most of your datacenter operations as workflows from the vSphere Client !
Now if you think you reached the Nirvana, the single pane of glass you have been told about all these years it is not all. There are some other interesting features:
- The workflow user interactions (i.e a technical approval) are popping up and get listed in the vSphere client so you can interact with the workflow.
- The workflow tasks are listed and you can control them.
- You can schedule a workflow
- You can create contextual workflows
A contextual workflow is a workflow that can be started using as input an object of the vCenter Server inventory. When you right click on a vCenter inventor object you have a list of operations you can run on this object. In the vSphere web client there is a sub menu called "All vCenter Orchestrator Actions". These actions are vCO workflow taking as input a given object type (i.e VM). The vSphere Client comes up preconfigured with some contextual workflows but you can also add your own. In the example I have added the clone with customization workflow and my own import (vCenter) VMs to (vCloud Director) VDC workflow !
It is possible to add your own contextual workflows using the Manage tab of the vCenter Orchestrator home. Here you can add any workflows available in one of your vCO servers, associate an input type and optionally enable multi selection.
The new vCO back-end features
The integration with the vSphere Web client required the implementation of some new fnctionality in the vCO platform.
Single Sign-On (SSO)
When you log in the vSphere Web client you authenticate yourself. These credentials are used to authenticate you in vCO as well. If you open the vCO configuration page you can notice it is set up for SSO authentication, registred with the SSO server provided in vCenter Server and configured with a given group. Here is my setup between my vCO 5.1 Appliance connecting to my vCenter 5.1 Appliance. Using the vSphere Client to run vCO workflows requires using SSO.
vCO 5.1 has a new API for the vCO plug-ins so they can authenticate in the Orchestrated solutions using SSO. For example the vCloud Director 5.1 plug-in can authenticate the user using SSO: You login with a credential in vSphere client, start a workflow managing vCloud objects. In the background SSO authenticates you in vCO and in vCoud Director.
vCO REST API
vCO 4.X has a SOAP web service.
vCO 5.X still has the SOAP web service but also supports a brand new REST one.
Apart from the advantages specific to REST vs SOAP technology the REST one covers a lot more.The SOAP API was designed mainly to start a workflow whereas the REST API is designed to have most of the vCO functionality available as a service.
The REST API is available on https://vCOHostname:8281/api . This API offers an extensive list of services:
- Actions Service
- Catalog Service
- Category Service
- Configuration Service
- Content Service
- Inventory Service
- Notification Service
- Packages Service
- Resource Service
- Service Descriptor Service
- Task Service
- User Service
- Workflow Presentation Service
- Workflow Run Service
- Workflow Service
- Workflow User Interaction Presentation Service
What does it mean? It means a web portal or a management tool can do a lot more than passing parameters to start a workflow. They can leverage the extensive vCO inventory or use the new catalog service and implement things like the workflow presentation layer: This is the ground work to have for example Flex based or HTML5 based web-view equivalent.
You may think this is a v 1.0 API and is not proven but there is more to it: The REST API is what drives vCO integration from the vSphere Client. As such several / men - years have already been spent on making it work smoothly. This API will be the prime candidate for all the other VMware and third party application integration.
vCO 5.1 including the vCO client, server and configurator can be configured with IP V6 addresses.
I am still missing a few of the 5.1 release features.
vCenter 5.1 Plug-in
The 5.1 plug-in has got some updates:
- Performance improvement for the inventory leveraging the vCenter Query Service (this was available in the vCenter 5.0 plug-in but was not as fast).
- New workflows, notably guest operations: The replacement of the VIX functionality using the vSphere new APIs to copy a file to a VM guest OS and execute it.
- Updated workflows, notably the clone workflows to make use of DVS (this was long due).
The SQL plug-in is now part of the default installation and includes the JDBC connection scripting classes that were part of vCO 4.X "database" plug-in.
vCO 5.1 will be released with vSphere 5.1