In Xianyu, the serverless architecture empowers the cloud-based integrated programming model. By virtue of this model, the people-days required to develop have been reduced by more than 30%. At the same time, the bug rate has been decreased by 20% because we use less code that is more standardized.
Xianyu (Idle Fish), is a used goods platform that relies on the e-commerce system of Alibaba Group. As the secondhand market is complex, this platform provides unique features to meet unique user demands. Based on the e-commerce system of Alibaba Group at the underlying layer, Xianyu strives to explore a more rapid and flexible R&D system at the presentation layer and service layer.
- The boundaries of the user interaction layer, service layer, and domain layer are not clearly defined. As a result, a big team is required to complete development projects even if they are small projects. This results in high collaboration costs and long development and debugging cycles.
- Large-scale applications exist on the server side. The R&D, release, and O&M processes are tightly coupled with each other. This poses a big challenge for system stability because a single service issue can affect an entire application.
- O&M costs are extremely high. To ensure service stability and availability, Alibaba has developed specifications and rules for all released applications. Each application must comply with these specifications and rules even if the application is accessed only once or twice a day. Therefore, regardless of how many times they are accessed a day, each application consumes resources. A single application may consume limited resources, but all applications together may consume a large number of resources. For large-scale applications, the O&M costs are extremely high because such applications must follow stricter publishing processes and procedures. In addition, it takes at least six hours for the applications to publish a release.
Why Alibaba Cloud
To cope with the aforementioned issues, Xianyu decided to adopt the serverless architecture provided by Alibaba Cloud. This architecture can help improve the O&M capabilities of applications, making it possible for Xianyu to overcome the limits of the speed, stability, and quality of traditional large-scale applications.
To implement cloud native and the serverless architecture, Xianyu first used Flutter in the hybrid project development system and the high-performance component library. Then, Xianyu focused on the key challenge of the serverless architecture, including the cloud-based integration for the R&D system and the server-side architecture for the service assembly layer.
Based on the Flutter framework, Xianyu has optimized its app architecture and offered innovative solutions to increase R&D efficiency for both Android and iOS technology stacks. Furthermore, Xianyu has introduced the Flutter + serverless solution, aiming to resolve multiple collaboration issues among team members.
With the introduction of the serverless architecture, Xianyu is expected to see a big improvement in the efficiency of R&D.
Based on Alibaba Cloud's serverless architecture, Xianyu has made the following improvements:
- The Nexus API
As the integration framework of the cloud-based programming model, the Nexus API is designed to integrate the programming models of Flutter and Function as a Service (FaaS) into a unified platform that integrates the UI, interaction, data, and logic.
- The command-line interface (CLI) tool
This tool is used to make details of FaaS development transparent to client developers during the integration development process on the cloud. This standardizes the FaaS development experience for clients and allows clients to locally develop applications.
- Backend as a Service (BaaS)
Xianyu is gradually simplifying its capabilities in basic services such as object storage, messaging, and search. At the same time, Xianyu has built a metadata center for services at the domain layer. The simplified capabilities and the existing services at the domain layer enable client-side developers to quickly assemble services.
- Integrated cloud-based projects
With the success of Flutter, Xianyu has established a cross-terminal R&D system that uses Flutter as the primary tool and the HTML5 player as the secondary tool on the client side. This allows developers to unify Android and iOS technology stacks.
The serverless architecture is not a silver bullet, but it matches the service layer and applies to splitting traditional large-scale applications at the service layer. For Xianyu, the next step is to apply the serverless architecture to large-scale applications.
Function Compute: A secure and stable, elastically scaled, O&M-free, pay-as-you-go, serverless computing platform.