Best Practices in AutoNavi: Benefits of Serverless on Large Scale Implementations
Step up the digitalization of your business with Alibaba Cloud 2020 Double 11 Big Sale! Get new user coupons and explore over 16 free trials, 30+ bestselling products, and 6+ solutions for all your needs!
Released by Alibaba Cloud Serverless
By He Yiran, front-end technical expert of Alibaba. He joined AutoNavi in 2016, in charge of the R&D of AutoNavi and the implementation of Serverless technologies.
As the Serverless concept becomes more popular, developers move into a trial stage, and more implementation scenarios are being developed. Early doubts about Serverless in its scale and driven modes are gradually dissipating. Users are using Serverless technology in more core scenarios to improve efficiency, flexibility, and cost optimization. As a leader in map applications, AutoNavi (also known as AMAP) is constantly exploring new technologies to improve the travel experience for users. It has implemented the Serverless technology in its core business on a large scale and achieved remarkable results.
On the first day of the “Travel Festival of 2020 Chinese National Day”, AutoNavi created another new record, with active users exceeding 100 million on that day more than three hours earlier than that of last year.
During this period, Serverless, as one of its core technical scenarios, successfully withstood the traffic peaks. Besides, business supported by Serverless performs smoothly well during traffic peaks, with nearly 2 million function calls per minute. This proves the basic technology value of Serverless again, and further expands the technical scenarios.
Independent travel is the core service of AutoNavi, which involves travel-related requirements and carries the largest volume of user traffic within AutoNavi. The following figure shows some scenarios of Node FaaS in the core business of independent travel. They are main scene page, route planning page, and navigation end page from left to right.
AutoNavi expanded its functions from providing navigation service to providing travel service and life information service. The expanded service scenario in travel-related life information service brings users a more comprehensive experience. The recommendation card above aims to recommend travel information based on users’ travel intentions to improve user experience. This card is equipped with functions of fast iteration and high flexibility of style adjustment. Therefore, storing card-style templates in the cloud and rendering them to the client by service delivery is undoubtedly the best choice, meeting the needs of fast and flexible business iteration.
After solution evaluations, this scenario type was estimated as stateless service. Based on the mature Serverless ecosystem of Alibaba Cloud, AMAP finally chose to integrate the Node FaaS service of Alibaba Cloud’s Function Compute to build scenario recommendation card service for travel front-end. The card capabilities of UI template acquisition, data request aggregation and logic processing, and Schema generating are all realized in the FaaS layer. The client directly renders and displays data based on the Schema issued by the service so as to achieve the goal of being more lightweight and flexible.
How does Serverless work during the peak hours of the “Travel Festival” during the 2020 Chinese National Day (Golden Week)?
The overall service success rate is greater than 99.99%, with a total of more than 1,000,000 triggers per minute and Query Per Second (QPS) of more than 20,000. The average service response time for each scenario is less than 60ms. Service stability has exceeded expectations.
From the support of above business scenarios, we can see the excellent performance of Serverless. What are the benefits in using Serverless since traditional applications can bring the same experience?
Simpleness and Efficiency
For traditional Back-end For Front-end (BFF) layer applications, as time goes by and business demands increase, the BFF layer also gradually becomes thick. The piled-up redundant code evolves into a nightmare for developers, with a minor change causing major influence. As the iterative change of personnel, the developer of the module will also change, and the BFF layer will gradually become a module that no one knows and dares to move.
What is the consequence when the BFF layer is converted to the Serverless For Front-end (SFF) layer? The responsibilities of SFF will become simpler, with zero O&M and lower costs. These are the capabilities of Serverless that can help front-end developers further realize their production potential. Developers no longer need a thick BFF layer, but only need an interface or SFF to implement functions, naturally solving the problem above. If the service is stopped or no traffic occurs, the instance will automatically adjust to zero. In this case, developers can easily tell the function of a specific interface, and then delete the function of the interface to improve resource utilization.
Amap is very advanced in the Serverless application. It realizes the 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 flow control, elasticity and disaster recovery, by 40%, greatly improving human efficiency.
Elasticity and Cost
Based on the traffic trend data, we can observe the traffic characteristic of the map scenario. The difference between the peak traffic and the low peak traffic is obvious. According to traditional applications, the resource preparation should be based on the highest traffic peak. Therefore, in the low traffic peak period, many machines will be redundant, which wastes the cost.
In response to the above situation, AMAP uses Alibaba Cloud’s Function Compute to perform automatic scaling according to traffic changes. However, it has always been exclusive to large enterprises because the improvement of scaling speed is complicated. Now, by taking the millisecond-level start advantage, Alibaba Cloud’s Function Compute bring users the fast-moving capability of scaling to help them elastically utilize computing resources and greatly reduce their costs.
Observability is an essential attribute of diagnosis platform for launched applications. It helps users observe the changes of response time, resource usage, and full-link calls of system applications to quickly diagnose bottlenecks in system applications. Alibaba Cloud Function Compute initially and perfectly integrated with Log Service, Cloud Monitor, Tracing Analysis, and Serverless Workflow. Users only need to configure it once for full functions, greatly reducing the learning cost of users. Thus, the rapid diagnosis of applications is realized.
The large-scale implementation of Serverless has begun and more scenarios are being developed for various industries. The large-scale employment of Serverless in AMAP allows faster and more flexible business iteration, creating a prerequisite for business innovation. For front-end developers, this further activates the production potential and improves their self-confidence. From starting its travel business pilot in early 2020 to developing independent travel scenario during the “Travel Festival” of the 2020 Chinese National Day, AMAP has accumulated valuable experience in cloud native deployment. In this process, AMAP has integrated with Alibaba Cloud’s Function Compute, laying a solid foundation for future business of overall migration.