VMware vRealize Orchestrator (vRO) Overview
VMware vRealize Orchestrator (vRO) Enables Automation and Orchestration of a Multitude of Systems
VMware vRealize Orchestrator is an extremely powerful tool for automation and orchestration. It developers and system administrators to define workflows, which consist of a network of four types of nodes:
- Built-in nodes – these include if-then conditionals, loops, etc.
- Actions – actions are analogous to functions in programming. They’re snippets of code that take zero or more input parameters and pass back zero or more return values.
- Other Workflows – workflows are the highest level of object usable by workflows. Thus, a workflow can consist of nested workflows, actions, scripts, etc. making the whole system extremely flexible.
A workflow begins at the start node and terminates at one of possibly multiple termination locations. Built-in error handling nodes allow for decisions to be made and execution to continue, if desired, when an error state is encountered.
Modularity of VMware vRealize Orchestrator (vRO)
Because workflows have almost no practical limit in size and can consist of all the different components listed above, they can be easily modularized for reusability.
The preferred approach is to design from the top down but code from the bottom up. Thus the design process starts with a high level identification of what is to be accomplished. The tasks to accomplish the target goal are then identified as subdivisions of the total process. Those, turn get reduced to individual actions, which are then the starting for building workflows.
Building in this manner allows you to divide the total project into pieces to conquer and has the added side benefit of enabling unit testing and modular reuse of workflow components.
Massive Out Of The Box Capabilities
VMware vRealize Orchestrator(vRO) ships with numerous plug-ins that each have a lot of pre-built actions and workflows which can be used on their own or as part of your own custom workflows, saving a lot of development time.
A list of the out of box plug-ins and capabilities is below:
- Amazon Web Services (AWS) – Interface for interacting with and controlling workloads in Amazon Web Services (AWS)
- AMQP – Use vRealize Orchestrator to send and receive AMQP messages (i.e. track a message bus, pop a message off the queue, do some work, push to the queue, etc.)
- Microsoft Azure – Interface for interacting with and controlling workloads in Microsoft Azure
- vRealize Orchestrator Configuration & Execution – Manage vRealize Orchestrator configurations, execute remote workflows on other vRO servers, etc.
- Dynamic Types – Built-in extensibility for writing lightweight plug-ins for vRealize Orchestrator.
- HTTP-REST – Call REST API services and act on data received from them.
- JDBC – ODBC functionality for interacting with databases via the JDBC java library.
- SMTP – Send and receive E-mail messages.
- Microsoft Active Directory – Interact with Microsoft Active Directory to perform common tasks such as group, user, and OU management.
- NSX – Integration with the VMware NSX product to enable creation and management of NSX objects such as virtual wires and NSX Edge devices.
- PowerShell – Support for executing Microsoft PowerShell scripts as part of workflows.
- SNMP – Send and Receive SNMP traps. Configure vRealize Orchestrator to execute workflows when traps are received.
- SOAP – Support for consuming XML SOAP based web services.
- SQL – Support for Microsoft SQL databases.
- SSH – Connect to SSH terminal sessions, execute commands, receive, and process output.
- vCenter – Full support for vCenter and ESXi API methods.
- vRealize Automation – Integration with vRealize Automation enabling automation of vRealize Automation tasks and programmatic reading/interacting with vRealize Automation services.
- XML – Support for interacting with XML objects.
VMware vRealize Orchestration Enables Maximum Extensibility
It should be clear from the list of out of the box capabilities that vRealize Orchestrator enables extensibility in a number of ways. Most of the common integrations with external APIs such as XML/SOAP and REST are provided in order to easily connect with Orchestrator and control/interact with third-party services.
In the event that the out of the box capabilities can’t help solve your integration problems, there are vRealize Orchestrator plug-in archtypes for Maven to enable you to develop your own plug-ins and expose methods from Java code written for the plug-in to your orchestrator workflows. This is perfect if you need to allow lower level access to API functions and data structures, Java libraries and methods, or to wrap an existing SDK in order to bring it into Orchestrator.
In practice, this functionality is rarely needed, but when it is, it’s actually fairly easy and straight-forward to write a custom plug-in and get it working in your Orchestrator workflows.