Background information
Timing is an online education and social app that is produced by Wuhan KrCell Co., Ltd. Different from traditional online learning apps, Timing provides various online education services that have social attributes, such as Timing self-study room, library learning, video clock-in, learning diary, learning contract-based group, and learning services. Timing helps users find their pace of learning and achieve learning objectives.
The Timing app was created based on a PHP monolithic architecture. In 2020, Timing attempted to build a self-managed microservices model and application performance management (APM) system based on open source projects. However, the model and the system failed due to various factors such as high technical barriers and insufficient manpower. Timing is subject to traffic fluctuations, with peak hours concentrated in the evenings and holidays. In early 2020, distance learning became an important teaching method due to the COVID-19 epidemic. The peak traffic of Timing during this period of time was four times higher than the peak traffic before the epidemic occurred. However, business pressure and O&M costs sharply increased because no full-time O&M engineers are available.
Challenges
The following table describes the challenges faced by Timing. The table also describes the benefits of SAE.
Challenge | Benefit |
Microservices architectures and O&M operations are complex. | SAE supports microservices frameworks such as Spring Cloud and Dubbo, and provides maintenance-free microservices capabilities. This helps Timing reduce manpower costs. |
The development iteration efficiency is low. | SAE provides various features and services, including application release, application management, service governance, auto scaling, one-click application start and stop, and application monitoring. The scheduled auto scaling policies provided by SAE help Timing handle traffic surges with ease. |
The resource utilization is low. | You are charged for the SAE resources that you use. SAE provides an instance type of 0.5-core CPU and 1-GB memory, which can significantly improve resource utilization. |
Solution
The following figure shows the solution that is used by Timing. 
After Timing migrated its business to SAE, Timing no longer needs to retain Elastic Compute Service (ECS) resources. The PHP monolithic architecture is converted to the Spring Cloud microservices architecture. The online education services of Timing such as self-study room and library are split into independent applications and quickly deployed to SAE. The independent applications include self-study center, and library center. SAE provides one-stop hosting capabilities to manage the lifecycle of applications, such as application release, application management, and service governance. SAE helps Timing to focus on business development and simplify O&M operations.
Timing configures auto scaling polices based on its business requirements to automatically respond to traffic surges. This helps reduce costs and improve O&M efficiency.
Timing can quickly identify and resolve issues by using the SAE monitoring feature that is integrated with Application Real-Time Monitoring Service (ARMS).
Effect
Reduced costs: Timing no longer needs to retain ECS resources and create a self-managed microservices model. This helps reduce costs. SAE provides the second-level scaling capability. This way, Timing does not need to retain fixed resources for a long period of time. SAE can scale applications based on the actual business volume to improve resource utilization. Per-minute billing is used.
Improved efficiency: SAE hides the underlying details of IaaS purchase and O&M and Kubernetes clusters, and allows Timing to deploy applications that are deployed based on microservices models such as Spring Cloud and Dubbo. SAE helps Timing quickly release new applications. SAE provides multiple metrics that help Timing quickly identify issues and improve diagnostics efficiency. The metrics include QPS, RT, API calls, and errors. This way, Timing can focus on business development.
Stable business: SAE allows Timing to configure multiple types of auto scaling policies, such as scheduled auto scaling policies and auto scaling policies that are triggered based on metrics such as CPU utilization and memory usage. Timing no longer needs to estimate resource capacity because SAE can perform auto scaling within seconds to ensure the SLA of business during peak hours.