Cloud Computing 13 min read

How Serverless Transforms Development: From FaaS to KNative in Practice

This article explains the fundamentals of Serverless, compares FaaS and BaaS, outlines its advantages and drawbacks, showcases typical use cases, and details Didi's terminal team's real‑world implementation using KNative on Kubernetes.

Xiaoju Car Service Terminal Technology
Xiaoju Car Service Terminal Technology
Xiaoju Car Service Terminal Technology
How Serverless Transforms Development: From FaaS to KNative in Practice

What is Serverless

Traditional web applications follow the MVC model, separating front‑end (view), back‑end (controller) and database (model) across different server clusters. To handle high concurrency, load balancers distribute traffic to multiple machines, requiring operations teams to manage deployment, monitoring, and scaling. Serverless abstracts these concerns: developers write function code and the platform automatically provisions, scales, and manages the underlying infrastructure.

The first Serverless platform, Amazon Lambda, launched at the end of 2014, allowing developers to upload code or packages and instantly publish services. Subsequent offerings include Google Cloud Functions, Azure Functions, IBM Cloud Functions, Alibaba Cloud Function Compute, and Tencent Cloud Serverless. Open‑source frameworks such as Apache OpenWhisk, Spring Cloud Function, Lambada Framework, and webtask also emerged. The prevailing definition of Serverless combines Function as a Service (FaaS) and Backend as a Service (BaaS).

FaaS and BaaS

Before introducing FaaS and BaaS, it is useful to understand BFF (Backend for Frontend), a logical layer often built with Node.js to aggregate, cache, and transform data for front‑end consumption. While BFF solves many front‑end challenges, it also raises operational complexity, prompting the need for FaaS and BaaS.

FaaS provides backend capabilities through functions, automatically handling scaling and resource allocation based on traffic. AWS Lambda is a prominent example of a successful FaaS platform.

BaaS offers managed backend services—databases, storage, message queues—so developers can use them without installing or operating the infrastructure.

Characteristics of Serverless Technology

Serverless offers several advantages:

Pay‑as‑you‑go : Costs align with actual usage, avoiding wasteful idle resources.

Event‑driven : Functions run only when triggered, reducing continuous resource consumption.

Reduced operational burden : Developers focus on code; provisioning, scaling, and monitoring are handled by the platform.

Automatic scaling : Services elastically expand or shrink in response to traffic spikes.

It also has drawbacks:

Vendor lock‑in : Different providers implement Serverless differently, making migration challenging.

Cold‑start latency : Initialization can take 100–700 ms, varying by language (Node.js is typically fastest).

Serverless Application Scenarios

Web applications : Ideal for RESTful APIs, server‑side rendering, and high‑QPS workloads.

Internet of Things : Event‑driven, high‑volume data processing aligns well with Serverless characteristics.

Data and event processing : Suited for scheduled tasks and media‑processing pipelines triggered by events.

Practice in Didi’s Terminal Team

The Didi “Xiaoju Car Service” terminal technology team formed a Serverless FT in July 2019. After evaluating open‑source Kubernetes‑based frameworks such as Kubeless, Fission, OpenFaaS, and OpenWhisk, they selected KNative as the foundation.

KNative, announced at Google Cloud Next 2018, is a Kubernetes‑based platform that standardizes serverless workloads by integrating container building, workload management (including dynamic scaling), and an event model.

By September 2020 the team delivered a KNative‑based Serverless platform (v1.0) named “Pangu Serverless Engine”. It runs on Didi’s cloud infrastructure, using Kubernetes + Istio + KNative for the FaaS layer, and integrates internal services such as MySQL, Dubbo, Redis, Gift, and MongoDB for the BaaS layer. The platform provides a CLI and VS Code extension for local development, packaging, and deployment, supports micro‑applications, full‑stack apps, and SSR, and offers configurable scaling, cold‑start options, rapid rollbacks, gray releases, and integrated monitoring.

Conclusion

Serverless enables front‑end engineers to move toward full‑stack development, reducing operational overhead and allowing deeper involvement in business logic and data processing, thereby increasing their value to the product.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

FaaSServerlesscloud computingBaaSKnative
Xiaoju Car Service Terminal Technology
Written by

Xiaoju Car Service Terminal Technology

Tech hobby exchange and talent recommendations.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.