Hopes and Fails in DevOps 2017

In the end of 2016, DevOps enthusiasts and evangelists alike predicted and even declared 2017 as “The Year of DevOps.” DevOps evangelist J. Paul Reed put more eloquently when he said in an interview with TechBeacon “2017 will be the year that DevOps is finally declared 1.0 stable.” However, not all predictions came to fruition in 2017. Let’s take a look back at the DevOps hopes and fails of 2017.

First, the hopes.

DevOps Has Gone Mainstream

Lucas A. Welch, Director of Communications at Chef, predicted in DevOps Digest that in 2017 DevOps “will make major strides from being a niche operating model to simply ‘the way things are done’ in modern IT.” Read also: Is DevOps a Holy Grail?

Most notably, DevOps guru Gene Kim stated in 2017, and it has been proven over and over again, that DevOps is no longer reserved for so-called “unicorns” such as Facebook, Netflix, Etsy and others in an interview with TechTarget. Business and IT leaders of businesses of all sizes are actively implementing DevOps practices en route to a complete DevOps transformation. However, the fact that DevOps has gone mainstream should not come as a shock to anybody. If we look at DevOps from the business perspective, it decreases the time-to-market while creating stable, high performing products at the same time. From the technical side, delivering high-quality software at rapid speed without any silos, hassles at breakneck speed is a blessing to QA, development and operations teams alike. And as we see in the chart below, DevOps has been implemented in a wide variety of applications:

Although SMEs have adopted DevOps more eagerly than enterprise in 2017, the gap is narrowing. The software creation and release practices along with the business benefits of DevOps speak for themselves. We expect an even greater pace of DevOps adoption in the year ahead:

Regardless of how you look at DevOps, it is a win-win from any angle.  

Microservices and Containers Rose in 2017

Chris Riley, an analyst at fixate.io accurately predicted that there will be “continued growth in container-native tooling, container-native security, and container-native release automation.” The adoption of microservices has grown significantly in 2017, which are suited for DevOps due to their well-defined interfaces, isolated nature and the ability to improve cycle times without putting the broader system at risk. Containers can serve as a compatible microservice deployment vehicles because they are designed to run one with minimal deployment and runtime overhead.

Even though Docker has emerged as the standard for developing containers, there is still a lot of flux in the market in terms of runtime, clustering and orchestration environments.

CI/CD Made Manual Testing Obsolete in 2017

In fact, to say that the CI/CD” simply made a “splash” would be an understatement to end all understatements. TJ Maher, a contributor at TechBeacon and an automation tester himself, predicted that the effect of continuous integration and delivery will be so huge that they will turn the entire industry upside down:

“Continuous integration and continuous delivery turned the big splash of Selenium WebDriver into a tsunami that washed away almost all of the software testing industry, drowning many of the manual testers and eroding their base of employability.”

CI/CD has transformed the way developers and testers deploy software. Thanks to the rise of DevOps, conventional software development and delivery methods are quickly becoming obsolete. Remember the days when companies would deploy new software on a monthly, quarterly, or even annual basis? Well, those days are long gone. In the DevOps era, multiple daily launches are the new norm.

The chart below illustrates the effects of continuous delivery on software development:

Another consequence of CI/CD is that the role of software tester is becoming extinct. Not only has testing become automated, but since DevOps blurs the line between roles, i.e other roles have taken on testing duties or even transferred to offshore teams.

Now the failures.

DevOps Ambiguity

Jez Humble, the co-author of The DevOps Handbook, said that “DevOps is not a goal, but a never-ending process of continual improvement.” In 2017, the term DevOps has deviated from this definition and has been overloaded, overused and misunderstood.

Organizations continue to believe that by investing in technology they can fix cultural and organizational problems and lack of talent which ultimately results in failed projects. There is no stride to continuously get better as Jez Humble said in The DevOps Handbook.

Struggle With DevOps Transformation

Even though DevOps adoption has become mainstream, it is still a painstaking process for a lot of companies. Perhaps the biggest reason was, and continues to be, that DevOps is a cultural change. Nicole Forsgren, CEO of Founder and CEO of DevOps Research and Assessment said that there are two basic problems with a DevOps transformation:

“The first is scale. How do you take success from one team or line of business, and then help spread that outward? In smaller organizations, it’s difficult but more straightforward. In larger enterprises, it can be a bigger challenge.

The other serious challenge is intricately related and it’s this: How do we identify our successes (and failures!) early, so we can capitalize on them (or learn from them) and then spread those learnings more broadly?”

Of course, in order set up success metrics, we must first define “success” since this definition will vary from one company to another. Success is usually measured as a combination of four things: deployment frequency, average time to restore, lead time for changes and the change fail rate and this “shift left” transformation is definitely worth the investments.

Here are some things you will absolutely have to do to achieve continuous improvement:

With all of these hopes and failures, 2018 is sure to bring even more developments and build on the successes of 2017. What is in store for DevOps in 2018? Stay tuned to find out!

About the Author

Stanislav Ivaschenko is a certified AWS solutions architect at Squadex with more than ten years of professional experience in building, delivering, supporting and optimizing a broad range of software applications. From bare metal to the cloud, from monolith architecture to microservices his expertise and experience help to meet business needs for startups, mid-sized companies and large enterprises. He has experienced a large number of DevOps and infrastructure related tools, services and management practices.