What is Azure Automation?

A is for Azure Automation - New Signature
Source: New Signature

Nowadays, automation is regarded as a significant skill to acquire when you are in the IT service industry. Not just for DevOps, but even for ITOps and SysAdmins.

Automation can be considered as a train that you either get on to or get left behind or worse, be run over by it.

Learning automation is one way to upgrade your skillset. To some degree, your worth would also increase, and you may be considered as one of the valuable members in your team or your company.

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?’

Firstly, what is Azure Automation?

Azure Automation is one of the services available in Azure. It enables you to deploy and run PowerShell scripts without having to use a virtual or physical machine.

With Azure Automation, you can deploy your scripts serverless. There is no need to deal with having to set up Task Scheduler interval. This can also eliminate the risk of exposing credentials since they can be saved as assets instead of saving them in plain text files.

Azure automation is compatible with multiple vendors, cloud platforms and on-premises 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 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.

When to use Azure Automation

There could be many reasons why Azure Automation can be used. These are some of the things you may want to consider.

1.       When the task does not require user interaction.

2.       When the task is repetitive.

At this day and age, there are fewer tasks that cannot be considered for automation. Some may seem like they cannot be automated. But sometimes, with a little creativity, there is not much that you cannot automate.

Benefits

Thanks to Azure Automation being developed as a cloud platform, deployment is simple and can be set up worldwide at the click of a button.

1.       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 provide you with the first 500 minutes of ‘execution time’ free; this significantly minimizes your initial outlay to achieve significant automation benefits.

2.       It allows you to automate those mundane, error-prone activities that you perform as part of your system configuration and maintenance.

3.       You can create Notebooks in PowerShell or Python that help you reduce the chance for misconfiguration errors. And it will help lower operational costs for the maintenance of those systems, as you can script it out to do it when you need instead of manually.

4.       It has a rich reporting back end and alerting interface for full visibility into what’s happening in your Windows and Linux systems – on-premises and in Azure.

5.       Gives you update management aspects (in Windows and Linux) to help you define the aspects of how updates are applied, and it helps administrators to specify which updates will be deployed, as well as successful or unsuccessful deployments and the ability to specify which updates should not be deployed to systems, all done through PowerShell or Python scripts.

6.       Global deployment is possible at the click of a mouse.

7.       It can share capabilities, so when you’re using multiple resources or building those Notebooks for automation, it allows you to share the resources to simplify management. You can build multiple scripts but use the same resources over and over as references for things like role-based access control, variables, credentials, certificates, connections, schedules and access to source control and PowerShell modules. You can check these in and out of source control like any kind of code-based project.

8.       SaaS so infrastructure maintenance, updates and patching handled by the cloud vendor.

8.       SaaS so infrastructure maintenance, updates and patching handled by the cloud vendor.

9.       Not only does Azure Automation leverage the existing PowerShell Modules but it also offers different programming options to further extend the usability options.

10.     Graphical – Based on Windows PowerShell and created and edited completely graphically

11.     PowerShell – Text runbook based on Windows PowerShell script.

12.     Python – Text runbook based on Python, which extends automation to include Mac OS X, Linux, and Unix

Disadvantages

The disadvantage, or limitation, of Azure Automation, is around its cloud nature.

1.       It requires an outbound internet access from your datacenter to automate on-premise resources.

2.       Data at rest in the cloud may need encryption

In summary, if your data security rules determine you must be running in a data center that is not connected to the internet, then an Azure Automation solution isn’t likely to be for you. However, if internet access from your datacenter is not a showstopper, 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. Lastly, and one of the coolest features in my opinion, are templates you’re deploying out in your systems, everyone has some similar challenges. There’s a community gallery where you can download templates others have created or upload ones you’ve created to share. With a few basic configuration tweaks and review to make sure they are secure; this is a great option for making the process faster by finding an existing script and cleaning it up and deploying into your systems and environment.

If you find this post interesting, make sure to subscribe for more technology updates.

Please follow and like us:

Leave a Reply

Your email address will not be published. Required fields are marked *