Kubernetes is Boring - Let’s Talk Serverless
We sat down with Alexis Richardson to discuss what new technologies you can expect and how they might play out over the upcoming year.
KubeCon North America - leaving 2018 with a bang!
Managing Helm releases the GitOps way
Running OpenFaaS on GKE - a step by step guide
The big theme at this year’s KubeCon CloudNative North America was that Kubernetes has finally crossed over into “boring territory”. This is not necessarily a bad thing. It means that a new technology has moved beyond its cutting edge stage, and that it can be used safely in production.
So where does that leave Cloud Native Technology for this upcoming year?
I sat down with Alexis Richardson, CEO of Weaveworks, and TCO for the CNCF at Kubecon in Seattle Washington. We discussed what technologies to expect this year, how new technologies evolve, and how they’ll possibly play out over the upcoming year.
Much has been made of Serverless at Kubecon. Is this the new technology going forward?
I think that serverless, as we understand serverless to mean, where it’s easy for an application developer to provide some code for a platform that will run that code, adds a lot value.
In the past, platforms as a service have been described as having zero to little market and yet an inevitable market occurred. If you look at people like Heroku, they’ve been at it for about 10 years, and although they’ve been really successful, their platform in the cloud represents only a tiny minority of Amazon’s total workloads.
More recently we’re starting to see other kinds of platforms as a service under the name of serverless like Lambda on Amazon, which anecdotally seem to be getting a lot of uptake in the market. But can we tell you they represent a growing portion of Amazon’s workloads?
Amazon is on exponential growth, but is lambda on an exponential growth path too - relative to Amazon’s total growth?
A lot of vendors or customers agree that the future is a large number of developers that don’t need to understand how the plumbing works. They can simply request services and then deploy it more or less as it is and let the platform figure out how best to run that service.
What other platforms do you see falling under the serverless category?
You could imagine a world with 1000s and 1000s of platform idioms or serverless idioms. Machine learning as a service for example. And many different kinds of machine learning as a services, for example: the internet of things, drones, cars, and healthcare.
A few weeks ago someone was talking about an open source project for manipulating genetics and proteins and other molecular components. In the future, many of the serverless projects will be associated with specific areas. I think it will be very, very, very verticalized and area specific. This creates an atmosphere for a diversity of platforms. Clearly the scope for that is huge. Whether it’s called serverless or PaaS or something… the terminology probably needs to change to encompass all that it will do.
The other thing is the layer on which this stuff sits is still very much undefined. There are still changes going on at the infrastructure level and even at the processor level. You have GPUs from Google and processing speed that still needs to be invented.
And then the next layer up, what it means to be a container is still being defined and adapting. Cloud services like Web Assembly, an abstract machine that can run any code, runs as a Function as a Service with a lamda-esque offering for any C++ code or Java. Similar to lambda layers. These types of services are only in the very beginning stages of innovation.
And if you keep on going up the stack, you see new application frameworks like Tensorflow and Kubeflow. So I think, we’re not going to see innovation shift from the bottom to the top of the stack until the innovations slow down lower down in the stack.
What is meant by saying that Kubernetes is boring?
Although people have said that Kubernetes is now boring, actually it’s going to take another five years before we derive a commonly agreed on platform for functions, abstractions, algorithms, and other middleware. Once those are truly settled on and most of the providers are running similar platforms; where most of the workloads are running - that’s when you’ll see the real explosion of app development tools on top of Kubernetes.
So I think this year, you’ll start to see more of that side of things in the cycle. But ultimately, it’s going to take awhile for these technologies to really take hold.
Will we also need to see cultural shifts within the whole development environment?
That’s the other area of developer tooling that needs to fully change before we embrace serverless technologies. We’re starting to see the start of that with the processes that involve getting code from a developer’s computer to the cloud.
We’re seeing joined up stories with Azure DevOps and GitHub Actions and some other GitHub offerings that are also working on best way to get your code from the repo onto the cloud with the least amount of effort. A bit like platform as a service but more Continuous Delivery as a service. I would say that our own Weave Flux is a part of that landscape, as well as Skaffold and Draft from Microsoft and lot’s of other GitOps projects coming up in the CNCF like Garden.io.
These are all tools that are affecting cultural changes around how we do development.