Home > vSphere API > VQL – A Domain Specific Language for Virtualization

VQL – A Domain Specific Language for Virtualization

February 26th, 2010 Leave a comment Go to comments

Last summer, Reflex VP engineering Aaron Bawcom visited VMware campus. He is one of the authors of Virtualization For Security: Including Sandboxing, Disaster Recovery, High Availability, Forensic Analysis, And Honeypotting.

During our talk, Aaron told me a secret project called VQL. Because it’s a secret, I didn’t talk about it to anyone. Just before the PEX 2010, we exchanged emails about the VQL. Aaron told me it’s already shipped. So it’s time to broadcast it.

Time to learn how to "Google" and manage your VMware and clouds in a fast and secure


VQL is a DSL that looks like SQL, easy to understand and easy to use. Unlike SQL on data, it’s on virtual resources in vSphere environment. The following is a quick sample. It gets back the VMs installed with SQL servers with verions newer than 9.2 and they are running 10 minutes ago.

SQL Server and VersionMajor >= 9 and VersionMinor >= 2 project vm at 10 minutes ago

Another difference from SQL is that VQL is read only and it does not make any changes to vSphere. It’s more a business than a technical decision by Reflect given the proven power of PowerCLI.

In his blog, Aaron decribed the design motivations of the VQL as follows:

* Scale, more scale, and mega scale
* Easy search
* Visually constrain graphical topology relationships in large environments
* Act as an encoding for declarative business logic
* Make it much easier to extract contextual information
* Integrate seamlessly with the Powershell object pipeline as well as other scripting languages like Python
* Act as a rule language for our VMsafe powered vTrust features
* Make it very easy to extract data out of our system programmatically

Interested to find more details? Check out Aaron’s blog. It includes nice screenshots of their Eclipse based IDE.

Finally I am happy to share a little secret – VQL is powered by VI Java API.

This blog site is NOT intended to promote any product. But I am interested to talk about any products/technologies that help developers/architects in virtualization and cloud areas. Please feel free to contact me.

Categories: vSphere API Tags: , ,
  1. No comments yet.
  1. No trackbacks yet.