SpringOne Virtual SpringOne kicked off with VMware CEO Pat Gelsinger declaring that the company's partnership with Microsoft – Azure Spring Cloud is generally available from today – has ended decades of "clawing and spitting and fighting with each other".
What then is happening in the world of Spring? Spring is an open source Java framework which was managed by Pivotal, until Pivotal was re-acquired by VMware last year. “We brought Pivotal into VMware, brought the whole family together,” said Gelsinger.
VMware calls Spring the “de-facto standard for enterprise Java” and it is hard to disagree. Spring Boot, introduced in 2014, packages the framework with a Java application server and other third-party libraries to create a ready-to-run bundle that has won wide adoption.
A Virtzilla-sponsored survey of 1,024 “active Spring Boot developers, architects and managers” contained several notable points around this, including:
- The most common Spring application type is not a web application, but internal or external APIs. Next most common, after test and experimentation, is mobile backends.
- Containerization is now standard, with 95 per cent of developers either deploying to containers, or planning to do so.
- Those containers will largely end up on Kubernetes, with 44 per cent already deploying there, and 31 per cent planning to do so.
- 83 per cent of developers consider that they are building microservices. 33 per cent are using a reactive architecture, while 32 per cent are using serverless.
- 18 per cent of respondents actively contribute to the open source project. 67 per cent have some interest in contributing but regard it as too difficult or intimidating.
Microsoft’s Azure Spring Cloud is now generally available – but autoscale, one of its most compelling features, is only now in preview
Gelsinger: Partnering Microsoft felt like an international peace agreement
SpringOne 2020 is not a big event for news. Microsoft said that its Azure Spring Cloud is now generally available, prompting Gelsinger to reflect on his company's rocky relationship with the Windows behemoth over the years.
Azure Spring Cloud is a managed platform for Spring Boot applications.
In his keynote, Gelsinger was careful to reference other clouds as well. “The Amazon relationship has been huge for us and set the pace of us becoming a true modern cloud company. Then we’ve partnered with all the other hyper scalers as well. When I was on stage with Satya [Nadella] announcing our partnership [last year] it felt like an international peace agreement, we had been clawing and spitting and fighting with each other for decades and now we’re coming together.
"Also next to that was the Google partnership. IBM, Oracle, Alibab, Tencent and all of the second tier cloud players.”
Although Microsoft’s service is GA, one of its key features is only now going into preview. This is autoscale, enabling you to scale up an application on demand, triggered by metrics such as CPU usage.
VMware has also declared its Tanzu Build Service, in beta since June 2020, to be ready for production. The build service packages source code into OCI (Open Container Initiative) compliant container images, primarily for use as part of an automated workflow with deployment to Kubernetes.
The Tanzu Build Service is ready for production, automating container building as part of a DevOps workflow from code to deployment on Kubernetes
Going to Kubernetes? Why bother with VMware?
In a world with many options for deploying applications, what is distinctive about VMware’s product? We spoke to VP Craig McLuckie, whose past endeavours include co-founding Kubernetes at Google, leading the Google Compute Engine team, creating the Cloud Native Computing Foundation, and co-founding Heptio, a company specialising in Kubernetes management which was acquired by VMware in late 2018.
According to McLuckie, it is all about the evolution of middleware. Traditional middleware is “spinning to the poles,” he said.
“What we’re seeing is a displacement of a lot of classic middleware capabilities into these polyglot, more progressive environments like Kubernetes. Some of it is getting lifted up into the world of Spring, and some of it's getting pushed down into the world of polyglot orchestration technologies.
“Developing is encapsulating business logic in code. Engineering is the mechanics of doing all the kooky things that you need to do to get that code into a production context. It spans everything from setting up your development environment to doing the heavy lifting of standing up continuous integration and delivery pipelines, and making sure that all of those pieces come together.
"What's unique about our perspective is when you start bringing those two worlds together in an elegant way. What we're doing is bringing a more API-centric way of provisioning all the things that a developer needs, directly into vSphere, so Kubernetes is now a part of the vSphere platform. You're able to rely on a set of modern APIs that developers can interact with to provision up those pieces,” he said.
The goal, as ever, is that “developers can just focus on running code. There's the ability to get from the developer's IDE into that pre- production context, and then you can have a rigorous continuous delivery process that delivers that into the infrastructure environment.”
While this makes sense for developers and admins familiar with the on-premises vSphere world, is it still justified now that there are many other ways of deploying containers to Kubernetes, especially in public cloud offerings like Amazon’s EKS, Azure’s AKS or Google’s GKE?
McLuckie told The Reg continuity is a factor. “It’s about bringing those workloads to the value of cloud services, rather than forcing a complete rethink,” he said. “Then the path forward for us is also creating value directly on the cloud providers IAAS infrastructure… we spend a lot of time working with organizations that are committed to a cloud future.
"But what they find very challenging is to bring their practical workloads into their cloud environment… for a lot of organizations they're still living in this twixt world, where some of their portfolio is homed in an on-prem facility, some of their portfolio is in a cloud facility.
"So consistency of experience is important and Spring brings a way for developers to think less about the underlying infrastructure, just rely more on the application level primitives, but you still have to reason about the mechanics from an operations perspective.”
He is also keen to state that Tanzu is not just for vSphere. “Obviously Tanzu is built for and around vSphere, we’ve worked on creating value through vertical integration through the vSphere stack. But the vision of Tanzu is not constrained to the vSphere environment. When we talk about our ambitions around things like our Tanzu application service for Kubernetes, you shouldn't think of that as being constrained to vSphere.
"It's also entirely relevant in AKS, EKS and GKE, those problems exist just as much in those environments, which is, what is the process to create that very clean controlled environment that enables developers to go from the IDE into production context?”
The answer is Anthos, cries Google's OnAir videogasm. But what is the question?READ MORE
Tanzu Application Service is what used to be Pivotal Application Service, an implementation of the Cloud Foundry platform where developers can deploy code with one command: cf push. Tanzu Application Service is well suited for deploying Spring Boot code, but the number of developers in the latest survey who are deploying to Kubernetes must increase the pressure for the ongoing work of adapting the service to run there. Any news on that?
“We don’t have a specific announcement about that at SpringOne. But what I can tell you is we’re making constant and significant progress towards bringing those tools together,” said McLuckie.
As a co-founder of Kubernetes, how does McLuckie reflect on where it is today? “Kubernetes has in many ways exceeded my expectations. We knew we had something that showed a lot of promise, and in many ways it’s materialised as we dreamed. From a K8s ecosystem perspective, there’s no question that it is becoming the new IAAS abstraction,” he said.
When Brendan Burns, another co-founder, proposed the idea of Kubernetes operators and custom resource definitions, “we all thought he was a little crazy”, but McLuckie now sees this as a breakthrough. “If you think about what Kubernetes is, it’s just a database and some smart controllers. The controllers read the database of what you want the world to look like, and then they have a scoped boundary where based on what they know and what they can do, they try to drive the world into that shape.
Kubernetes is no longer just running containers, you can use the API to provision up virtual machine instances, or pretty much anything...If we do our job right, I won’t be talking any more about Kubernetes in five years. I’m kind of tired talking about Kubernetes, I want to talk about what value can be built on top of it...
“It works really well for Linux application container orchestration but unlocking that, so you can effectively use a smart controller to drive anything into that shape, is becoming increasingly powerful. So we’re starting to see organizations using those Kubernetes abstractions to drive all kinds of things outside the boundaries of Kubernetes, that whole controller, reconciler, progressive way of thinking about building systems.
“In fact if you look at the way we’ve built the Kubernetes integration with vSphere, it’s entirely embracing that concept. Kubernetes is no longer just running containers, you can use the API to provision up virtual machine instances, or pretty much anything.
"We’re seeing Kubernetes emerging not just as an infrastructure service abstraction, but as a dominant control plane for driving workloads, whether those workloads are running in Linux application containers or pretty much anywhere. And that’s an absolute delight.”
The downside is that “it’s a fancy system and it has some really sharp edges.” This brings us back to the goal of simplifying the developer experience. “Creating a comfortable environment that uses the power of the system, that doesn’t force them to deal with all these sharp tools that can cut them all the time, is very important,” said McLuckie.
“If we do our job right, I won’t be talking any more about Kubernetes in five years. I’m kind of tired talking about Kubernetes, I want to talk about what value can be built on top of it.”
Kubernetes: built to disrupt, but not just for Google
What about those who say Kubernetes still runs best on Google Cloud Platform where it originated? “You’ll have to form your own opinion,” said McLuckie. “What I can say is that when we were building Kubernetes we were quite deliberate about this, we were motivated to build communities. My buddy Joe [Beda] and I had built [Google] Compute Engine and it was too little, too late. Amazon had achieved escape velocity. Our ambition was to disrupt, to create a second opportunity to capture workloads.
"The whole point was to bring the broader ISV community along with us. So our first port of call when were starting the project was Red Hat. We spent a lot of time working with IBM and Intel and a variety of organizations.
"Kubernetes is owned by the community. Every vendor will bring their own perspective, but the whole point of this was to bring ubiquity,” he said.
“Google no doubt has some great engineers, but I think it would be foolish to discount the efforts of folks like Bob Wise at Amazon or Brendan Burns at Microsoft. They've been on the journey as long as anyone.” ®