I have to confess that I love technical conferences, and KubeCon is fast becoming my favorite. It is still just the right size — not too small and not too big. I feel inspired to be surrounded by thousands of very smart people, solving some of the most complex technological challenges in the world, all under one roof. I feel privileged to be able to talk to some of the most brilliant minds of our times, who came up with the idea of containerization of applications, and have created technologies like Kubernetes, Istio, Linkerd, Consul, Knative, just to name a few.
I started on Monday, attending ServiceMeshCon2019. My guesstimate is that about 1000 people attended it. I believe Service Mesh is playing such a crucial role in scaling cloud native technologies that large scale cloud-native deployments may not be possible without service mesh. Just like you cannot really succeed in deploying a microservices based application without a microservices orchestration engine, like Kubernetes, you cannot scale the size and capacity of a microservices-based application without service mesh. That’s what makes it so compelling to see all the service mesh creators — Istio, Linkerd, Consul, Kuma — and listen to them. There was also a lot of discussion of SMI (Service Mesh Interface) — a common interface among all services mesh. The panel at the end of the day included all the major service mesh players, and some very thought provoking questions were asked and answered by the panel.
There is a concerted effort to expand the control plane of the service mesh beyond Kubernetes and container and include VM workloads as well. This makes a lot of sense as the vast majority of workloads still consist of legacy applications. The transformation from monolithic application is happening slowly but surely, because that is the only viable option for the enterprise space. But it is a journey and will take a few years for the transformation to complete. In the meanwhile the benefits of such crucial technologies as service mesh must be extended to legacy applications while the transition continues. The growing trend of using many small Kubernetes clusters is driving the need for service mesh control plane federation. This gives rise to another trend, which I will discuss later.
Is Istio The Next Kubernetes?
My take on the state of service mesh is that just like Kubernetes won over all the competing container orchestration solutions, one service mesh solution will win over the number of mesh we see today. Another argument for a single service mesh winner is the complexity. Service mesh technology is very powerful and has huge benefits for the enterprise space, but it is still very complex. It will be hard enough for industry to conquer one service mesh implementation, let alone four or five. It may be controversial to say, but I see Istio’s adoption growing fast, and it is closing the functionality gaps pretty rapidly. That was also validated by so many vendors whose tools are supporting Istio based service mesh deployments.
KubeCon spanned over Tuesday, Wednesday and Thursday, was very well attended, what seems to be about 12,000 attendees. I pretty much spent all the time on the exhibit floor, talking to the smart folks at the booths, understanding the new products, and updates to the older products. I figured I can always catch up with the sessions by watching the recording on YouTube. I watched a lot of demos, asked questions, listened to the talks and presentations on the floor, and collected t-shirts. I don’t remember ever buying a t-shirt, and I love the large variety of t-shirts collection I have — all from technical conferences.
I did however attend keynote sessions, and was impressed, but I was truly blown away with the E2E 5G Cloud Native Network technologies session. When 4G was launched, it unleashed a completely new set of businesses and applications that were not possible before 4G, such as Uber, Lyft, Airbnb, autonomous vehicles, augmented reality, just to name a few. 5G is going to add over a trillion dollars to the economy and will enable the types of applications that can’t exist today, and make IoT, smart appliances, smart cities, smart factories, and other such things possible. I am very excited to see that cloud-native in turn enables 5G in a big way.
Based on what I saw at the conference, I can categorize the companies into four general areas: (1) Kubernetes cluster management, (2) cloud-native applications monitoring and diagnostics, (3) security, and (4) cloud-native storage solutions.
I observed a pattern emerging in Kubernetes — enterprises are launching a large number of small size clusters, instead of a small number of large Kubernetes clusters. I was surprised to find out that some large enterprises have thousands of small size Kubernetes clusters. This has created a plethora of startups, and even some established players, providing Kubernetes cluster management solutions. This is despite the fact that all major public cloud providers offer managed Kubernetes clusters. It seems the appetite of the enterprise to launch large number of Kubernetes clusters, instead of launching fewer but bigger clusters, have given rise to these companies. I did not find much differences between these offerings — and in a lot of cases even their UI looked very similar. It is not clear to me how they will differentiate themselves in a crowded market.
Prometheus has established itself as a standard open source tool for event monitoring and alerting and metrics collection. With OpenMetrics now a CNCF sandbox project, and OpenTracing and OpenCensus merging to become OpenTelemetry , opportunities have been created for new companies to provide monitoring and diagnostics solutions. While Datadog remains the 800 pound gorilla, a large number of startups and smaller players are offering a variety of monitoring solutions, and even finding a niche in deeper diagnostics, including more comprehensive solutions that include infrastructure level, Kubernetes cluster level, and microservice applications level monitoring and diagnostics all in one place, to help pinpoint the production issues quickly. I also saw a few vendors offering predictive diagnostic solutions. It seems the monitoring solution market will continue to be fragmented, with a couple of larger players and a number of smaller players competing on innovation.
Security continues to play an important role in cloud based applications. I see a number of vendors providing infrastructure level security, some providing advanced features like identity management in cloud-native applications, isolation, and encryption. It was interesting to see some vendors providing predictive security against the attacks. Analytics and AI is finding its way into cloud-native security and I think we will see more vendors coming up with AI-based security solutions.
Cloud-Native storage solutions are becoming very popular and a number of vendors are offering portable storage solutions for cloud-native applications. I was very happy to see Vitess graduating from CNFC incubation and getting endorsements from Slack, with millions of users. A lot of vendors offer a number of storage solutions, and have some interesting features. The portability of storage across bare-metal, private cloud and public cloud makes an interesting use case, especially because enterprises are in the process of migration and vendor lock-in is the last thing they want.
What Was Missing?
Although I thoroughly enjoyed the conference and was very impressed by the level of intellect and quality of the solutions being offered by the vendors, I would be remiss if do not bring up two key things I see sorely missing at the conference. As powerful and beneficial the cloud-native technologies are to businesses, their level of complexity is unprecedented. In my conversations with the technology gurus like Brendan Burns, one of the creators of Kubernetes, and Louis Ryan and Sven Mawson, the creators of Istio, they all agreed about the unprecedented complexity of cloud-native technologies. Technology guru, founder of WebLogic, and creator of the Web App Server, Paul Ambrose, says, “k8s is essentially a cloud operating system. The difference between the unix and k8s experience is: you could get away with not knowing much about what happens under the covers with unix. The same is not so true with k8s.”
I have lived through several technological revolutions, such as object oriented programming, interpreted languages with virtual machines and portable code, SOA, XML, Web Services, J2EE and the advent of web applications, but nothing comes even close to the level of complexity of these cloud-native technologies. Developers have taken up the central role in this digital transformation, but there are no tools that address the needs of the cloud-native developers. That puts these technologies out of the reach of 95% developers. Almost all the tools are targeting ops and service delivery, but there will be no services to deliver if there are no tools that address the complexity of cloud-native technology and brings it within the reach of 95% developers. If the industry is to reap the benefits of these technologies, this gap needs to be addressed.