Happy New Year!
As 2020 gives way to 2021, I find my briefing dance card quickly filling up with “YAKS” (Yet Another Kubernetes Solution briefing). It’s to the point where it’s easy to wonder, “Does the market really need, and can it sustain, more than three dozen platform providers?” In some ways it takes me back to the heady days before the great recession, when I was doing research on AJAX frameworks (in 2007 there were many — too many — of them).
I expect we’ll eventually see the same sort of consolidation in cloud native platforms that we saw with rich internet applications, but at present there’s a lot of room for innovation, whether it’s in public cloud platforms, function-as-a-service platforms, or multicloud container development platforms.
These days, one of the most common questions I get from clients is, “Which cloud native technologies and platforms are best for us?” It’s a complex question, given the long list of possibilities. Functions, containers, and virtual machines all have a role to play as teams build new content and modernize the old. Right now, I see development and delivery teams making choices about the cloud-native technologies they use based on the relative importance of four levers:
- Speeding up innovation by maximizing velocity. Getting new digital products and services to market fast is a top priority for many shops. In 2020, many retailers had to get new digital capabilities like curbside pickup into production as fast as possible. Others needed to get COVID-related capabilities like track-and-trace applications into production. When velocity and building net-new digital capabilities are the overriding concern, we tend to see development and delivery teams prefer managed public cloud and serverless technologies like Azure Functions or AWS Fargate.
- Maintaining freedom of action and flexibility by insuring portability. As long as I’ve been in development, I’ve seen decision makers invest in “insurance policies” — technologies that have given them options. In the 1990s, it was SQL-92-compliant RDBMSes. In today’s cloud-native world, it’s OCI-compliant containers and runtimes. Development teams that want to build new, modernize in place, move to a public cloud platform, or all of the above tend to prefer multicloud container platforms like Red Hat OpenShift, Cloud Foundry, or VMware Tanzu.
- Modernizing monoliths in a way that minimizes refactoring risks and costs. Development teams wrestling with modernizing large, core, mission-critical applications will tell you there are no magic bullets, just a lot of hard blocking and tackling using refactoring patterns like API facades and The Strangler to pick apart the component dependencies of a monolith. But we’ve seen undeniable modernization success stories from teams that use both Cloud Foundry and Kubernetes-based platforms. And moving forward, service mesh technology on top of Kubernetes platforms gives developers a way to implement API facades one step at a time while providing effective traffic management.
- Protect data and unique intellectual property by prioritizing security. “Every time our mobile team adds a new feature, it increases the demands on our mainframe.” It’s a statement from a software decision-maker I spoke with last year that continues to resonate. As more core workloads unlock and development teams look to modernize them, they increasingly have to think about connecting to data that is not going into the public cloud anytime soon. Whether it’s transaction data on a mainframe or supply chain data in SAP, teams modernizing workloads need to think about data gravity and the security of that data. In this situation, we see development teams turning to multicloud container platforms or building their own platforms from open source projects.
Is your organization currently weighing your cloud-native technology investment strategy? If so, ask your stakeholders how they prioritize these different levers, and factor their responses into your efforts. It’ll help you wade through the multitude of cloud-native platforms and services and provide consistency as you evaluate your options.
And if there are other levers that are a major driver in your organization, reach out and let us know. We’d love to hear what your development shop is thinking.