12 May 2020
By Mohammed Abubakar
For the purposes of this post, I’m referring to automation as being able to reliably reproduce related IT resources by executing code of some kind. A practical example underpins what’s become known as continuous integration/deployment. When an application can be reliably reproduced - built, deployed, and perhaps rolled back if something goes wrong - teams can be much more confident when they deploy changes.
As more and more organisations embrace the cloud, executives and technology managers often find themselves asking questions such as “How can I save money with the Cloud?”, “How do I make my applications secure?”, “How do I avoid being locked into one platform?”, “How can I move faster?”, and many others. I find myself referring to a handful of benefits that automation provides when answering these questions in no particular order:
As a CxO, one of your primary responsibilities is to be able to focus an increasing percentage of your resources on initiatives that drive revenue into the business. By reducing the amount of time spent by your teams managing infrastructure you could repurpose those resources toward product development. By automating repeated tasks such as operating system patches, application deployments, firewall changes, and monitoring/alerting configurations you were able to devote more cycles to the development of features.
Elasticity is one of the quintessential benefits of cloud computing but capacity planning is generally very hard to do, and getting it wrong can be a large waste of capital and/or very frustrating to your customers. By having automated systems that can be reproduced using scripts you can leverage features like auto scaling and fluctuate capacity with demand.
Automating good security practices into your systems makes it much more likely that your system will be uniform as it scales and removes the element of human error creating an exposure. Integrating security in an automated way allows you to roll out security improvements (like any feature) quickly and with confidence.
Automated systems are generally easier to roll back in flight if they don't pass a certain checks. As you gain experience with automating common actions, it will become clear how to implement automated health checks and common QA actions. Automated systems also reduce the amount of friction when making changes to an environment in turn enabling you to become more aggressive with how you push out changes.
When a system can be reliably reproduced on one architecture or infrastructure, it will be much easier to reproduce it on another. If for whatever reason you need to change where a system is hosted, it will be far less effort and to modify the automations scripts than if you had to customise each platform manually.
Automation takes the value an organisation gets from embracing the cloud to the next level. For more information on how AltoStack can help you harness the power of automation and become more agile, click here.