Traditionally at the year end I like to note most significant trends that I see unfolding in the DevOps world. I did not know about the level of disruption that Covid would cause when I put “Remote Asynchronous Workforce” on the last year’s list. As we now know this actually turned out to be the #1 trend of 2020, which to me actually was the brightest spot of the otherwise grim year.
Now, going to 2021 here are the trends that I would like to highlight:
- Bundles and Software Bills of Materials. The industry is actively looking to automate push-button deployments but at the same time preserving transparency and traceability of software components. From the one side we want a black box with the whole suite of what we are deploying. From the other side we want to be able to quickly replace a component which security or stability was compromised. That’s why bundles are so important. Read more about bundles in my recent post here.
- Complexity vs Simplicity paradox. Business wants simplicity and quick roll-outs of ad-hoc software components. To achieve that they are actively looking at so-called “no-code” or “low-code” tools. Similarly, in DevOps world “Serverless” or “No-Ops” tools become increasingly popular. At the same time, this approach creates a huge scalability gap between initial prototyping and production deployments. This problem is only starting to unfold and I expect we would be hearing more about it in 2021.
- Vertical integration in DevOps vs “Best Tool for the Job”. Philosophy of DevOps tooling is currently split between companies like GitLab who are pushing for single suite of tools to handle all your DevOps needs and many others who build specialized tools which do better job in their niches. I wrote a post about this some time ago here. What I currently observe is increased marketing effort from companies advocating vertical integration to gain market share. I believe in the end of a day this is harmful to the overall software quality and that the “Best Tool for the Job” approach would be the preferred one. But in any case it would be interesting to observe the community reaction to this marketing push.
- Widening gap between high performers and low performers. Not sure if this will happen in 2021 or a little later, but there is a growing sense of urgency for low performers to do better or be wiped out by competition. Essentially, the trend we are waiting for is mass migration of low performers (in DevOps terms) to modern tooling and modern philosophies. This creates massive challenge and massive opportunity at the same time for DevOps practitioners.
- Kanban. Kanban is often more appropriate than Scrum for DevOps-oriented organizations. Still, the adoption level of Kanban remains sub-par to that of Scrum. However, I see the trend that this is changing. People enjoy Kanban boards and gradually move to adopt wider Kanban principles (starting with things like WIP-limits).
- CI is the new Version Control – CD will come next. These days it is hard to imagine a software project without version control. And starting one is as simple as typing “git init”. Now with Dockerfile, Continuous Integration piece is not much harder. So essentially, every piece of software now relies on working Version Control and its Continuous Integration pipeline. These are pretty much 2 things you do right away when you start a software project. And I believe this trend will be solidified in 2021. Continuous Delivery would come later, but it will come inevitably. See my post on best CI/CD practices for more details on the current state of things.
I believe these are the most important trends that are happening right now in the DevOps world. Happy 2021, I truly hope it would be much happier than 2020!
Hey!, Interesting points. Could you perhaps elaborate on point 4? Do you mean companies that did not adopt devops yet will have develop a greater competitive gap with ones who do?
Thanks! The terminology I’m using (low / high performers) is from “Accelerate” (https://www.goodreads.com/book/show/35747076-accelerate) and related State of DevOps reports.
Personally, here I actually think a lot about teams stuck with ~10+ years old systems, who are not willing to learn newer and better tech. I.e., I hear quite frequently from people that they don’t want to learn or try containers because their existing legacy setup is wonderful and nothing else needed.
Alternatively, there are teams or people that are willing to learn but don’t get opportunity from the managers. Usually, those people leave in the end of a day for a better job, while the team remains stuck in the low performance state.
What I mean is now there is much higher pressure on those teams to either improve or lose to the competition.