Learn about the role and specialized skillset of a DevOps architect, and the specific experience they can bring to your company.
Recently, I defined the role and responsibilities of a DevOps engineer and why companies hire them. In this post, I wanted to explore the same thing (the role and responsibilities) of a DevOps architect, but also examine what sets them apart from a DevOps engineer. Before we answer the second part of that examination, what is a DevOps architect and why are so many companies searching for them?
What Is a DevOps Architect?
Traditionally, a software architect defines a structured solution that aligns with technical, operational, and organizational standards. They create a structured solution by observing the broader system environment and choosing an application framework to address the complexities in any given system. So, a DevOps focused architect generally performs the same roles but also facilitates strategies that align with DevOps practices and methodology.
Typically, DevOps architects require three to five years of previous experience as a software architect, developer, or engineer. It’s not a role most developers wake up and decide to be one day. DevOps architects are hired because they have deep knowledge about the field and have lots of hands-on experience with DevOps, configuration, automation, operations, and leadership roles.
A DevOps architect can hold similar, if not, the same exact role as a DevOps engineer (the difference could be minor or significant depending on the company and responsibilities). A company could expect a DevOps engineer to facilitate a DevOps culture in the same way as they would expect a DevOps architect to implement changes. Usually, when a company hires a DevOps architect, there is a stronger emphasis on leading and facilitating teams.
Why Are Companies Looking for Them?
The simple answer: DevOps works for companies that implement the proper culture and practice. According to Puppet’s State of DevOps report, high performing DevOps teams spend less time on configuration management (28%), deploy more frequently (multiple deploys per day), and recover faster (less than one hour).
What do these high performing teams have that other teams don’t possess? According to the report, they have strong leaders who excel in vision, inspirational communication, intellectual stimulation, supportive leadership, and personal recognition. This is why companies hire DevOps architects. With the proper experience, they can be strong leaders that can also establish and promote the best development/operation practices.
What Is Considered a DevOps Architect Skillset?
Across the board, DevOps architects often need these three types of skills:
- Re-defining architecture (examine existing system and execute new practices)
- Build new communication channels (build operational/development channels)
- Automate existing processes
DevOps architects are also expected to know more about agile methodologies compared to DevOps engineers. This continues to show that they are expected to be leaders and facilitators, more than engineers. (Again, this may change depending on the company).
What Exact Skills Do Employers Want?
After searching through many DevOps architect positions, these were the most requested skillsets:
- Strong automation skills (tool agnostic) and the ability to drive initiatives to automate processes.
- Effective cross-functional leadership skills: working with engineering and operational teams to ensure systems are secure, scalable, and reliable.
- Configuration management solutions to meet the needs of application deployment and management.
- Ability to review deployment and operational environments, i.e., execute initiatives to reduce failure, troubleshoot issues across the entire infrastructure stack, expand monitoring capabilities, and manage technical operations.
- Previous experience implementing continuous delivery and DevOps solutions.
- Design and build solutions that move data from internal solutions to cloud-based solutions.
- Monitor the delivery of solutions between architecture, time, cost, and quality.
- Lead and influence the architectural design of features by determining quality and adhering to specifications.
- Expert skill in any of the following tools and systems: (will vary depending on the job): Docker, Jenkins, Chef, Puppet, Salt, Git, MongoDB (or other NoSQL DB).
- Strong operational experience in Linux/Unix environment and scripting languages: Shell, Perl, Python.
The Bigger Picture
All and all, a DevOps architect examines the big picture and understands how the developer/operations system is supposed to work as a whole. In other words, they define what a DevOps architecture should look like, and then they deliver it. We tend to get frustrated when DevOps is handed out as a role because it contradicts DevOps values, but it can be difficult to implement this type of culture without someone leading the charge. So, while DevOps may not be a role, it’s worth an organization’s time to consider if they need a DevOps architect to redefine their system.