STaaS with Service Now and Ansible
By: Alberto Ramos
Tags: Ansible, Powerstore, Servicenow, Staas, Dellemc

I wanted to share some work I have done recently, a prototype for an on-prem Storage-as-a-Service. The prototype uses ServiceNow as a portal and Ansible for automation. There is also a Jenkins component that will cover in an upcoming article.

A few years ago we used to hear a lot the “we have a cloud-first policy” and this of course meant “public cloud”. The promise of lower cost pay-per use, self-service and automated IT consumption attracted many customers. Many of these organizations discovered the hard way that the financial aspect of it was not exactly “low cost”. Public cloud makes solid sense for a bursty application but your average workload can typically run on-prem for up to 50% less.

However the self-service and automated IT consumption capabilities changed everyone’s perspective of how IT resources should be consumed. Organizations nowadays expect that capability on-prem as well. If they succeed in getting it they will have the best of both worlds: empower the end users, operational efficiency and financial savings.

The automation landscape is dominated by Open Source tools. There is no one size-fit-all but Ansible is getting phenomenal traction and already boosts more than 4000 modules. It is so prevalent that it seems to be creating FOMO (Fear Of Missing Out).

When it comes to offering services for end-users to consume, Service Now is very popular amongst IT departments. It is very capable SaaS solution with a vibrant community as well.

On the storage side, DellEMC PowerStore is the new block and file storage solution from DellEMC. One of its strengths is its programmability. At its core we find the REST API which is the foundation for all automation. To say that the REST API is extensive is a big understatement. It is very well thought out and beautifully documented with Swagger UI.

Other automation enablers include: Python, Go and PowerShell SDK’s, Ansible modules, vRO plug-ins and the CSI driver for Kubernetes.

As you will see in the video below, end users log in to Service Now and assign storage to their own virtual machines. The prototype also uses organizational quotas to address the pay-per-use requirement. The end-user gets notified when the provisioning is complete.

One big problem with public cloud is that it is so easy to consume that end-users request more than they need. To mitigate that risk and encourage responsible consumption, we thought we could implement a conditional approval if the resource is under a certain threshold.

Finally we introduced the concept of “lease” period. The idea here is that for dev&test users could request the resource for a set period after which the resource is automatically deleted, which makes the most of the resources available and increases operational efficiency

This is the first of a 4 video series. Future videos will cover IaaS, CaaS and a Jenkins CI/CD pipeline to publish new versions of the STaaS code. You can see the entire series in the Youtube playlist

Enjoy the video!

This article was originally posted at http://anzpiper.blogspot.com/2020/10/powerstore-staas-with-service-now.html