What's new in Kubernetes and cloud native?

What's new in Kubernetes and cloud native?

Image:
What's new in Kubernetes and cloud native?

The cloud native ecosystem is vast and growing, which makes pinpointing progress a challenge

Computing's first KubeCon and CloudNativeCon in 2018 was a real eye-opener. Only the second such event to be hosted in Europe, we were expecting the usual smattering of t-shirted techies and impenetrable terminology typical of open source gatherings on technology's cutting edge. But KubeCon was huge, diverse and fired up. More than 4,000 enthusiasts had converged on Copenhagen from all over the world and there were more than 90 sponsor stands from AWS, Google and Microsoft on down. Something big, perhaps era defining, was going on. How had we missed it?

At that time, Kubernetes was just entering the mainstream, in the sense that DevOps teams in large organisations were paying it serious attention. Seemingly out of nowhere, Kubernetes had arrived to automate away many of the operational headaches inherent in deploying distributed applications at massive scale, and that promise made it too good to miss.

This year, KubeCon Europe was even bigger. 7,000 people filled the cavernous Feria Valencia with 15,000 more registering online, and there were twice as many sponsors, but the atmosphere was entirely different. Kubernetes, the centrepiece of cloud native, is now reasonably mature, and while still not exactly easy to deploy and use, it is very much a known quantity.

The rate at which new features are being added to Kubernetes has slowed down, and during a media and analyst session hosted by the Cloud Native Computing Foundation (CNCF), panellists were broadly united in the opinion that Kubernetes is no longer the point. It's becoming ubiquitous, even at the edge, but in terms of mindshare it's fading into the background.

"I don't want to talk any more about Kubernetes core features," said Ben Hale, senior staff engineer, developer experience at VMware. "I want to be in a world where we can start talking about the really interesting things that are on top of that."

Which may explains the more subdued atmosphere. The cloud native firmament is vast, messy and expanding all the time. The Cloud Native Computing Foundation (CNCF) doesn't pick winners, and in the absence of an obvious star it's understandable that the excitement levels were down on that previous event. Energy is being channelled in all sorts of different directions.

So what's new?

It's not that there's nothing new. There's almost too much new, but no obvious emergent ‘killer apps' or step-changes that headline writers crave.

Even those working within the ecosystem struggle to get their heads around what's happening and where, and this is starting to become a problem. The number of cloud native developers grew by a million last year to over 7 million, according to CNCF, and for those new developers to see the big picture is increasingly difficult.

"The ecosystem is growing and growing", said Bryan Che, chief strategy officer at Huawei and CNCF Governing Board Member. One step in getting a handle on it would be to focus on unifying APIs, he said. Projects should use the default Kubernetes APIs where possible, rather than adding more to the pile, to make things simpler for developers and end users.

"I think for developers, the technology is difficult, but navigating the ecosystem itself is the most difficult part," said Kim Schlesinger, developer advocate at DigitalOcean. "I know the CNCF interactive landscape, I go there once a week and I find it really intimidating."

There is a need for a framework, for maps and signposts to help people new to the landscape to find their way around, and for education aimed at new users, she added. Also, there should also be more research into what makes projects successful, so they can be more readily identified.

Andrew Block, distinguished architect at Red Hat, suggested a persona-driven approach could help users to navigate the shifting sands: "If I'm a certain persona, here's an area that I might want to look into."

The large number of projects and inevitable duplication of effort makes some sort of consolidation almost inevitable, but for now, as Che said, it continues to grow and grow. There is no simple way to compare similar products, or to know which are mutually compatible. We heard comments about the complexity of the ecosystem multiple times during the event. Some feel the Cambrian explosion phase should be allowed to run its course and that winners will naturally emerge; others would favour some judicious pruning.

Ones to watch

Asked which projects the panellists were enthusiastic about, unsurprisingly, their recommendations included those that help newcomers climb on board.

Block and Hale both mentioned Backstage, a project donated to CNCF by Spotify that is currently at the 'incubating' maturity level. Backstage is a developer portal that provides a single view of an organisation's systems and how they interact by centralising services and standardising tooling, very useful in large organisations or ones that are changing fast.

"I think Backstage has a bright future, because it more accurately understands what a developer wants to do every day," Hale said.

Meanwhile, Schlesinger suggested a couple of projects designed to make deploying to cloud easier for developers: "So things like Octant or even the Kubernetes Dashboard, where developers don't have to worry too much about the infrastructure, where there's a separate team that handles that."

Che described Volcano, another in incubation, as "a very interesting and gratifying project", because it finally makes AI and big data type workloads much more compatible with Kubernetes.

"A lot of those use cases have been left behind, because they couldn't fit into this new world. So Volcano's being able to bridge those worlds and partly driven because there's a huge interest in machine learning at scale now," he said.

WASM and eBPF

Technological developments outside of CNCF are naturally making themselves felt, too. At this year's event, in keynotes, demos and workshops, WebAssembly (WASM) and eBPF were much in evidence.

WASM is a low-level assembly language that can work alongside JavaScript, allowing code written in multiple languages, including those normally found at the back end such as C, C++ and Rust, to run in a browser at near native speed, opening the door to whole new types of applications and for existing apps to be ported to the web.

WASM is an open W3C standard widely supported by the industry with the likes of Intel, Amazon, Mozilla and Microsoft working on implementations. Prominent CNCF projects, such as service mesh Istio and network proxy Envoy, support WASM.

While saying they were keeping a careful eye on developments, the panel emphasised that WASM is at an early stage. Block mentioned efforts to extend the functionality of container registries with WASM, while for Hale portability was the thing.

"As someone with a Java background this idea that we can get something that's write once run anywhere - and actually do it this time - is really appealing to me. But it's I think it's still too early to call."

eBPF, whose project page rather unhelpfully states that it is 'no longer an acronym for anything', effectively opens up Linux's innards to developers, allowing sandboxed programs to run within the operating system itself. Efforts under way include the creation of next-generation networking, observability and security functionality.

"I think eBPF is an area of technology that really is quite different," said Block. "Knative serverless has been really interesting to the developer, and eBPF is a similar paradigm for the operator, because you can now hook into events at the kernel level, and attach new events and new capabilities on to that."

New roles for SREs

The complexity involved in setting up, managing and securing Kubernetes clusters has made managed service offerings popular. Che sees the core infrastructure side of Kubernetes gradually becoming the realm of the vendor, with the result that the site reliability engineer (SRE) role, which is what many ops teams morphed into with DevOps, will become more focused on value-added areas: "How do we build the applications we care about, and keep those agile and running?".

Schlesinger said she too also seen the SRE role diverging into specialisms, the next stage in the evolution of DevOps.

"We have an SRE team that focuses on observability, another one that focuses on alerting, maybe you have a team that's really focused on the culture of how do you handle incidents and get that continuous improvement? I'm starting to hear new terms. Then there's platform engineering and where people aren't using the term SRE at all. So I'm curious in the next couple of years, what we'll call the people who run the infrastructure, the digital infrastructure for business."