Knative Cloud Native Application Development Guide

Since the Knative project was opened to the public in 2018, it has attracted close attention from developers. Knative provides a complete set of application Serverless choreography services on top of Kubernetes, allowing application developers to focus more on business logic without the distraction of the underlying infrastructure.

An important goal of Knative is to develop a cloud-native, cross-platform standard for Serverless choreography. Its advantages are:

  • Serverless scheduling based on Kubernetes;
  • Istio is used to access services, manage service routes, and publish gray scales.

In May this year, we launched a series of articles on Knative, in which Niu Qiulin (Dongdao), technical expert of Ali Cloud container platform, and Li Peng (Yuan Yi), senior development engineer of Ali Cloud container Platform, introduced the use of Knative and analyzed its internal implementation from shallow to deep based on their own practical experience.

In order to further facilitate your understanding of Knative, we have compiled 25 key articles in the series into a book “Knative Cloud Native Application Development Guide”, which is open to share with you, hoping to help more technology enthusiasts quickly master the application Serverless programming skills of Knative. Unlock the mysteries of Knative.

Why are you reading this book?

For developers, this book allows you to quickly master Knative application Serverless orchestration skills; For managers or decision makers, the introduction and case studies in this book provide insight into why enterprises need to apply Serverless orchestration; How to make Serverless arrangement for common applications; The relationship between application choreography and IaaS serverless computing and why It is Knative.

This book is mainly divided into three parts: introduction, advanced and actual combat.

  • The introduction will help you quickly grasp the core concepts and key designs of Knative and give you a clear idea of what cloud-native choreography should be capable of.

  • The advanced part will give a more in-depth introduction to the advanced functions of Knative core modules and analyze how Knative is built on Kubernetes.

  • The actual combat chapter gives a lot of cloud native combat based on Knative, so that you can have a more intuitive sense of the use of Knative.

In the era of All in Cloud, the ability to control Cloud has become the core competitiveness of enterprises, and Cloud is reshaping enterprise IT architecture. Every enterprise is thinking about how to maximize the power and value of the cloud. However, in the process of cloud management, enterprises have to directly face numerous cloud vendors and various complex cloud products, such as the most basic IaaS resources. The same VM has different features, OpenAPI and creation and destruction modes in different cloud vendors.

This creates enormous complexity and discourages enterprise cloud initiatives. Therefore, both cloud enterprises and cloud service providers are trying to find a compromise point, which can not only help enterprises to go on the cloud, but also help cloud manufacturers to release cloud capabilities.

The formation and improvement of cloud original concept

Cloud concept is gradually formed and improved in the above process. This concept is to harmonize the evolving unified standard for cloud services among all participants. It can help enterprises to launch cloud services and help cloud vendors to release cloud capabilities. Cloud native aims to connect cloud vendors and cloud enterprises in a more standardized way:

  • This approach for enterprises to reduce the cost of cloud and cross cloud, so that enterprises always retain the ability to negotiate with cloud manufacturers;
  • For cloud vendors, because of the low cost of enterprise cross-cloud migration, it is easy to gather a large number of users as long as they can provide cloud services with higher cost performance.

Cloud native is constantly promoting the virtuous circle of the whole system: it not only enables enterprises to keep the ability to choose, but also enables excellent cloud vendors to serve more customers quickly. If customers’ business services can flow between cloud vendors as cheaply as water, cloud vendors’ services can flow between customers like money. It’s a win-all situation.

Kubernetes has become the de facto standard for distributed resource scheduling and orchestration, masking underlying infrastructure differences and helping applications run easily across different infrastructures.

At present, cloud ecosystem has built a large number of upper-layer service support frameworks on top of Kubernetes. For example: service grid Istio, Kubeflow, operators of various upper-level services, and so on. We can see the beginning of the emergence of cloud-native operating systems built on top of Kubernetes, which is the best time for developers and greatly increases the rate of business innovation.

Serverless appears

With the popularity of Kubernetes, developers no longer need to care about the infrastructure and have more energy to focus on the core logic of the business, which is the emergence of serverless computing.

Serverless is a change in the IaaS layer. Users do not need to prepare redundant IaaS resources in advance. They only need to automatically expand the capacity when they are in use. Because what the application really needs is on-demand allocation of IaaS resources, rather than long-term retention of IaaS resources.

The term Serverless translates from Serverless, which is a layer of Serverless orchestration of applications in addition to the per-volume allocation of basic IaaS resources.

The inevitability of Knative’s emergence

The on-demand allocation of IaaS resources is just the beginning. When IaaS completes Serverless evolution, what should the application layer do? For example: What capabilities does a common application need to be able to use IaaS resources on a regular basis? Does Serverless orchestration of applications ensure that applications can be easily moved across clouds between different cloud vendors?

Knative is a cloud native solution based on Serverless orchestration.

Knative is built on Kubernetes and Istio. The cross-cloud capabilities of Kubernetes enable enterprise applications to have cross-cloud migration capabilities. In the era of multi-cloud, hybrid cloud and cloud side interworking, the Knative application Serverless cloud native orchestration capability can greatly reduce the cost of cloud on the enterprise.

How to play Knative on the cloud in the cloud Native era?

The book “Knative Cloud Native Application Development Guide” contains a total of 8 specific Knative development practice cases, and gives many Knative based cloud native combat. We talked about how to properly use Knative’s Build, Serving, and Eventing components to simplify our code. It visually shows how to use Knative step by step to develop simple and efficient cloud native applications, so that you can have a more comprehensive sense of Serverless through Knative practice.

We look forward to “Knative Cloud Native Application Development Guide” to help more developers truly open the Serverless door in the cloud native era, easily solve the head-on problems, and avoid stepping on the pit!

Knative Cloud Native Application Development Guide

“Alibaba Cloud originators pay close attention to technical fields such as microservice, Serverless, container and Service Mesh, focus on cloud native popular technology trends and large-scale implementation of cloud native, and become the technical circle that knows most about cloud native developers.”