Does Your Organization Need a DevOps Architect?
Learn about the role and specialized skillset of a DevOps architect, and the specific experience they can bring to your company.
Join the DZone community and get the full member experience.Join For Free
Recently, I defined the role and responsibilities of a DevOps engineer and why companies are hiring 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, expanding monitoring capabilities, and managing technical operations.
- Previous experience implementing continuous delivery and DevOps solutions.
- Experience designing and building solutions to move data and processing from on-premise solutions to cloud-based solutions.
- Maintain a balanced view on the delivery of solutions between architecture, time, cost and quality.
- Lead and participate in the architectural design of features early in the development cycle, influencing it to drive quality and adherence to the specification.
- Expert skill in any of the following tools and coding languages: (will vary depending on the job): Docker, Jenkins, Chef, Puppet, Salt, Git, MongoDB (or other NoSQL DB), JAVA, and Nginx.
- 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 time to consider if they need a DevOps architect to redefine their system.
Opinions expressed by DZone contributors are their own.