Part 2 of a two-part series
DevOps is a journey. You don’t flip a switch and, voila, you have a fully mature DevOps organization that is optimized to achieve continuous integration, delivery, deployment and operations.
In Part 1 of this series, we described six core technologies necessary for DevOps success in the hybrid multicloud era. Here, in Part 2, we explore the five phases of DevOps maturity. As an added bonus, we discuss five critical lessons that can help you navigate the journey successfully.
Phase 1: Ad hoc (aka chaos)
You are manually testing, building and deploying. Your team is siloed, with little accountability. There are no consistent environments to rely on to deliver a steady flow of workloads and data. It’s time to get moving.
Phase 2: Continuous integration
Congratulations. You’ve moved toward automating builds and tests. You can repeat releases but haven’t yet set standards. You still have silos, but you’re starting to share knowledge and have managed communications. You have established some processes but only within the silos.
Phase 3: Continuous delivery
This is the turning point. You can collaborate across teams, sharing decisions and accountability. You have organization-wide standards and automated processes across your software development lifecycle. You use automated processes for the build and test cycle of every commit, plus user acceptance testing. And you now have push-button deployments.
Phase 4: Continuous deployment
You’ve transitioned from being reactive to proactive. You collect metrics, analyze them against business goals and use them to collaborate and alleviate bottlenecks. You have visibility and can predict outcomes. You orchestrate deployments with automatic rollbacks, and you define and measure nonfunctional requirements.
Phase 5: Continuous operations
Your team is working with self-service automation. You can optimize costs and risks. You have zero-downtime deployments and a solid, ideal infrastructure. You are able to force failures to actively enforce resiliency. The journey isn’t over, but you’re in the promised land with a culture of continuous operations and improvement.
Five lessons for a successful journey
Of course, reading about building a successful DevOps practice is easy. But actually doing it is a process filled with opportunities to make mistakes, particularly when it comes to ensuring you have an infrastructure that has the flexibility and scalability to support a true hybrid multicloud experience—one that enables a consistent consumption experience for DevOps practitioners.
We can help. Here are five continuous deployment lessons you DON’T want to learn on your own.
Lesson 1: Make sure upgrades are non-disruptive. When working with vendors on technology upgrades, make non-disruption a priority—for example, using an underlying storage platform that is designed to be self-healing, with no downtime during upgrades. Adding this type of architecture after the fact is difficult if not impossible.
Lesson 2: Scale seamlessly, without adding IT complexity. The on-premises infrastructure for the hybrid multicloud experience must be able to scale without adding overhead and complexity. Look for a stateless storage platform that can support all workloads across thousands of instances with guaranteed quality of service for each application.
Lesson 3: Have developers write code that is programmatic and doesn’t need constant tweaking. Programmable infrastructure, known as infrastructure as code, frees up developers to do what they like to do: build new and improved IT services and solutions.
Lesson 4: Avoid forklift upgrades as you adopt new technologies. As new technology innovations come to market, you need to be able to incorporate them quickly and easily, in a manner that is non-disruptive to your existing service delivery. If you are doing forklift upgrades and data migrations every four or five years, you are not delivering the hybrid multicloud experience to your DevOps teams.
Lesson 5: Make sure the new tools you introduce are the ones developers are actually using. This lesson presupposes that you have already put in place a non-disruptive, programmable infrastructure that will seamlessly support the new tools you want to deploy. To enhance operations automation, consider multicloud integration and use of tools such as Puppet, Chef, SaltStack and Ansible.
If yours is like most companies, you are either somewhere along the way on your DevOps journey or ready to get started. The global DevOps market will grow at a compound annual rate of more than 18% through 2025, according to Grand View Research.1 The primary drivers are enhanced productivity, streamlined workflows, reduced time to market, better quality software and a decrease in costs associated with software development, delivery and maintenance.2
Whether you are at Phase 1 or well into Phase 5, it is important to ensure you have the right infrastructure in place to enable the automated, self-service, any cloud, any time, any use model of the hybrid multicloud experience. Doing so will go a long way toward delivering a consistent consumption experience for DevOps practitioners in the increasingly prevalent hybrid multicloud environment.
For more information on how you can put your organization in the best position to successfully navigate the DevOps journey, please visit NetApp.
1 “DevOps Market Size Worth $12.85 Billion by 2025,” Grand View Research, March 2018