The Past, Present and Future of Progressive Delivery
While the definition of progressive delivery can vary, many would agree it represents an evolution of continuous integration/continuous delivery (CI/CD). In this The New Stack Makers podcast, The New Stack’s publisher and founder Alex Williams, and TNS correspondent B. Cameron Gain discuss why progressive delivery will play a large role in the future of DevOps. Nick Rendall, senior product marketing manager CloudBees, is the featured guest.
While progressive delivery is universally accepted as important for web and mobile software development, how best to implement it remains a challenge for many organizations. “Everyone understands that progressive delivery is a good thing, and now it’s like, ‘okay, great, but how do we really do it and let’s take this concept and let’s really build it out into our big enterprise organizations,’” said Rendall.
Progressive Delivery Past, Present and Future
Rendall defines progressive delivery as the use of feature flags to manage “deployment and release.”
With traditional software releases, “you push everything out all at once — it’s one big-bang release — and you kind of cross your fingers and hope that everything goes right, but more often than not, things don’t, and so this concept has come along so that you deploy everything all at once, and then slowly push it out to users and see how they accept it both from a technical standpoint but also from a user-acceptance standpoint,” Rendall said. “It’s a great concept, but doing it is something else.”
CloudBees supports progressive delivery with its CloudBees Feature Flags tool to communicate how feature development is progressing to other developers, other DevOps stakeholders, and even to end users. “One thing we’re seeing at CloudBees is that feature flags are suddenly pivotal in this DevSecOps movement. There’s mean time to repair but let’s talk Meantime to Mitigation — I mean that’s a new topic, too: how quickly can we close the gap, even if it’s not fixed,” said Rendall. “There’s this idea of taking observability, and if there is an issue, hit that ‘oh, crap’ button and immediately turn off any sort of gap in your security and get it off immediately. So, Meantime to Mitigation is the new metric that we’re pushing with feature flags.”
CloudBees’ open source Jenkins, of course, will remain closely tied to CloudBees’ CI/CD mission — as well as to most developers who are building and deploying software for cloud native environments. Rendall described how Jenkins and CloudBees are “largely synonymous.”
“Jenkins is the core, and it’ll always be at the core, and feature flags are on the spoke around the wheel of Jenkins, similar to other tool sets,” said Rendall.
Challenges associated with progressive delivery remain and even constitute downsides associated with its adoption. One example is the technical debt that is accrued by feature flags, Rendall explained. “You’re creating different potential code versions for all of your customers all at once and if you’re creating an if-then statement in your code by default that means you’ve got two versions of your code running, and now think about that at the enterprise scale, and suddenly you’ve got 100 flags running and you’ve got 200 versions of your code that are potentially out there,” said Rendall. “If that’s not addressed early on, that’s going to be a problem and you’re going to have at best just bloated code, and at worst, you’re going to have some catastrophic failures.”
However, in the long term, Rendall believes progressive delivery — and the use of feature flags — holds great promise. “The future is very bright in this arena,” Rendall said. “From my perspective it’s simple: it’s going to be the democratization of future usage feature control across an organization.”
The New Stack is conducting our first podcast listener survey and we want to hear from you! Your feedback will determine the focus and format of our TNS Makers show in the coming months. Help us bring you the best podcast we can!