The Cloud Experience Everywhere
1776979 Members
2131 Online
109061 Solutions
New Article
IanJagger

A 9-Point Checklist for IT Automation Adoption

In the age of cloud, cloud-native, and continuous delivery, IT automation is an approach to managing infrastructure to the benefit of developers, allowing them to continue enhancing the customer experience. 

IT-automation-AIOps-Pointnext.jpg

Recently, as a marketer in the HPE Pointnext Services team, I was asked to work with HPE’s Global Sales Engineering team to bring the HPE Pointnext Services point of view on IT automation adoption. You can imagine the technicality around automation adoption, so simplifying it for those who are interested in the topic but are not technicians was an enjoyable task. The start-point, though, must be: What is automation, and what does it do for you? Ultimately automation adoption benefits from a check-list of things taken into account.

Automation may mean different things in different contexts and can be interpreted in different ways. In a simple sense, automation is the combination of computer code and processes to do things that are usually done manually and repeatedly. While scripts are usually a good starting place, the end state is much further down.

IT automation can accelerate infrastructure provisioning while simplifying the process. Efficiency is another benefit key-word. Automation should create time and financial efficiencies. Automation, through repeatable processes, should also mean that harmful mistakes are avoided, and the IT environment is kept secure.

Traditionally, infrastructure had been managed using a combination of manual, semi-automated, or disparate scripts. While having a certain amount of automation accelerated provisioning and management of infrastructure, it also increased complexity. Automation was repeatable but not idempotent. If something went wrong during the process, either the process had to be repeated from the beginning, or extensive time had to be spent on debugging.

With an infrastructure-as-code (IaC) approach (see infrastructure as code definition), the state of the system can be determined on demand. You can prevent drift and make changes based on the end-state definition. Code is stored in source code repositories such as GitHub; its version controlled, and access is restricted by role-based access control (RBAC). Deployment pipelines determine when the infrastructure can be deployed, and you have an audit trace of who made changes to code at a given time. Also, the review process can be integrated into the pipeline. An additional benefit of this is you may incorporate additional tools and processes such as Static Code Analysis, security and compliance checks as part of the pipeline.

Adopting Automation-driven Services

automation.png

 Figure 1: Pillars of a Modern Automation-Driven IT

Checklist for Adopting Infrastructure-as-Code Automation -         

1. Make sure you start with workflows

Like any development activity, automation calls for a clear understanding of the business use case and the relevant scenarios that you will be supporting. Without clear workflows, any automation that you develop will be like a ship without a rudder.

2. Focus on the user experience

It is tempting to focus on the system view of the solution, but your focus should always be on the user experience. Try to capture the metrics that align with Line of Business chosen metrics for the solution. This could be performance, latency, or any other relevant metric.

3. Build automation

Build automation for lifecycle management, observability, remediation, security and compliance, capacity management, observability, and ITSM integration.

4. Availability and disaster recovery

Analyze failure modes and paths, and come up with a solid availability and disaster recovery strategy.

5. Internal vs. external view

While there is no denying the importance of system metrics for timely and accurate operations of a service, it is equally or even more important to measure the external view of the system, especially the one perceived by the user. Perception is everything as far as user satisfaction is considered. It is important to sustain the system experience, even if it means downgrading system performance temporarily, but ensure you keep the bar consistent in order to maintain user satisfaction.

6. Have a test infrastructure

Continuous testing is critical to the success of offering a service. The ability to rapidly test and validate requirements, both on and off production, is a very important part of the process. While it is not possible to have a test system of equal scale as production, it is important to replicate the production system even if it is at a smaller scale. Modes of deployment may include Blue Green, Rolling Updates, and Canary models.

7. Tools and frameworks

There are many tools and frameworks that offer automation to varying levels of coverage. Each comes with advantages and challenges. Some common tools for IaC include Ansible, Chef, Puppet, PowerShell, and Python, to name a few. Each stack comes with a set of related tools and frameworks and may have a better affinity to a set of platforms. Review their capabilities appropriately, making sure you have resources to support the solution or create an agreement with the vendor in case timely support is required.

8. Take care of people and processes

It is important to train your team, keeping them abreast of the latest developments in the industry. Certifications may help, but that is not the end state. It is important for all team members to understand the user requirements and the big-picture problem that the team is trying to solve. Automation adoption may represent a paradigm shift based on the organization’s culture and structure. Typically Management of Change techniques will need to be utilized so that people and processes are not left behind by technology, so please be open to change.

9. AIOps and Beyond

 AIOps is an approach of using artificial intelligence algorithms and tools to preemptively predict issues and remediate them automatically (and autonomously) with the right checks. This is a relatively new area. While not a silver bullet, it is increasingly creating opportunities to optimize and find new ways to preempt and solve incidents.

Take-away?

Certainly, automation is one of the keys to ITOps being seen to be ultimately of benefit to the end customer. In the age of cloud, cloud-native, and continuous delivery, it’s an approach to managing IT infrastructure to the benefit of developers, allowing them to continue enhancing the customer experience. Not just that, but with more productive IT staff working on important tasks instead of manual ones, it elevates IT into being on the good-guy team. You can gain more information on IT Automation services here.

Ian Jagger

Advisory and Professional Services Marketing, HPE Pointnext Services

0 Kudos
About the Author

IanJagger

Jagger is a content creator and narrator on the Digital Transformation topic for HPE Pointnext Services. He adds further focus on container and SAP topics. He holds an honors degree in economics, an associate degree in social psychology, and a master's in marketing. He is also a Chartered Marketer with the Chartered Institute of Marketing