VQL – A Domain Specific Language for Virtualization
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.
Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.
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.