This article describes the installation procedure for the vTM plugin for vRO and how it enables automating the most common configurations of a Traffic Manager in a vCenter environment. The plugin uses the SOAP API of the Traffic Manager to enable vRealize Orchestrator workflows. The workflows available are classified into CRUD operations including but not limited to adding, deleting and reading pool, node, rule and virtual server configurations. Additional workflows for attaching and detaching vTM instances are included in the plugin.
Note: The Plugin can be downloaded from this article. It is added as a zip file. Unzip it to get the plugin in .dar format
Brocade Virtual Traffic Manager (vTM) is a software-based application delivery controller (ADC) designed to deliver faster and more reliable access to public web sites and private applications. vTM frees applications from the constraints of legacy, proprietary, hardware-based load balancers, which enables them to run on any physical, virtual, or cloud environment. With vADC products from Brocade, organizations can:
Virtual Traffic Manager offers much more than basic load balancing. It controls and optimizes end-user services by inspecting, transforming, prioritizing, and routing application traffic. The powerful TrafficScript® engine facilitates the implementation of traffic management policies that are unique to an application by allowing organizations to build custom functionality or to leverage existing features in Virtual Traffic Manager in a specialized way. With vTM, organizations can deliver:
Performance
Improve application performance for users by offloading encryption and compression from the web server by dynamic caching and reducing the number of TCP sessions on the application.
Reliability and scalability
Increase application reliability by load balancing traffic across web and application servers, balancing load across multiple data centers (private or public clouds), monitoring the response time of servers in real-time to decide the fastest way to deliver a service, protecting against traffic surges, and by managing the bandwidth and rate of requests used by different classes of traffic.
Advanced scripting and application intelligence
Manage application delivery more easily with fine-grained control of users and services using TrafficScript, an easy-to-use scripting language that can parse any user transaction, and take specific, real-time action based on user, application, request, or more. Development teams use TrafficScript to enable a point of control in distributed applications, while operations teams use it to quickly respond to changing business requirements or problems within an application before developers can fix it.
Application acceleration
Dramatically accelerate web-based applications and websites in real-time with optional web content optimization (WCO) functionality. It dynamically groups activities for fewer long distance round trips, resamples and sprites images to reduce bandwidth, and minifies JavaScript and combines style sheets to give the best possible response time for loading a web page on any browser or device.
Application-layer security
Enhance application security by filtering out errors in web requests, and protecting against external threats, with the option of a comprehensive Layer-7 firewall to defend against deliberate attacks.
With businesses focusing more on automation and orchestration of IT services in today’s hybrid deployments, the attention towards product integrations using APIs has increased. The vTM plugin for vRO is a great solution in making available the core load balancing functions to the vCenter environment in the form of workflows and actions using SOAP API. The plugin, in addition to automating the configuration aspects of load balancing, will prevent misconfigurations. This helps businesses to accelerate and reduce IT costs while retaining quality.
Requirements
To install the Virtual Traffic Manager plugin for vRO:
Certificate Installation
In some cases, vRealize Orchestrator requires self signed certificates of Virtual Traffic Managers to be imported to enable workflow interactions. Because of this requirement, it is recommended to do so.
Once the Brocade vTM plugin is deployed using the admin UI of vRO, the workflows packaged along with the plugin are accessible to be run from the vRealize Orchestrator client.
Workflow |
Workflow Type |
Workflow Description |
Add vTM to Inventory |
Inventory Configuration |
Attaches a VTM ADC to vRO Inventory.
Input: username, password, IP and Port Number Output: None |
Remove vTM from Inventory |
Inventory Configuration |
Detaches a vTM ADC from the vCO Inventory. Input: vTM Instance Output: None |
Add Node to Pool |
Create Operations |
Adds an IP address and port number of a service as a node to a named Pool.
Input: Pool, IP address, Port Number Output: Node |
Add Pool to vTM |
Create Operations |
Adds a Pool to a vTM. At least one node needs to be entered while creating a pool.
Input: STM, Pool name, ip address, port number Output: Pool |
Add Request Rule to Virtual Server |
Create Operations |
Adds a Traffic Script request rule to a Virtual Server. The field Rule text takes the complete traffic script code as input. The enable option attaches it to the virtual server.
Input: Virtual Server, Rule Name, Rule Text, enable, run frequency Output: Rule |
Add Response Rule to Virtual Server |
Create Operations |
Adds a Traffic Script response rule to a Virtual Server. The field Rule text takes the complete traffic script code as an input. The enable option attaches it to the virtual server.
Input: Virtual Server, Rule Name, Rule Text, enable, run frequency Output: Rule |
Add Virtual Server to vTM |
Create Operations |
Adds a Virtual Server to a vTM. A default pool needs to be selected for the virtual server. By default, the virtual server binds to all IP addresses in the vTM.
Input: vTM, port Number, Protocol, Default Pool, Virtual Server Name |
Delete Node from Pool |
Delete Operations |
Deletes a selected Node from a Pool.
Input: Pool, Node Output: None |
Delete Pool from vTM |
Delete Operations |
Deletes a selected Pool from a vTM.
Input: vTM, Pool Output: None |
Delete Request Rule from Virtual Server |
Delete Operations |
Deletes a selected request rule from a Virtual Server.
Input: Virtual Server, Rule Output: None |
Delete Response Rule from Virtual Server |
Delete Operations |
Deletes a selected response rule from a Virtual Server.
Input: Virtual Server, Rule Output: None |
Delete Virtual Server from vTM |
Delete Operations |
Deletes a selected Virtual Server from a vTM.
Input: STM, Virtual Server Output: None |
Get Nodes from Pool |
Read Operations |
Gets the List of Nodes from a selected Pool.
Input: Pool Output: Array of Nodes |
Get Pools from vTM |
Read Operations |
Gets the List of Pools from a vTM.
Input: vTM Output: Array of Pools |
Get Request Rules from Virtual Server |
Read Operations |
Gets the List of Request rules from a selected Virtual Server.
Input: Virtual Server Output: Array of Request Rules |
Get Response Rules from Virtual Server |
Read Operations |
Gets the List of Response rules from a selected Virtual Server.
Input: Virtual Server Output: Array of Response Rules |
Get Virtual Servers from vTM |
Read Operations |
Gets the List of Virtual Servers from an vTM.
Input: STM Output: Array of Virtual Servers |
Disable Node in Pool |
Update Operations |
Disables a selected Node in a Pool.
Input: Pool, Node Output: None |
Drain Node in Pool |
Update Operations |
Drains a selected Node in a Pool.
Input: Pool, Node Output: None |
Enable Node in Pool |
Update Operations |
Makes a Node active in a Pool.
Input: Pool, Node Output: None |
Enable Virtual Server |
Update Operations |
Enables/Disables a selected Virtual Server
Input: vTM, Virtual Server, Enable Output: None |
Update LB Algorithm for Pool |
Update Operations |
Updates the LB algorithm for a selected Pool
Input: vTM, Pool, LB type Output: None |