For most of my software engineering career, my experience with DevOps was all about configuration management. But after many years of experience with some key mentors, I began to see DevOps as so much more.
In this article, I'll summarize my DevOps evolution from a high level. If you'd like to go further in-depth, check out the recording from my Destination: Automation presentation below.
My First Experience With DevOps Configuration Management
My first introduction to the word DevOps was when I was at Juniper Networks. My team needed to ensure that we could deploy cloud infrastructure and carrier-grade applications at scale, so I researched DevOps configuration management tools. We ended up choosing Puppet; as a result, I had the opportunity to write a fair amount of Puppet code and custom modules to manage all of this infrastructure. My operations-centric role there set the tone for what I thought of as DevOps.
The World of DevOps Expanded
My viewpoint expanded when a couple of years later, I took on a role at Puppet. There, I had more opportunities to go to user conferences and meet a broad spectrum of our community. Coming from a network vendor, my role focused on building network automation solutions. At that time, network automation was still emerging and primarily focused on configuration-related activities.
In terms of the DevOps lifecycle, I focused on the opposite end of the spectrum. I was building software and integrations, and the team was getting it released and packaged. However, we were not users of those integrations, and we relied heavily on others to give us their operational perspective.
Following Puppet, I had a brief stint at a networking automation company. It was there that I really started to accept that DevOps configuration management wasn't the only thing that mattered. I began to look at things like change advisory boards, ITIL tools, interactive ChatOps—and most importantly, the business justification for automation.
I had different customers or potential clients say they didn't see much ROI from their automation investment. Or, they weren't able to justify automation to their teams and management. This led me to think more about metrics and the correlation of data.
The Full DevOps Lifecycle at Last!
In 2020, I moved over to Datadog. Prior to applying, I admittedly didn’t know anything about observability, and I really didn’t know anything about Datadog either. I had seen Datadog at conferences giving out these neat demos, and I knew some folks that went over to work at Datadog (and raved about it).
So when I decided that I would learn about observability and the Datadog product, I started with what I was most familiar with: Network Performance Monitoring. I signed up for my free trial, built a few demo labs and got it all working.
Then I started looking at some other things I was familiar with, like system-level metrics and logging. I started to see the power of correlating these bits of information that had always been siloed for me, and I got a glimmer of what observability is.
I got the job, which allowed me to spend the last year digging into all the facets of observability.
In doing so, the thing that surprised me the most was Application Performance Monitoring. I never considered myself a software developer. I was responsible for some software, but I never considered it to be my job. It was always like I was an imposter pretending to write software, but seeing APM and distributed tracing—how it all tied together with logs and metrics—this was the type of observability that I wish I would have had all along.
Datadog does a ton of stuff, so I get to keep digging into all the different pieces.
As a result, I've been learning more about the different parts of the DevOps lifecycle and how we monitor, observe and exchange information among these different silos.
That was the final little piece of the DevOps lifecycle that I was missing: the monitoring viewpoint. Fifteen years later, I finally filled out the entire DevOps lifecycle. My mindset has drastically changed throughout this evolution. And I’m still learning. I’m still evolving.
For example, I’m spending more time with Kubernetes, and I'm learning more about serverless—the journey never stops.
What Does DevOps Look Like to You Today?
Everyone has their own path, and wherever you may be on your journey with DevOps, I encourage you to take a moment to reflect on what elements you would like to learn more about—and how you can share your experience with others to help them on their journeys as well.