Understand the meaning of DevOps and why you might care about it.
(sweeping, chiming music) - DevOps, it's a hot new trend in computing. But what is it? Companies from IBM to Microsoft talk about DevOps, but there's not a single agreed upon definition. So it can be a little hard to figure out. - We think that DevOps can be defined by two related ideas. First, DevOps is the practice of operations and development engineers participating together through the entire service lifecycle, from the design and development process all the way to production support.
- [James] That's right, you know, DevOps replaces the model where you have a team that writes the code, another team to test it, yet another team to deploy it, and even another team yet to operate it. - Second, DevOps is also characterized by operations staff making use of many of the same techniques as developers for their systems work. - You know, in DevOps, system engineering works just like a development workflow. All the assets are checked into source control and have tests associated with them. - But DevOps, like Agile or Lean, is a broad enough concept that just a high-level definition doesn't really tell you much about what it is.
We like to break it down into five levels: values, principles, methods, practices, and tools. - And we're going to discuss each of these levels later on in the course. But first, let's really get to the big questions. Why do you care? What does DevOps do for you and why would you want to practice it? - [Instructor] Well the first reason is that it's been shown to be effective in improving both IT and business outcomes. The Puppet Labs' state of DevOps 2015 survey indicated that teams using DevOps practices deployed changes 30 times more frequently with 200 times shorter lead times.
And instead of that resulting in quality issues, they had 60 times fewer failures and recovered from issues 168 times faster than other organizations. - I mean, those are huge, huge benefits. - You said it, James. And the survey also showed that these results held across different sizes and types of business. - The second reason is that it makes your daily life easier. Hi-tech is a very interrupt-driven, high pressure exercise in firefighting that can often lead to personal and professional burnout. We've found that the DevOps approach reduces unplanned work, it increases friendly relationships between coworkers, and it reduces stress on the job.
- I know that's been true in my experience. - Yeah, me as well. - A couple of notes here. While DevOps is a combination of the words development and operations, it isn't meant to leave out other teams. Dev is traditionally understood to mean everyone usually on the code side, from developers to front-end designers to QA. And ops is generally understood to include everyone traditionally on the system side, whether that's Linux administrators or network admins. - Wait, even DBAs? - Yes James, even DBAs.
Collaboration among everyone participating in delivering software is a key DevOps tenet. - Also, when we talk about IT organizations, we include both product development organizations, which we often call engineering, and the traditional IT shops. - Some specific techniques will work better for one kind of org or the other, but DevOps addresses improving them both. - And this section wouldn't be complete without saying what DevOps is not. It's not a new name for an operations team, a job title, or a new tool category. - James and I have both been practicing DevOps since it started, and it's helped both of us deliver solutions in a variety of companies over the last seven years.
- Alright, let's get to discussing the five levels of DevOps practice, starting with the core values of DevOps.
In this course, well-known DevOps practitioners Ernest Mueller and James Wickett provide an overview of the DevOps movement, focusing on the core value of CAMS (culture, automation, measurement, and sharing). They cover the various methodologies and tools an organization can adopt to transition into DevOps, looking at both agile and lean project management principles and how old-school principles like ITIL, ITSM, and SDLC fit within DevOps.
The course concludes with a discussion of the three main tenants of DevOps—infrastructure automation, continuous delivery, and reliability engineering—as well as some additional resources and a brief look into what the future holds as organizations transition from the cloud to serverless architectures.
- What is DevOps?
- Understanding DevOps core values and principles
- Choosing DevOps tools
- Creating a positive DevOps culture
- Understanding agile and lean
- Building a continuous delivery pipeline
- Building reliable systems
- Looking into the future of DevOps