AutoNavi adopts the serverless architecture to support its core business. During the peak hours of the 2020 Chinese National Day, AutoNavi delivered outstanding performance. The serverless architecture greatly contributed to the outstanding performance. The architecture processed about 2,000,000 function invocations per minute during the peak hours. This proves the value of serverless technologies and the feasibility of application scenario expansion.
Customer introduction
During the 2020 Chinese National Day, AutoNavi set a record. As of 13:27:27 on October 1, 2020, the number of active users of AutoNavi exceeded 100 million on that day. Compared with the statistics on October 1, 2019, this record was reached 221 minutes earlier.
Customer requirements
The core business of AutoNavi is to provide mapping, navigation, and location-based services that allow users to go anywhere, anytime. AMAP, the mobile app of AutoNavi, generates large volumes of traffic when it provides these services to its users. To support its core business, AutoNavi has adopted the Node FaaS framework for the scene, route planning, and navigation stop pages in the app.
AutoNavi has been developing an increasing number of new features. It has upgraded from a navigational tool to a platform that provides complete travel services and daily life information. AutoNavi provides users with information on daily services along travel routes to bring a more comprehensive user experience. For example, AutoNavi provides the Scenario Recommendation Card feature, which offers relevant information based on the travel requirements of users. To provide an optimal user experience, this feature must support fast iteration and be flexible in terms of user interface (UI) changes. Therefore, to update its services in a fast and flexible manner, AutoNavi stores card UI templates in the cloud and renders a UI to the client when a service is introduced to the client.
Solution
After detailed evaluation and judgment, the team at AutoNavi and Alibaba categorized this scenario as a stateless service. Considering the mature serverless ecosystem of Alibaba Cloud, AutoNavi determined to integrate the Node FaaS service of Function Compute to develop the Scenario Recommendation Card feature in the frontend. The card capabilities of UI template acquisition, data request aggregation and logic processing, and schema generating are all realized at the FaaS layer. The client directly renders and displays data based on the schema issued by the service to achieve the goal of being more lightweight and flexible. This serverless architecture delivered outstanding performance during the peak hours of the Chinese National Day. The architecture processed more than 1 million access requests per minute and more than 20,000 queries per second (QPS). The service success rate exceeded 99.99% and the average response time was less than 60 ms. The service stability provided by this solution was beyond expectations.
Benefits
The serverless architecture has stood the test of the preceding business scenarios. Compared with traditional application, the serverless architecture has the following benefits:
Simplicity and high efficiency
For traditional applications at the Backend for Frontend (BFF) layer, as time goes by and business demands increase, the BFF layer gradually becomes thick. The piled-up code also becomes redundant. The module developer changes with personnel changes. After the iterative changes, the BFF layer will gradually become a module that no one knows and dares to move.
Assume that the BFF layer is converted to the Serverless for Frontend (SFF) layer. In this case, the responsibilities of the SFF layer becomes simpler, requiring no O&M and lower costs. These are the capabilities of the serverless architecture that can help frontend developers further drive business growth. Developers no longer need the thick BFF layer, but need only an interface or the SFF layer to implement features. This resolves the issue where a minor change causes major impact. If the service is stopped or no traffic occurs, the serverless architecture automatically scales in the number of instances to zero. In this case, developers can identify the function of a specific interface, and then delete the function of the interface to improve resource utilization.
AutoNavi has rich experience in serverless applications and has realized the complete connection between the FaaS layer and the R&D system. Therefore, the time is shortened from the full lifecycle of development, testing, gray release, and launch to standardized capabilities, such as the throttling, elasticity and disaster recovery, by 40%. This greatly improves work efficiency.
High elasticity and cost efficiency
By analyzing the collected traffic trend data, AutoNavi notices that the difference between the peak traffic and the low peak traffic is obvious in the map scenario. Traditionally, AutoNavi needed to reserve a large number of computing resources to handle traffic surges during peak hours. However, redundant servers incur additional costs during off-peak hours.
To solve this problem, AutoNavi used Function Compute to provide auto scaling based on traffic changes. However, the scaling speed is difficult to increase and the higher scaling speed feature has always been exclusive to large enterprises. Function Compute can start within milliseconds and provide fast scaling to more enterprises. This helps these enterprises use computing resources more flexibly and at lower costs.
Observability
Observability is a prerequisite attribute for an application diagnostic platform. This attribute allows users to observe the changes of response time, usage rate of resources, and full-link invocation of system applications so that the users can identify application issues with efficiency. Function Compute has seamlessly integrated with Log Service, Cloud Monitor, Tracing Analysis and CloudFlow. To use the preceding features, users need only to complete the configurations once. This reduces learning costs and simplifies the application diagnosis process.
The serverless architecture is becoming increasingly popular across various industries, and it is beginning to be implemented for large-scale applications. The standard implementation of serverless architecture in AutoNavi helps facilitates business iteration and innovation. For front-end developers, it further activates the production potential of developers and improves their capabilities and confidence. From its capability pilot at the beginning of 2020, to the success achieved during the 2020 Chinese National Day, the travel service of AutoNavi has been fully integrated with Function Compute. This has laid a solid foundation for AutoNavi to migrate all of its services to the cloud in the near future.