How vRO 8.1 delivered thousands of integrations overnight

vRealize Orchestrator 8.1 was recently released and it comes with quite a lot of new features and improvements. In this post I will cover the support for multi-language (polyglot) development.

vro-lnds

Polyglot is the ability to execute vRO scripts in multiple languages and runtimes, specifically Node.js, Python and PowerShell / PowerCLI. Now we can finally write JavaScript using modern constructs such as let/const, arrow functions, Promises, async/await, etc. Or the ones that prefer Python or PowerShell can finally put JS aside. Really nice stuff, but we can do a lot more…

So, did vRO really deliver this huge amount of integrations? Well, not directly, but as with the plugin mechanism in vRO, the multi language feature enables power users of the platform to write their own extensions and integrations. And in my opinion, it is much easier. Why? For one, you don’t need to learn the specifics of vRO, the script integration layer is so thin, that you can bring your already written scripts very easily. For another, whether it will be forums, blogs or publicly available modules, you have an enormous community support of those languages. Say you want to integrate with some AWS service, e.g. S3. What would you do if you don’t have a plugin for that? Just google it “How to Upload a file to Amazon S3 with Node.js” You will find hundreds of hits. All of those basically tell you how to download the AWS SDK and provide samples with couple of lines of code. What about Azure and Cosmos DB? Same thing – Node.js with Azure Cosmos DB! And the list goes on and on for the hundreds of thousands of Node (npm), Python (PyPI), PowerShell (PSGallery) and in house developed packages and modules, all at your disposal. You can use the tools of the ecosystem, develop and test how you are used to and once ready, import it in vRO.

As it shifts a bit from the traditional vRO script (ECMAScript 5.1), I have prepared a GitHub repository with template-like samples to make it easier for developers to start using and extending, feel free to clone it and provide feedback!

Happy (Java|Python|PowerShell)Scripting!

Leave a comment