Insights

Automating Azure With ServiceNow

Written by Craig Ellis | Mar 6, 2018 10:00:51 AM

A few years ago, 'cloud' was the term on everyone's lips.  "You should move to the cloud" all IT pros said, however, none of them really gave a good reason as to why we should do it. Fast forward a few years and now 'cloud' is everywhere. Companies like Microsoft, Amazon and Google are leading the way in providing very good reasons to make the move.

Companies are looking to simplify their IT infrastructure and cloud is the perfect way to do this. The blade servers and mainframes of the past have been reduced to a few files saved in GitHub and you can have a fully functioning server farm at the click of a button or a company website deployed instantly. This is fantastic, it is exactly the reasons we need for moving to the cloud. Now for the bad news, cloud services aren't cheap, but with a little bit of control you can save an awful lot of money.

Imagine your company has a non-business critical application running on 4 servers in a data centre. Two web front-end servers, an application server and a database server. This application will be used extensively 8am - 5pm Monday to Friday. Come 5pm the office lights are turned out and that application continues to run, so you're still paying for that service even though no-one is using it. Over the week that’s 100+ hours of cost. The answer to that is simple, just turn it off!  This approach is a tricky in an "on-premise" world. Turning it off is easy, turning it back on is slightly harder. You have to wait for the IT Team to arrive in the morning and power the servers back on, what happens if they are late? In a cloud world, this problem goes away. In Microsoft Azure a short PowerShell script can accomplish the automatic shutdown and restart, meaning your workforce are ready to go.

Recently, one of our customers, Virgin Trains, started talking about the possibilities of leveraging their ServiceNow solution to manage their cloud resources in a similar way to the above. ‘Automation’ and ‘Cost Savings’ were the terms used. I started looking into this, working alongside ServiceNow experts UP3, who develop and manage the ServiceNow solution on Virgin Trains’ behalf. The Azure portal and PowerShell are fantastic tools but why would you want to manage numerous portals when you could manage everything through "one pane of glass" and get added native ServiceNow functionality?

Task 1 was to get hold of a ServiceNow Development environment so that I could have a play around. (ServiceNow actually hand these environments out for free! Visit https://developer.servicenow.com if you're interested).

Task 2 was to get ServiceNow talking to my Azure subscription. This step involved standing up a server that ServiceNow could use for orchestration and creating a Service Principle in Azure that would allow ServiceNow to manage resources in the subscription, I'll spare the details as the process is well documented by ServiceNow and Microsoft!

After a few hours my Azure resources were appearing in ServiceNow! This, I thought, was a game changer.

Task 3 was to create an Azure ARM template so that I could deploy a virtual machine from ServiceNow. Microsoft and the Azure community are very good at sharing templates that they have created. So I found a test script to create a simple Linux machine and converted this into a ServiceNow Cloud Blueprint. I now had an automated deployment to test. Once an ARM Template is published, customers who have privileges can use a cloud service catalogue to request resources.

Task 4 is to deploy. With only a few options to fill in you can have a server running 8-5 weekdays or whatever schedule you desire. No more waiting for IT to switch your application back on.

This is only the beginning of what I feel is a very powerful pairing. The ServiceNow Cloud Management portal allows for cost tracking, resource quotas, lifecycle management and many more features that I am yet to explore. I'll keep you all posted as we learn more.