What is Microsoft Azure Automation?
As Microsoft Azure continues to be developed and more automation options become available; Azure Automation, Logic Apps, ARM (Azure Resource Manager) and Azure Function Apps to name a few, the question is quickly turning from ‘how do I automate with Azure?’ to ‘what automation type do I use in Azure?’. Across our next few blogs we will seek to delve into the options available and look to define how they stack up against Azure Automation.
What is Azure Automation?
Azure Automation is a cloud-based automation platform that provides an expansive automation service whilst remaining cost effective thanks to both low upfront and running costs. Azure Automation enables you to automate tasks which would typically bog down and occupy IT and service desk personnel time.
Azure automation is compatible with multiple vendors, cloud platforms and on-premise systems. It is based on and built using PowerShell and so has a vast reach when it comes to integration opportunities. This platform further unburdens IT staff through the availability of a graphical interface that minimizes the need for specific scripting skills.
Although running as a Cloud based Service, Azure Automation can be configured to interact and automate On-Premise infrastructure using a component called a Hybrid Worker. The Hybrid Runbook Worker feature present in Azure Automation allows you to run Runbooks directly on the computer hosting the role, these Runbooks interact with local resources in the environment and against other tools which manage those local resources. Runbooks are stored and managed in Azure Automation and then delivered to one or more designated Hybrid Worker computers.
Hybrid Workers can be deployed as a Cloud Device which reaches back into the customer environment over VPN or as On-Premise devices which reaches back to Azure Automation over the internet.
What are the benefits?
Thanks to Azure Automation being developed as a cloud platform, deployment is simple and speedy and can be setup worldwide at the click of a button.
The relative cost for using and deploying Azure Automation is very low, as it is charged on a pay-as-you-go model, where costs are only incurred whilst your automation is executing and as Microsoft actually provide you with the first 500 minutes of ‘execution time’ free this significantly minimises your initial outlay to achieve significant automation benefits.
With over 300 PowerShell Integration Modules available there are a lot of options when it comes to integration covering both Microsoft products and services as well as other companies’ services. Increasingly vendors are releasing PowerShell modules for their existing platforms as well.
Not only does Azure Automation leverage the existing PowerShell Modules but it also offers different programming options to further extend the usability options;
Graphical - Based on Windows PowerShell and created and edited completely graphically
PowerShell - Text runbook based on Windows PowerShell script.
Python - Text runbook based on Python, which extends automation to include Mac OS X, Linux, and Unix
In summary the benefits are;
- Minimal upfront investment in software or infrastructure
- PAYG pricing, only pay as you receive the benefits from the automation execution.
- Global deployment possible at the click of a mouse.
- Keeping multiple deployments in step is straight forward and can be automated.
- SaaS so infrastructure maintenance, updates and patching handled by cloud vendor.
- Ability to execute runbooks on-premise and keep data within your data center.
The disadvantage, or limitation, of Azure Automation is around its cloud nature;
- It requires an outbound internet access from your datacenter to automate on premise resources.
- Data at rest in the cloud may need encryption
Although it is a newer technology the generic UI in Azure Automation doesn’t match the productivity benefits of on-premise systems, such as System Center Orchestrator, that is of course unless you utilise something like our Runbook Studio to create the graphical interface.
Alternatively, if your infrastructure setup and security policy doesn’t allow for outbound internet access from your data center then you will have to utilise on-premise automation such as System Center Orchestrator.
In summary, if your data security rules determine you have to be running in a data centre that isn’t connected to the internet then an Azure Automation solution isn’t likely to be for you. However, if internet access into your datacenter is not a show stopper then the benefits and flexibility of a modern cloud automation tool far outweigh an on-premise automation approach.
Azure Automation Runbooks, Azure Logic Apps, Azure Service Bus and Azure Function Apps all contribute to the broad automation capability available from the Azure Cloud.