This feature first appeared in the Fall 2016 issue of Certification Magazine. Click here to get your own print or digital copy.
When a company adopts a DevOps attitude, it commits to working — from plan to release — on bringing all teams assigned to a project, across the entire development pipeline, together. Ideally, everyone shares a space where collaboration, communication, continuous integration and frequent release cycles combine to generate a reliable, effective product.
Given the growing popularity of DevOps in IT circles, employers have begun to search for job candidates who have a DevOps-friendly attitude, as well as a knowledge of navigating or creating systems and applications with "DevOps culture" in mind. A solid familiarity with DevOps could be the deciding factor in your next IT job search.
What is DevOps culture?
Gene Kim, DevOps thought leader and creator of the book The Phoenix Project, uses what he calls the "Three Ways Principles" to propose adopting a DevOps culture. Understanding Kim's "ways" explains key features in the DevOps movement.
The First Way: Systems Thinking — DevOps requires that people stop thinking in terms of teams and departments, and instead look at an entire project as a single system. In a company following DevOps culture, known bugs should never pass down the pipeline, systems should never reach global degradation, and all employees on a project should work toward enhancing the "flow" of work down the delivery system.
The Second Way: Amplify Feedback Loops — The goal here is to shorten "feedback loops," enhance communication between departments, and ensure that the right people get the right knowledge. The Second Way seeks to amplify team communication, so that issues brought forth, both internally and via customers, can be fixed promptly.
The Third Way: Culture of Continual Experimentation and Learning — Risks should be taken to improve the system, even if at times those risks fail. Meanwhile, changes that do work should continue regularly, as repetition creates mastery. Mastery is needed, not just to streamline the process, but to assist in times when a risk does fail.
If you think that some of these concepts are hard to test, however, you are not alone. Most DevOps certifications do not rely on general "DevOps" ideals — no one is going to quiz you on the Three Ways — but focus instead on the tools required to make DevOps work. These certifications rely on continuous integration and delivery concepts, knowledge of containers and security, and an overall ability to manage and maintain the application or infrastructure.
DevOps Certification: General knowledge
Most companies looking for DevOps certifications are not looking for unknown credentials that teach general DevOps concepts, but are focused instead on acquiring an employee who has a knowledge of certain DevOps tools. Even companies offering "DevOps certifications" do not focus on generalities. These are often advanced certifications, taken only after one has gained in-depth knowledge of the platform on which they are working.
Red Hat Certified Architect: DevOps — Red Hat offers not just a DevOps certification, but a "con centration" in the field. You can only tackle the DevOps concentration, however, after earning either a Red Hat Certified Engineer (RHCE) or Red Hat Certified JBoss Developer (RHCJD) credential. Thereafter, each person following the DevOps path must complete five DevOps-related exams. There are currently five exams to choose from:
- EX270 — Red Hat Certificate of Expertise in Container Management
- EX276 — Red Hat Certificate of Expertise in Containerized Application Development
- EX280 — Red Hat Certificate of Expertise in Platform-as-a-Service
- EX405 — Red Hat Certificate of Expertise in Configuration Management
- EX407 — Red Hat Certificate of Expertise in Ansible Automation
With Red Hat, you can see the need for "DevOps experts" to have general knowledge in associated technologies: containers, configuration, automation, development and related services. Note that, at present, the EX270 exam is still in development, meaning that RHCA: DevOps isn't yet fully available. Anyone interested in getting a head start, however, can take the other available exams after completing either RHCE or RHCJD certification.
AWS Certified DevOps Engineer (Professional) — One of AWS's more advanced certifications, the DevOps Professional credential focuses on validating that the candidate can "provision, operate and manage" an application on the AWS platform.
Although AWS focuses exclusively on using Amazon's proprietary platform, given the prevalence of AWS within the tech industry, AWS certification is still a powerful career move. Those looking for work will find no shortage of jobs where their skills and expertise are needed.
The AWS exam requires prior certification — candidates must have obtained either AWS Certified Developer (Associate), or AWS Certified SysOps (Associate) status — and tests for the following proficiencies:
- Implementing and managing continuous delivery systems on AWS
- Implementing and automating security controls, governance processes, and compliance validation
- Deploying monitoring, metrics, and logging systems on AWS
- Implementing highly available, scalable, and self-healing AWS systems
- Designing and managing tools to automate operational processes.
DevOps Certification: Tools
DevOps education does not end with knowledge of DevOps concepts and implementation. Tools commonplace in a DevOps environment often are connected to certifications that verify skill and fluency with those platforms. Do note that these are nowhere near all the technologies geared toward DevOps, but merely the ones tied to certification. What's more, these skills are often applicable outside of a career in DevOps.
Chef — With its focus on infrastructure automation, Chef aims to streamline what can be an arduous process. Certification for Chef is still an in "early adopter" phase, with only a portion of planned exams actually available. Current Chef certifications include accreditation in:
- Basic Chef Fluency
- Local Cookbook Development
Chef plans to release certifications on Extending Chef, Chef for Windows, Cookbook Development, Cookbook Deployment, and Chef Automatic. Basic Chef Fluency is required before progressing to any other exam.
Jenkins — Self-billed as an "automation server," Jenkins is an opensource tool used to enhance and automate parts of the "build and deploy" processes for a project. Jenkins fits in perfectly with DevOps' "continuous integration and delivery" goals, and key developers recently (March 2016) announced a certification through continuous delivery company CloudBees.
You can get certified as either a Jenkins Engineer (focused on open-source Jenkins), or as a CloudBees Jenkins Platform Engineer. Both exams require competencies in:
- Key Jenkins concepts
- Jenkins usage
- Building continuous delivery pipelines
- Best practices
- Common Jenkins plugins
Puppet — Like Chef, Puppet is an infrastructure automation tool based on common DevOps principles. Puppet only offers one exam, the Puppet Professional, and is often a core competency in many DevOps job descriptions (if not Chef or Salt). The Puppet Professional credential focuses on the following aspects of Puppet:
- The Puppet language
- Puppet usage
- Puppet internals
Salt — Relatively new to the DevOps scene, Salt is another infrastructure automation tool. Unlike other certifications, SaltStack requires those sitting for the exam to have completed two official training courses, Salt Administration I and Salt Administration II. Exam topics cover:
- Common execution modules
- Common state modules
- Salt states
- Salt pillar
- Command line usage
- Salt key
DevOps Certification: Project Management
An additional, but often overlooked, aspect of DevOps is project management. Although not all companies have "project managers" employed, especially in smaller companies, larger teams tend to have one or more project managers on staff. A systems administrator or developer with knowledge of Scrum or Kanban can be a benefit to any team.
Scrum — Two primary organizations offer varying levels of Scrum certification, the Scrum Alliance, and Scrum.org. Both groups were founded by Ken Schwaber (author of the popular book Agile Software Development with Scrum).
The Scrum Alliance offers the following certifications:
- Certified Scrum Product Owner
- Certified Scrum Master
- Certified Scrum Developer
- Certified Scrum Professional
- Certified Scrum Trainer
- Certified Enterprise Coach
- Certified Team Coach
Scrum.org offers the following certifications:
- Professional Scrum Master I, II, and III
- Professional Scrum Product Owner I and II
- Professional Scrum Developer I
- Scaled Professional Scrum
Kanban — In contrast, there are no organizations that attempt to govern or offer exam-based certification for Kanban. The Lean Kanban University, however, does offer certified Kanban training for people of varying experience levels. These courses are not offered online and are often restricted to major cities around the world.
Taking the first step
As more companies look toward DevOps as both a culture and process change, those hoping to flourish in IT careers can do more than just improve their résumé through earning certifications. DevOps certification often requires an in-depth knowledge of the platform, making certified employees with any of the above skills integral to a project's success.
So consider where you want to be. Whether in operations, development, or even project management, DevOps certification can help transform your career. Start taking your first steps today.