Over the past few years, automation has become a hot topic in the technology world. It’s all about speeding up complex, time-consuming processes by reducing human input and simultaneously minimising the likelihood of human error.
This, of course, has led to mixed headlines in the media. While some people are worried that this technology will put them out of a job, others take a more positive stance. In the DevOps space, automation is viewed as a tool that can help organisations streamline the way they create and deploy software.
According to the 2018 Accelerate State of DevOps Report, automation underpins High-Performance IT organisations. DORA writes: “With more work automated, high performers free their technical staff to do innovative work that adds real value to their organisations.”
Instead of spending time on manual work, high-performing teams are consistently developing innovative and valuable products for users. They’re automating configuration management, testing, deployments and change approval processes.
In this short Q&A, DevOpsGroup Co-Founder and CPO Steve Thair will explain how organisations can automate the software deployment process to stay ahead-of-the-curve and keep the customer happy. He’ll also explore the role automation plays in enabling reliability and predictability.
1. How is automation enabling High-Performance IT?
Automation is a key enabler of moving faster. Unless you automate your software development, testing and environment processes, you’ll struggle to get applications out to market quickly.
You can’t do that if you have to wait several days for someone to manually test and approve the product. Organisations that are the most adaptable to change and that deploy their products quickly will stay ahead of the curve and outflank competitors.
2. How are DevOps and automation intertwined?
It’s fair to say that DevOps was born out of automation. Many of the early adopters of this practice were using automation tools such as Puppet, Chef and Ansible, as well as the automation capabilities of cloud vendors to become high performers.
The founders of these companies, such as Adam Jacobs of Chef, were heavily involved in the start of the DevOps movement too. They took the feedback from the DevOps community to incorporate this approach into their automation products. As a wider cultural movement, DevOps and automation assist each other and generate great benefits for companies.
By adopting the principles of DevOps – particularly flow, lean and better management practices – you get significant improvements throughout your organisation. But when you apply automation to the mix, you can take your digital transformation initiative to the next level.
3. What is the value of automation?
The key benefit of integrating automation into the DevOps process is the creation of a robust, secure and validated pipeline that gets code from source to running in production. What’s also important is that this pipeline puts telemetry and feedback loops back into the development process, allowing engineers to see how their applications are performing.
My personal view about the future of operations is that we won’t be worried about servers and individual release packets; our focus is going to shift up a level to owning, building and managing the pipeline and the orchestration of the production environment.
So rather than worrying about each release, we’ll care about the automated pipeline we’ve built. Having a pipeline that links development and operations inherently leads to better collaboration.
4. You see a lot in the media that automation will replace jobs. What is your view on this?
A lot of people say that every time an industrial revolution takes place, new jobs are created to replace the old. That’s certainly true. However, the people who get the jobs aren’t necessarily the people who lost the old ones.
Ultimately, you have to be flexible and be willing to evolve your career while acquiring new skills to take advantage of these new technologies. It’s essentially adapt or die. If you just keep doing things the same way, you’ll eventually be out of a job.
One of our consultants, Chris Taylor, frames this really well. You can choose to be on the bus and learn how to use all of these automation tools – creating increased value for yourself, organisation and customers.
Or you can choose to be off the bus, which is a matter of choice. The trick for management is being clear that people are either on or off the bus, not under it. Leaders should give people a clear choice and ensure they have the opportunity to acquire new skills.
5. Can you provide five automation tips for organisations transitioning to DevOps?
The first step is definitely Systems Thinking. Instead of trying to optimise each step of the pipeline, you should optimise the flow around it. All of the research out there – particularly Donald Reinertsen’s book The Principles of Product Management Flow – shows that the efficiency of a system is not about the parts but rather the entire flow.
When you’re designing something, don’t design the build, test and release processes on their own. Map the whole thing out, get everyone in the same room and collaborate on what it’s going to look like.
For the second step, I’d say everything in code where possible: database configuration, source control, infrastructure and build tools. For instance, if you’re using a program like Jenkins, you can leverage its built-in job builder to get configuration as code. But everything has to come back to being in the source code repository.
Third, think about APIs; in particular, you’ve got to get comfortable with REST APIs. Inevitably, you’re going to need to glue some elements together. The tools you’re using must expose a command line or API to support that as a code method.
Fourth, telemetry is crucial. Consider the data exposed by your automation process. You need to be able to look at the overall flow, but also the information you’re getting from each stage of the pipeline. It’s got to be easy to see if a build failed, or whether the release to production was successful on ten servers but failed on others. And you need to have processes in place to collect and measure data.
The fifth and final tip is an emerging area: thinking about compliance and security across your organisation. Both Azure and AWS are doing a lot of work with policy, and HashiCorp has the Sentinel Framework – which is essentially policy as code.
And, of course, people are going to look at these systems and will want to know how they give them separation of responsibility to meet their PCI DSS requirements. Things like single sign-on and role-based access control are becoming increasingly important because they underpin the ability to manage product environments and the applications that sit on top.
If you’d like to learn more about the fundamentals of DevOps, check out the courses on offer at the DevOpsGroup Academy.