Azure Automation – What is it? Why should I use it?
After spending a fantastic week learning some of the new features of Office 365 and Azure at Ignite Australia 2016 on the Gold Coast it’s time to give back some of the learnings to the community.
So, what is Azure Automation and should you be using it?
Azure Automation was released in 2016 but it’s adoption and use is still low. This is because it’s seen as a relatively new addition to most enterprise customers’ Azure suite. Azure Automation brings the capability to create and execute run books that are essentially PowerShell scripts on a schedule, on demand or even integrated with HTTP enabled systems that can communicate with the book. Azure Automation is free up to 500 hours of run time per month, which will satisfy most customers while trying out the service. After that the costs are 0.003 per minute, more information on costs can be found https://azure.microsoft.com/en-au/pricing/details/automation/
Now the traditional techs would say but we can do this on a windows server and have it scheduled using Windows Task Scheduler. While this is true there is a truck load of features and benefits Azure Automation provides you by default that you just can’t get with your traditional server approach.
No more servers required to run a script
In many cases a primary function of a server or machine is to run a script on a schedule or even worse the script is scheduled to run on a server that has nothing to do with the script and activities. Either way both scenarios aren’t desirable and ultimately are not the best way we could be Automating our processes.
Credentials managed in a secure way
As an IT professional you need to ask yourself, how many times have you seen credentials baked into a PowerShell script? For me, I’ve seen it far too often and as the industry on a whole continues to heavily invest to SaaS offerings and a cloud first mentality security is as critical as ever. The Azure Automation Credentials Manager allows you enter your username/password which can be used in the PowerShell script by making a simple call to the azure automation credential manager
Scripts managed in runbooks
A runbook is essentially a script that can be run on a defined schedule. However, the awesome thing is you’re not limited to just setting a defined date and time. You can configure the runbook to have custom triggers using web hook. Web hook allows you to connect and pass on information through a simple http request.
There are so many use cases of how web hooks could be useful to your organisation. Imagine a scenario where you have a Web based HR system where HR submits all the details of a new on-boarding staff member. Once those details are submitted and approved we can do a simple REST Post to the Webhook. This passes on the information of the user to the PowerShell script that runs some simple Azure Active Directory cmdlets to create a user. This is an example of a simple and achievable automation of what is generally an IT heavy process, where with Azure Automation would require zero IT intervention to have these users on-boarded.
In Summary, Azure Automation is a powerful tool. To connect and automate repeatable processes whether they are in the cloud or on premises is achievable with Azure Automation.