JAX DevOps Blog

“Anywhere that good judgment is not needed, the work should be automated away”

21 Feb 2018

Testing is essential . Source: Unsplash

DevOps is all about collaboration but it’s not always easy to put theory into practice. What goes into a good team structure? Should we deliberately introduce some sort of boundary between teams to make sure one does not overpower the other? We talked with Charity Majors about the DevOps show and who’s really leading it.

JAXenter: Who is leading the DevOps show? Develops or operators?

Charity Majors: The center of gravity is moving to software engineers, who sit in the middle of a mess of internal and external APIs and services, trying to craft something meaningful out of it.  Software engineers are who we should be building for … not least because there’s no such thing as “operators” any more.  Ops engineers write software too.

Ops isn’t going away, but ops increasingly lives on the other side of an API, instead of sitting next to you at work.  This is great news — you get to rent world-class operations talent by using companies like AWS, Fastly, and other infrastructure providers, the talent that you likely could never recruit and hire yourself.

JAXenter: The focus is slowly shifting from “What is DevOps?” Where do we start?”. How do we answer the second question?

Charity Majors: You start by making software engineers responsible for their own services. Putting them on the hook for the quality of their own code shortens the feedback loop and aligns their incentives with their users.  Operations are simply ownership and responsibility for outcomes.

No service really needs an operator.  They need owners.  

Start by making software engineers responsible for their own services.

JAXenter: How important is it to incorporate security into DevOps (DevSecOps)? What are the benefits? Should it be a priority or an afterthought?

Charity Majors: Good teams have always baked security in from the very beginning of any idea or implementation.

JAXenter: How important is automation in a DevOps context and what are the areas where automation is really needed?

Charity Majors: Anywhere that good judgment is not needed, the work should be automated away.  You should only need to exercise judgment in the critical triage path and for your few business differentiators.

JAXenter: Should testing become an essential component of the CI/CD pipeline? Are we underestimating its importance?

Charity Majors: Testing is absolutely essential, what are you talking about?  All of “CI” is about continuously running integration tests!

Actually, I think we overestimate the importance of testing.  Testing, like monitoring, is good at catching all your known unknowns so you don’t make the same mistake twice.  In the future, when we are running complex distributed systems and unknown-unknowns predominate, testing and monitoring are not enough to catch the most critical failures.  You will need well-instrumented code that enables real-time observability.

JAXenter: Some companies are still struggling with DevOps metrics. What are the key metrics that matter and how can they enhance DevOps success?

Charity Majors: How happy your users are and how much sleep your engineers get.

JAXenter: Do you think the abundance of DevOps tools has helped or slowed down DevOps adoption?

Charity Majors: Tools are essential.  Discernment in selecting them, even more so.

JAXenter: There’s a huge demand for DevOps professionals. What skills do you need to have in order to tap into the perks that accompany the job description?

Charity Majors: Only curiosity and access.

Thank you very much!

Check out JAX DevOps Tracks

Behind the Tracks

BUSINESS & COMPANY CULTURE
the process of becoming fully agile
CLOUD PLATFORMS
Cloud-based & native apps
DOCKER & KUBERNETES
Docker, Kubernetes, Mesos & Co
CONTINUOUS DELIVERY
Build, test and deploy agile
MICROSERVICES
Maximize development productivity
Business & Company Culture

Business & Company Culture

Cloud Platforms

Cloud Platforms

Docker & Kubernetes

Docker & Kubernetes

Continuous Delivery

Continuous Delivery

Microservices

Microservices

Monitoring & Diagnostics

Monitoring & Diagnostics