Tag Archives: Automation

First Look: ManageIQ vCloud Director Orchestration

Welcome to 2017! To kick off the year I thought I’d do a quick post on a little known product (at least in my circles) from Red Hat Inc called ManageIQ. I stumbled across ManageIQ by chance having caught wind that they where soon to have vCloud Director support added to the product. Reading through some of the history behind ManageIQ I found out that in December of 2012 Red Hat acquired ManageIQ and integrated it into its CloudForms cloud management program…they then made it open source in 2014.

ManageIQ is the open source project behind Red Hat CloudForms. The latest product features are implemented in the upstream community first, before eventually making it downstream into Red Hat CloudForms. This process is similar for all Red Hat products. For example, Fedora is the upstream project for Red Hat Enterprise Linux and follows the same upstream-first development model.

CloudForms is a cloud management platform that also manages traditional server virtualization products such as vSphere and oVirt. This broad capability makes it ideal as a hybrid cloud manager as its able to manage both public clouds and on-premises private clouds and virtual infrastructures. This acts as a single management interface into hybrid environments that enables cross platform orchestration to be achieved with relative ease. This is backed by a community that contributes workflows and code to the project.

The supported platforms are shown below.

The October release was the first iteration for the vCloud provider which supports authentication, inventory (including vApps), provisioning, power operations and events all done via the use of the API provided by vCloud Director. First and foremost I see this as a client facing tool rather than an internal orchestration tool for vCAN SPs however given it can go cross platform there can be a use for VM or Container orchestration that SPs could tap into.

While it’s still relatively immature compared to the other platforms it supports, I see great potential in this and I think all vCAN Service Providers running vCloud Director should look at this as a way for their customers to better consume and operate vCD coming from a more modern approach, rather than depending on the UI.

Adding vCloud Director as a Cloud Provider:

Once the Appliance is deployed, head to Compute and Add New Cloud Provider. From the Type dropdown select VMware vCloud

Depending on which version of vCD SP your Service Provider is running, select the appropriate API Version. For vCD SP 8.x it should be vCloud API 9.0

Next add in the URL of the vCloud Director endpoint with it’s port…which is generally 443. For the username, you use the convention of [email protected] which allows you to login specifically to your vCD Organization. If you want to login at an admin enter in [email protected] to get top level access.

Once connected you can add as many vCD endpoints as you have. As you can see below I am connected to four seperate instances of vCloud.

Clicking through you get a Summary of the vCloud Zone with it’s relationships.

Clicking on the Instances you get a list of your VM’s, but this also has views for Virtual Datacenter, vApps and other vCD objects. As you can see below there is detailed views on the VM and it does have basic Power functions in this build.

I’ve just started to look into the power of CloudForms and have been reading through the ManageIQ automation guide. It’s one of those things that needs a little research plus some trial and error to master, but I see this form of cloud consumption where the end user doesn’t have to directly manipulate the various API endpoints as the future. I’m looking forward to how the vCloud Director provider matures and I’ll be keeping an eye on the forums and ManageIQ GitHub page for more examples.

Resources:

http://manageiq.org/docs/get-started/
http://manageiq.org/docs/reference/
https://pemcg.gitbooks.io/mastering-automation-in-cloudforms-and-manageiq/content/chapter1.html

VCA-CLI for vCloud Director: New Networking Features

There is a lot of talk going around how IT Pros can more efficiently operate and consume Cloud Based Services…AWS has lead the way in offering a rich set of APIs for it’s clients to use to help build out cloud applications and infrastructure and there are a ton of programming libraries and platforms that have seen the rise of the DevOps movement…And while AWS has lead the way, other Public Clouds such as Azure (with PowerShell Packs) and Google have also built self service capability through APIs.

vCloud Director has always had a rich set of APIs (API Online Doco Here) and as I blogged about last year Paco Gomez has been developing a tool called VCA-CLI which is based on pyvcloud which is a Python SDK for vCloud Director and vCloud Air. This is an alternative to Web Based creation and management of vCloud Director vDCs and vApps. Being Python based you have the option of running it pretty much on any OS you like…the posts below show you how to install and configure VCA on a Mac OS X OS and Windows and how to connect up to a vCloud Director based Cloud Org.

Initial releases of VCA-CLI didn’t have the capability to configure the Firewall settings of a vDC Edge Gateway, but since the release of version 16, Firewall rule management has been added. In the below example, I connect up to my vCD Org in Zettagrid, gather some information about my vDC, deploy a SexiLog VM template, set the Syslog setting on the Gateway and then configure a new NAT and Firewall rules to open up port 8080 to the SexiLog Web interface.

And the end result:

Again, this highlights the power of the vCloud Director API and what can be done with the pyvcloud Python SDK. Once perfected the set of commands above can be used to deploy vApps and configure networking in seconds instead of having to work through the vCloud Director UI…and that’s a win win!

References:

https://pypi.python.org/pypi/vca-cli

https://github.com/vmware/vca-cli

http://www.sexilog.fr/

 

The Power of Network Automation: How a Huge Low Turned into a Great High!

A few weeks back at Zettagrid we released our NSX Advanced Networking product that we have been working on for the best part of 12 months. I’m particularly  proud of this release as it represents a significant realisation of a vision myself and others have had in trying to integrate NSX into the Zettagrid IaaS platform. Furthermore the release held a deeper meaning as it showed off what can be achieved when faced with disappointment and failure.

Taking myself back to February of 2014 I was presenting to a government panel for a Cloud Computing tender which ended up going horribly wrong…Notwithstanding the fact that the tender had specified IaaS as the basis of the tender the presentation actually ended up being a practical test on deploying a three tier application into a Virtual Datacenter in an allotted time period which was more akin to an Managed Services Provider than an Infrastructure Provider. Cutting a long story short I was able to get vCloud Director configured in such a way to get the vShield to do basic load balancing but failed to produce a working IIS Default page externally which would have meant passing the test and us making it through to the next stage of the process.

I came out of that presentation as deflated as I have been in my career…I don’t usually fail and up until that point every presentation and demo I had given had resulted in success…as I sunk down a couple of whiskey’s in the pub next to the government agency building I was trying to think to myself what went wrong? Surly there had to be a more efficient way to deploy, configure and manage networks in a cloud environment…it was decided there and then that Zettagrid would look at NSX as a way to improve network efficiency via automation.

Looking back at the tender process the Government agency got it all wrong…they expected the tenderer to deploy and configure the full environment themselves…they expected a Managed Service instead of a pure IaaS. In fact it should have been that the roles were reversed and that instead of us being handed the practical example to work through the design configuration and setup it should have been them who did the configuring. They needed the tools to achieve the goal and at that stage we where not bale to provide them.

That said, even with this initial release of NSX Advanced Networking the outcome might have been much of the same, though there would have been much better Load Balancing options which ultimately cost us a shot at the next round but what resonated strongly out of that afternoon was that we needed to look at network automation more seriously.

In deploying NSX across our vCloud Hosting Zones we have not only been able to release enhanced networking services for our vCloud Director Virtual Datacenters but we have also laid the ground work for future released to be more software defined so that these sorts of tiered applications can be deployed in minutes through automated blueprints…this isn’t something new or particularity ground breaking…there are many automation platforms that allow for the orchestration and automation of pre-defined template solutions however these are for the most part private cloud or enterprise solutions

There are not too many cloud providers (that don’t start with an A) that offer this service to their clients within APAC.

The Hybrid Cloud is the future of IaaS and even though the landscape might change over the next 5-10 years with regards to containerised applications and services superseding more “traditional” Virtual Machine based applications the one thing that won’t change is the way in which the networking connects the client to the server and back. NSX is a great platform built from the ground up to be consumed by APIs and because of that failure 18 months ago I’m proud to have helped deliver (along with a super talented team of developers and engineers) and now work for a company that’s embraced change and is at the cutting edge of changing the way in which networks are both created and consumed using NSX as the overlay technology.