Google submitted Knative to the Cloud Native Computing Foundation (CNCF) for review as an incubation project, which kicks off the process of donating the Knative brand, IP, and code to the industry-led organization. .
This move is a huge step forward in linking one of the most valuable add-ons for Kubernetes to the community that supports Kubernetes. The move to CNCF could spark more participation as it moves from a Google-led project to an industry-led project. Even so, there have already been many contributions to Knative, including by Red Hat, IBM, VMware, SAP, and TriggerMesh.
Kubernetes + Knative = 3
Mark has a long history in emerging technologies and open source. Prior to co-founding TriggerMesh, he was Executive Director of the Node.js Foundation and an executive at Citrix, Cloud.com and Zenoss where he led his open source efforts.
Knative is one of the best ways to provide a development environment on Kubernetes that makes cloud native developers more productive. Developers get faster deployments than they could otherwise by using only Kubernetes. It provides a framework for building serverless experiences for development, testing, and deployment.
Cloud native developers can deploy code faster with Knative, without worrying about scaling or spending time configuring Kubernetes network routes. Additionally, businesses can build their serverless environments with containerized applications, giving businesses a way to maximize the use of their own environments and then decide when and if to move to the cloud.
Knative brings a lot to Kubernetes in the form of reusable components designed to automate day-to-day operations. Knative can deploy applications from their source code to containers, route traffic between services using modern ingress gateways, scale resources as demand increases or decreases, and forward event streams to a number. unlimited cloud providers. Additionally, there are few limits for developers, who can use any programming language or framework they are most comfortable with.
Critics point out that Kubernetes has a steep learning curve, especially for developers. But Knative offers a serverless approach that dramatically reduces the need for those who develop and deploy code to be Kubernetes experts. Operators benefit from consistent container management and the flexibility to deploy any image as needed.
Notable advocate of native cloud Kelsey Hightower, from Google Cloud Platform, says: “If Kubernetes is a power grid, then Knative is its switch.” Knative provides greater control over complex systems by providing a means to create loosely coupled microservices deployed as serverless functions rather than monolithic applications. Additionally, these microservices can be event driven by activities in virtually any cloud or private data center system.
Advantages of Knative in the private data center
With Knative, the benefits common to public cloud service providers, like Amazon Lambda and Google Cloud Run, translate into private data center users as well. Serverless platforms in the public cloud handle load and perform functions based on triggers. The only hard limit on the number of function instances is the capacity of the cloud.
Serverless deployments are theoretically unlimited, but so are their costs. If too many function trigger events occur, the costs can increase dramatically. Businesses with existing infrastructure investments that want predictable costs or operate at an extreme scale, like DropBox, can run their native cloud infrastructure using Kubernetes and Knative.
In Kubernetes, services provide an abstraction for deploying applications at runtime. Developers deploy their code without having to worry about whether it’s running in an Amazon EC2, Google Compute Engine, or bare metal Kubernetes instance in a private data center. They can be scaled down to zero when not in use. Knative simplifies the Kubernetes components needed to manage containerized applications and provides easy ways to grow and shrink application instances without the need to manage an underlying infrastructure.
Knative Eventing is a lesser-known component of Knative used to create event architecture. Through loosely coupled relationships, applications can act on events across the enterprise. Knative conforms to the CNCF CloudEvents specification, which allows any language to create, send, and interact with events. As a result, you can quickly develop applications to respond to events in other systems.
Knative is Kubernetes distribution agnostic as long as it is compliant. It is also agnostic whether deployed in the cloud or in on-premises data centers. In a recent article, the famous AWS cloud economist Corey quinn claims a “broken promise of serverless,” pointing out that part of the problem with serverless, especially AWS Lambda, is a lack of portability. By making your target Kubernetes rather than a single cloud provider, you can solve this problem.
Knative is an ideal example of a valuable part of the stack in a new era of composable infrastructure. Rather than buying a full stack, you can choose a combination of open source and enterprise software running in various combinations of private data centers and cloud providers. You can use Kubernetes for free or through an enterprise subscription – Rancher, VMware, or Red Hat OpenShift – or through a cloud provider. You can also select a provider for Knative, such as VMware or TriggerMesh. However, you can maintain your infrastructure in a cloud or on premise, if you decide to use or consume open source software in addition to commercial offerings.
Knative has always been open, but its move to CNCF, with its experience of managing open source projects in a business neutral manner, will make Knative a true industry-led option for serverless projects.
Open source is a ubiquitous way to deliver today’s infrastructure and cloud native software, from Linux and Kubernetes to solutions at virtually every level of the software stack. However, you shouldn’t just choose an open source option because it’s free; licensing costs, or the lack of them, are a red herring. The real opportunity is the freedom to use the software however you want and to modify it if you want.
Many enterprise infrastructure software vendors offer commercial and open source products, giving businesses the flexibility to select the solution that best meets their needs. This is especially true in the cloud, as Confluent (Apache Kafka), Elastic, Kong, MongoDB, and others besides Knative all come as open source or enterprise subscriptions.
Open source software offers many benefits, ranging from the ability for developers to revise code and add important functionality without having to hire a third party company to rework the software to meet your department’s needs. In addition, it offers a means of massive collaboration in a transparent and open forum that often moves faster than standard traditional commercial software; and things generally move faster in the cloud.
The future of Knative, company-owned event architecture
Virtualization has become a basis for sharing infrastructure, from storage virtualization to hardware virtualization of servers using Xen, KVM and VMware. Infrastructure as a Service (IaaS) is commonplace and made possible by virtualization. For a brief period, Platform as a Service (PaaS) – like CloudFoundry and AWS Elastic Beanstalk – was all the rage. Even the popular Docker container technology was created by a PaaS company, DotCloud, and later renamed Docker Inc. However, containers seem to be the right level of abstraction for the application layer and will last for some time.
Containers (both persistent and ephemeral serverless deployments) provide the building blocks of decoupled services to build cloud-native applications. Additionally, containers can be part of an event architecture comprised of events that provide real-time data flow to create integrations between systems.
At TriggerMesh, we have been a user and part of the Knative development community. As a result, we have seen the powerful capabilities of Knative Serving to provide FaaS and Knative Eventing for building event applications. We use Knative events in the same way that AWS Event Bridge is used as a serverless event bus to trigger AWS Lambdas and other AWS targets. We also advocated for open source and released the native TriggerMesh Cloud integration platform to KubeCon in October, providing what we hope will become the de facto event integration platform for Kubernetes.
When you assess your infrastructure options, Knative and Kubernetes form a powerful combination to help you create an event infrastructure that is open source, flexible, and provides a solid foundation for your cloud native initiatives. As a result, operators benefit from a reliable and easy-to-maintain cloud native platform, and developers have a rapid deployment environment for their serverless applications.
The New Stack is a 100% subsidiary of Insight Partners, an investor in the following companies mentioned in this article: Docker, Hightower.
Featured image via Pixabay.