Modernising infrastructure operations is on the agenda of every company. Strategies such as Infrastructure as Code (IaC) and achieving a high degree of automation underpin this.
However, the path to successful automation must include the people whose working methods are undergoing radical change.
Working with Code
Automation involves creating scripted actions and configurations, such as code and playbooks. This requires tools like Terraform, Ansible, or Puppet which are initially stored and managed locally or on file servers.
In small environments and teams, collaborating and exchanging information this way usually works. However, localised collaboration has its limits, especially when scaling to larger teams and environments.
This is when tools from software development and the open-source community kick in. These tools have been designed to scale to many teams, even globally distributed ones, for decades. They use code editors, Integrated Development Environments (IDEs) to work efficiently and store the code in a version management system – usually Git. Additionally, open-source artefacts are provided using a repository.
System administrators and team leaders responsible for data center, security, or network operations know that automation is critical to efficiency but are likely to have many questions, be focused on other priorities, or “too busy” to automate. Operations teams often aren’t familiar with terms like IDE or Git and their associated workflows. Introducing automation can therefore present challenges in adapting work methods and learning new tools.
Automation Does Not Automatically Automate
Simply acquiring an automation solution or purchasing software does not create automation. An automation solution must be integrated into an ecosystem of other tools, ideally managed by a central team. This way, automation teams can focus on their job/domain and re-use existing templates as well as best practices provided by the central team, all of which results in getting the job done faster and with better quality.
Moreover, individuals need to familiarise themselves with these new tools and processes. This means leveraging the high level of expertise of colleagues in their specialist areas and their technical knowledge in creating and using automation.
Automation offers numerous advantages. For instance, security can be significantly enhanced by automating patch and release management and importing the latest versions of software packages and artefacts. However, this requires the consistent implementation of automation, including the adaptation of release processes such as change management.
Beyond Training
Expecting system administrators to become developers who (partially) automate their domain cannot be achieved with just one training course. Establishing and maintaining automation in teams starts with adapting existing workflows and incorporating concepts such as storing all code and automation artifacts centrally in Git.
To achieve this, collaboration rules in Git and best practices must be coordinated and established. Automation solutions use open-source artefacts, but how are these artefacts provided securely, and how do they integrate into automation and version update processes? It is also crucial to coordinate automated tests and decide how to manage a fast and automated release into production.
All of this reveals how complex automating a company’s IT is.
An Enablement Programme
In addition to selecting the technology building blocks, an automation strategy must be supported by an enablement programme. Depending on the company’s starting point, such a programme can range from a few months of onboarding for the teams to developing a self-organised community of practice (CoP).
Through a programme like this, employees receive step-by-step, modular training in the technologies and best practices for automation, combined with practical examples from their specialist domains. Additionally, a platform for exchange and collaborative learning is created, where specific automation modules can also be shared and jointly improved.
Computacenter has implemented these enablement programs with many customers, fostering a sustainable automation culture. We complemented this with recommendations based on methods such as DevOps or platform engineering.
The foundation for such kind of transformations is to move away from the console and graphical administration interface, and instead, use the IDE and Git code commits for successful automation. The effort for this pays off as it results in better scalability, higher security, and reproducible, consistent results.