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.
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.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Xiaoju Car Service Terminal Technology
Tech hobby exchange and talent recommendations.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
