Knative: Powerful Building Blocks For a Portable Function Platform

July 24, 2018 Ryan Morgan

Think of the reasons you use open-source software. For many, it’s about access to a constant stream of innovation, freedom to run your software anywhere you want, and the ability to use great tech as a component of something bigger. At least that’s what I see from folks who’ve embraced Pivotal-sponsored projects like the Spring Framework, RabbitMQ, and Steeltoe. And sometimes, Pivotal is the one taking advantage of great open-source software. To transform how the world builds software, we want you to have all the compute abstractions necessary. For serverless workloads, that means Pivotal Function Service. To make that product amazing, we’ve partnered up with Google on the brand new Knative project.

It’s time to bring the functions paradigm to enterprise.

I’ll forgive you if you’ve tuned out the noise about serverless functions. It’s understandable. Maybe it’s because you’ve just deployed container runtimes or application platforms in the enterprise. Or, you don’t see obvious use cases that warrant an entirely new architecture and runtime paradigm. And it’s possible that you’ve ignored serverless chatter because its value has been constrained to only public cloud workloads.

Let’s look beyond the “only pay for what runs” and “resize images on demand” stories. Are your data or integration teams struggling to publish data change events used to sync data stores? Are you experimenting with lightweight APIs but struggling with heavyweight deployments? Would you like to perform real-time analytics on unpredictable network traffic behind the firewall? What about appending event-driven behavior to commercial software? All of those are cases where a function-oriented platform adds enterprise value.

Figure 1: There are multiple software abstractions available to developers

Look, your software can run in a lot of places. But no one would take an entire commercial ERP product and convert that into a set of four thousand functions. And you might avoid deploying a simple “mailing address lookup” function into a VM-hosted app server. There are ideal workloads for each of the compute abstractions. The important thing is to use the abstraction that offers the right velocity and supportability for a given workload. That’s the Pivotal Cloud Foundry 2.0 vision we shared with you last year at SpringOne Platform, and Pivotal Function Service helps complete the picture.

We invested in Knative because it offers a way to simplify the complex.

By itself, Kubernetes isn’t “simple” for deploying functions. Pivotal was already bought into the idea of Kubernetes as the underlying piece of a functions-oriented runtime; it formed the foundation of our project riff. We knew something was needed on top of Kubernetes. That’s the gap Knative fills. It’s a set of building blocks to make it simpler to use Kubernetes and Istio for your functions.

When Google approached us in February about this new project they were working on, we were very interested. We like working together to solve business problems. Our team committed a number of full-time employees to improve the Serving project within Knative, which runs the dynamic workloads. We took the thoughtful eventing model from project riff and helped embed that in Knative too. And we contributed to the Build project, including the addition of Cloud Foundry Buildpack support. The first non-Google pull request came from us, and our ongoing investment conveys our belief that this initiative matters.

Pivotal has been instrumental in the design and delivery of Knative. Pivotal's deep understanding of enterprise customers influenced the direction of Knative, and their hands-on technical contributions have meaningful impact. We appreciate this partnership, and are excited that Pivotal plans on commercializing Knative components on Kubernetes with their Pivotal Function Service product.” —DeWitt Clinton, Google Cloud

Why does Knative matter? Because until now, the serverless landscape has been muddled. There’s still confusion about use cases and who offers what. There’s been some obvious success for public cloud vendors, but the overall market for function runtimes is fragmented. Knative stands to unify that.

If you want serverless-style functions on your own infrastructure and it feels complicated, know that it doesn’t have to be! We’re excited to share that the upcoming Pivotal Function Service will be based on riff and Knative, and use its innovation to unleash significant value. Get a consistent experience deploying and managing functions—written in any programming language—on any infrastructure. Unlock those new enterprise use cases, regardless of where your apps and data reside. That’s huge.

Figure 2: Some of riff’s components move into Knative, others stay independent. Read our post for more details.

Pivotal Function Service is coming. Here’s how to get ready.

The early return on serverless looks promising. Companies who have made the investment see gains in productivity and velocity. But there’s also newfound complexity for your architecture, security posture, and “day 2” operations. Fortunately, these are areas where Pivotal has proved to solve problems.

What should you do?

Try out Spring Cloud Function. This project is now generally available, and offers your teams a great way to get started with event-driven, logic-oriented functions that can still tap into the power of Spring Boot.

Start using Pivotal Container Service (PKS).  Knative extends and builds on Kubernetes and Istio. PKS has as one of its product pillars “constant compatibility” with Kubernetes. This means that we contribute upstream, we don’t fork, we provide value below, above and around K8s. On top of that, we offer deep NSX-T integration, integration with the Open Service Broker, and multi-cloud hosting—both vSphere and public clouds including GCP. While Knative is still early, and doesn’t yet integrate with PKS, it will. If you are interested in Knative, you have to have maturity with K8s. Start to learn, and grab the PKS bits here.

Get started on App Transformation. There’s no existing software that “lifts and shifts” to a functions runtime. It’s a different architecture and mindset. Right now, you can engage Pivotal on an AppTx project where we help you decompose monolithic systems, and learn the key strategies for building services that are function-friendly.

Come to SpringOne Platform. We’ll have demonstrations of Pivotal Function Service, and a whole track of content dedicated to serverless computing. Learn from experts, ask questions, and help us all get smarter on what this paradigm means for enterprises.

We’re happy to partner with Google and others on Knative because it represents sound engineering used to solve legitimate business challenges. Try it out, spin it up using riff, and contribute yourself. Oh, and we’re hiring!

About the Author

Ryan Morgan

Ryan Morgan is the VP of Engineering for Pivotal’s Application Platform group, which includes the teams behind the popular Spring Framework and RabbitMQ open source projects. Ryan has nearly 20 years of enterprise software experience, starting as a developer on the popular Apache Web Server and later acting as the Chief Software Architect and co-founder of Hyperic, a systems monitoring and reporting tool acquired by SpringSource in 2009. Upon SpringSource's acquisition by VMware in 2010, Ryan lead the commercial engineering team on delivery of VMware vFabric. Ryan holds a bachelor of science in computer engineering from the University of Nebraska. He was awarded the young alumni award for the University of Nebraska in 2010 and sat on the College of Engineering's technical advisory board from 2011 to 2014.

Follow on Twitter Visit Website More Content by Ryan Morgan
Previous
DISA: New STIGs Include Ubuntu, an Embedded Operating System. Because the Best OS is the One You Don’t Have to Worry About.
DISA: New STIGs Include Ubuntu, an Embedded Operating System. Because the Best OS is the One You Don’t Have to Worry About.

Defense Information Systems Agency (DISA) recently certified a new OS for use: Ubuntu, from Canonical. This...

Next
Should that be a Microservice? Part 5: Failure Isolation
Should that be a Microservice? Part 5: Failure Isolation

When choosing an application architecture, six factors can help you decide when to use microservices. This ...