DevOps. Is it just a buzzword? A collection of software tools? A job title? Unfortunately, one of the most critical facets of DevOps often gets lost in the noise and debate about what it really “is”. More importantly: what is the goal of Devops?
For enterprises that want to succeed at DevOps, this goal should be at the forefront of any software choice, engineering hire, or process change. Simply put: the goal of DevOps is to holistically enable engineering teams and organizations to deploy applications and software faster, easier, and safer.
Enterprises that are considering integrating DevOps into their engineering culture should be evaluating what their current software development lifecycle looks like. Are deployments error-prone and cumbersome? Do customers end up reporting more bugs than QA teams? How quickly can developers get new features into those customers’ hands?
In the hyper competitive modern digital world, organizations that are not agile and cannot respond quickly to market shifts and customer needs will inevitably see themselves slowly ceding market share to their more agile competitors. DevOps is the solution to this problem, but how can enterprises get started?
What is DevOps?
Successfully implementing DevOps starts with understanding its core goals, as well as some of its origins. DevOps has its roots in lean manufacturing, originating from principles conceived within Toyota Motor Co. At a high-level, lean manufacturing focuses on continuous improvement through various principles, including an emphasis on shared ownership of the entire value stream.
How does that translate to software development, and IT in general? In traditional legacy models of software development, the development and “operations’’ teams worked in separate silos. Once feature or release work was completed, development teams kicked their finished work over the wall and went home for the day, it was up to operations to deploy, manage, and monitor the software. The segregated work streams often meant that new releases brought new bugs, integration issues, and performance problems. Admins and operations teams typically spent long hours working to deploy to production. This was tenable for applications with infrequent releases and low complexity. In the modern world of highly complex, web-facing software that sees multiple releases in a day, the model simply isn’t viable.
The DevOps Value Stream
Modern DevOps enables organizations to avoid lengthy, costly deployment cycles by integrating the development and operations silos, hence “DevOps”. Development and operations teams work closely throughout the Software Development Lifecycle(SDLC). This results in a “shift-left” mentality. Imagine the entire process of development and deployment as a timeline, from left to right. In the old model, bugs and performance issues were discovered during deployment, on the right side. In DevOps, these issues are discovered and remediated much earlier, on the left side.
DevOps is a fundamental shift in how software is written and deployed, requiring meaningful changes across multiple areas of an organization. So why should enterprises undergo such a sizable effort?
Why DevOps?
The why of DevOps is a simple proposition: organizations that deploy more often succeed more often.
The more of these cycles an organization can complete, the more business value is generated
Gene Kim highlights the massive performance disparity between organizations doing DevOps and those that aren’t in this interview. Just looking at the number of successful deployments engineering teams are able to carry out over a given time window can provide a good barometer of how healthy and functional a software organization is. More deployments means faster iteration on customer requests and new product features. When teams can get to market faster, more business value is generated.
It’s not just about the number of deployments either: it’s about making them more efficient, free of bugs, and more secure. The DORA team at Google has identified four metrics that are critical to software development:
- Deployment Frequency
- Lead Time for Changes
- Change Failure Rate
- Time to Restore Service
For each of these metrics, DevOps plays a significant role. It’s not just about external business value either: better performing teams means less firefighting, less operational overhead, and less burnout. Happier engineers will lead to less turnover, and will make an engineering organization a desirable destination for potential employees.
Deploying DevOps initiatives results in additional business value for enterprise organizations. The next step is deciding how to get started.
How to Get Started With DevOps?
For most organizations, getting a greenfield DevOps initiative off the ground can be a tough mountain to climb. Hiring a couple of engineers and giving them a DevOps title won’t fix entrenched, legacy processes, or magically undo years of technical debt. While the long term goal typically centers around building a strong DevOps team internally, the key to short-term success may be collaborating with an outside partner.
A fresh team of individual contributors will struggle to build organizational momentum around new technical initiatives. In any company, new employees may take several months to get their footing culturally and technically. During that time, buy-in from leadership and other teams will be low, stymying potential progress on implementing significant changes.
Engaging a team like Akava to help kickstart the transition to DevOps means that there can be “Day 1” focus on implementation and build-out, eschewing the administrative burden of onboarding full-time employees. Choosing partners with a proven track record of successful projects and a strong technical acumen for Agile and DevOps is critical. Companies should adopt a two-pronged approach: engaging an outside technical team to deliver fast iteration on standing up foundational DevOps infrastructure and process, while slowly building out their internal teams to develop and grow long-term initiatives.
After choosing an outside partner, what should an organization direct them to focus on? Project selection should aim to improve on one or more of the DORA metrics from the previous section. For example: if DevOps is a completely new project, then building out deployment automation, such as a CI/CD pipeline, should be top priority. For teams that might have some deployment automation already built out, it might be helpful to focus more on reducing lead time and failure rates around an existing process.
Once the groundwork has been laid, the next step is to start measuring and evaluating key metrics. Is the initiative successful? Again, the DORA metrics provide a solid starting point of Service Level Indicators(SLIs) to measure. The transition to DevOps might not necessarily be an overnight success, so it’s important to start tracking metrics early to be able to demonstrate progress to key stakeholders.
DevOps Is Key To Modern Software Development
While DevOps might not be something that can be summed up in a single tool, or a job title, it is critically important to successful, modern software development. Organizations and individuals across the engineering landscape agree: companies that deploy more are, on average, more successful in their given market. Faster iteration and development means more business value generated, and it’s hard to argue that won’t translate to long term success.
Engaging with proven teams like Akava can help successfully build out DevOps into existing technology, process, and teams. Having on-hand expertise is especially critical in the early stages of such a transformative effort.
This article is the beginning of an ongoing series around DevOps and modern software development toolchains. Parts 2 and 3 will cover organizational culture, tooling, and technology in more depth and detail, laying out the path for companies to integrate DevOps into their own teams.
Akava would love to help your organization adapt, evolve and innovate your DevOps initiatives. If you’re looking to discuss, strategize or implement any of these processes, reach out to [email protected] and reference this post.