How to show the value of Automation

Being able to show the value, of automation is essential, to be able to keep getting support, for the time you spend on it.

One of my coworkers (Tore Brynaa) , gave me an idea, on how we could show that value back to the business, for the customers that have begun using vRealize Automation.

The idea was quite simple. Count the number of VM's you deploy, estimate time saved per deployment, and calculate how much time you have saved.

So I started thinking on how to build this.
The challenges I had was :
- How to run the code (ABX or VRO or other) ?
- Where to store the data ?
- How to present the data ?

After asking on twitter, I got at lot of help, on the first and second part from @roberthayden. He build an api and a DB, that I could call, from a post deployment rest call.
We got it working, and it was a great help, to get the project running.

But I ended up finding another solution, since I did not have full controll on the solution, and I had some problems figuring out, how to get the data back.

So the solution I ended up building, was the following.

How to run the code

I wanted to have something, that was independent of my local environment. Also i have been trying to learn Python for quite some time. So ABX or Lambda on AWS, ended up being my choice.

Where to store the data

The DB was a nice solution, but I tried to find a free alternative, that I could use. But in the end, I ended up saving a JSON file in a S3 bucket.
It's an easy solution, that is really close to being free, and it can scale, as much as I need it to.

How to present the data

I had a lot of ideas, like using VROPS, Log Insight or Grafana to present the data. But I ended up, getting a solution, that is free, and it not dependent on my local environment again.
So a dashboard, presentet on a Github page, with a custom url :

The code

All the code to get this working, is on my Github Repository under Scripts

I have 2 ABX functions running.
1. after every VM deployment.
It opens the JSON file on S3, and adds +1 to the counter, and saves it again.

2. After the deployment is finished, it opens the file, reads the data, and updates the values on

Future features

This was really great to get something working. But in the future, i'm planning on enhancing it a bit, with the following feature.

- Get time saved value from blueprint, to be able to have different values on each blueprint.
- Be able to use it on other than just VM deployments, like XaaS etc.
- Present different pages, that shows time saved on VM deployments. XaaS and an overview page.

For any other ideas, leave them in the comments, and let me know what you think.