JAX: One of the key tenants of DevOps is the idea that both teams have an equal share of accountability. Does this work in practice, or only in theory and how?
Mike D. Kail: I’d first question what one means by ‘both teams’? DevOp is the collaborative melding of Development and Operations and over time everyone builds up their skills in both. If you don’t address the bifurcation, there will always be finger pointing.
JAX: Measurement and metrics are other key tenants of any DevOps transformation. How can well-defined metrics enhance DevOps success? In a DevOps context, how do we know what is important enough to measure?
Mike D. Kail: The two metrics that should always be table stakes are Velocity and Service/Delivery Quality. The latter will then help improve Customer Satisfaction, which matters for both Internal and External Customers. Continuous Feedback loops from Customers and Team Members will help determine what is important to measure and the focus should to always be improving in this area.
JAX: DevOps failures are an unfortunate reality and they are often inescapable. So, what tips can you offer to turn short-term failures into long-term success?
Mike D. Kail: First and foremost, the post-mortem analysis of any given failure should be completely blameless. You want to foster a safe, collaborative environment where attendees provide suggestions and solutions for improving the overall resiliency and guarding against future failures. Strive for continuous improvement, not perfection.
JAX: DevOps is not only about the cultural aspects, but also about the tools. Which tools do you recommend for a successful transition to DevOps?
Mike D. Kail: I caution against assuming that tools are the key to a successful transition to a DevOps culture. “Tactics without strategy is the noise before defeat”– Sun Tzu Having said that, some common tools in a strategic tool chest include:
- DataDog / Monitoring+Observability
JAX: Is AIOps the next evolutionary step or simply a different way to think and implement DevOps?
Mike D. Kail: Let’s first start by defining what I believe AIOps is (or is going to be). It’s using data (metrics from various aforementioned tools) to build ML models to power AI techniques that improve Automation (a core tenet of DevOps). The goals are to improve time to delivery and response via repeatable models (decision trees, etc…) So, for me, it’s a natural cultural evolution.
JAX: Speaking of rising technologies in the DevOps ecosystem, is GitOps the new paradigm to meet the needs of cloud-native development?
Mike D. Kail: For me, GitOps is about the transition from an imperative paradigm to a declarative paradigm, and that is a flow that is more ‘friendly’ to Developers and due to the version-control nature of it, helps guard against configuration drift.
JAX: Automation is one of the key concepts in any DevOps implementation. Although it promises to rid developers of routine work and let them focus on the meaty details, on some occasions it may cause more problems than it solves. What causes the automation trap and how can developers escape it?
Mike D. Kail: The biggest challenge is not automating something that results in a cascading failure. As one is automating routine tasks or procedures, take into consideration any corner cases where a failure doesn’t result in the task termination but instead continuing on in a degraded state. This is where proper logging, monitoring, and observability are of immense value.
JAX: Last year, Sacha Labourey, CEO and founder at CloudBees told us “DevOps is the new normal, cloud is the new infrastructure & Kubernetes is the new operating system.” Do you agree with this statement? Is the cloud the protagonist in the DevOps narrative?
Mike D. Kail: Overall I agree with Sacha, and my simple wordsmithing would be that “DevOps culture is table stakes for a high-performance team, Cloud services model is the new infrastructure and the new OS is a container-orchestration system”