Many of you are familiar with the “technology adoption life cycle” model, long a pillar of everything from new tech product pitches to IPO roadshows. However, overuse has eroded the model’s impact. Today, it’s less an effective visualization of market traction, and more a symbol of how distorted our tech industry’s blitzing and bandwagon-hopping is when it comes to emerging technologies.
In its simplest form, the adoption bell curve illustrates how a new product will be progressively accepted over time across innovators, early adopters, early majority, late majority, and laggards. But today’s conversations about technologies often focus only on the stories of the most eager, cutting-edge innovators—ignoring 95 percent of the rest of the story; that is, the years (if not decades) that technology takes to reach mainstream adoption.
This fact is often missed when talking about the latest tech du jour: serverless computing. In a serverless computing model, the management and capacity planning decisions about compute resources are completely abstracted from the user and are instead managed by a cloud provider, who dynamically manages the instantaneous allocation of resources themselves, charging the user for consumption, not capacity. During the past year, the buzz around serverless has created a false sense of imminence and urgency for enterprises—embrace serverless now or become antiquated.
It’s time for a reality check. We’re at least five years away from any tangible adoption by the enterprise, and a number of factors will have to play out before we get there.
Past as prologue
History shows that even the most popular and dominant technologies take years to reach mainstream status. Take Java as an example. Java is one of the most popular programming languages in the world, used by more than 9 million developers. But back in 1995 when it was first introduced, it was niche, and it stayed that way for several years. Java’s long road to the mainstream was driven through literature, academia, and institutional support. Java’s “write once, run anywhere” rallying cry was taken up by a colorful cast of characters—from creator James Gosling to evangelists of every kind—whose passion and hard work inspired a generation of programmers and spawned a vast ecosystem of conferences, classes, certifications, and even Java for Dummies.
The world is quite different than it was when Java was first released in 1995, but the underlying elements necessary for a new technology to reach the mainstream haven’t changed all that much.
IT teams must pave the way for serverless
Needless to say, there is no Serverless for Dummies (yet). It rarely comes up in my meetings with enterprise IT teams and even serverless evangelists admit the adoption life cycle is only just beginning. But eventually, it will come. And it will be IT teams who shape the serverless adoption curve, define its value and determine its future. In the years ahead, three major milestones will signal serverless is ready for primetime.
1. A mastering of containers
The path to serverless is through containers, meaning Kubernetes will have to become mainstream for serverless to take off in a meaningful way. Kubernetes is rapidly ascending as the de facto standard for container orchestration, but it’s also very complex technology with a steep learning curve. There is significant development, trial and error ahead for people riding the Kubernetes wave for this platform to reach maturity.
2. An IT culture shift
Mastering containers will require IT teams to fully embrace a cultural shift toward shared responsibility for delivering great software. This means developers must take more responsibility for their code working in the real world, and operations must not only support this evolution, but learn how to treat their infrastructure as code. IT teams need to forge new partnerships across operations and development that make collaboration easy and transparent. You’ll be ready for serverless when devops goes from being one of many IT methodologies to being the IT methodology.
3. A new set of skills
If serverless means the end of traditional infrastructure, IT teams will need to adopt an entirely new set of tools, including tools for deployment, monitoring, and security. Containerized applications take an exponential leap in the number of dependencies, because containers multiply rapidly. As teams use containers to break services into more granular functions, there is yet another exponential leap in dependencies.
This creates significant challenges for deploying, monitoring, and securing software. Teams must address versioning issues and build strong, external interface contracts to avoid massive breaks. Monitoring containers is a deeply visual, proactive exercise to quickly trace issues and identify performance bottlenecks. Finally, an increase in application surface area means more attack vectors. Teams will need strong security development principles and sophisticated security tools for hardening and monitoring applications to ensure their integrity.
Tech’s leading edge is in a fervor over serverless, and the buzz won’t abate any time soon. But there is a great deal that IT teams must accomplish for all this clamor to coalesce into value for those at every stage in the adoption life cycle.
This article is published as part of the IDG Contributor Network. Want to Join?