"After Onion Academy adopted Container Service for Kubernetes (ACK), the resource usage of the system of Onion Academy has increased by 60%. In addition, ACK allows Onion Academy to isolate resources where an error occurs as soon as possible. When the business surges, Onion Academy can scale up its system in no time to support the business."

Featured Products

Log ServiceApsaraDB for RedisCloudMonitorElastic Compute Service - ECSApsaraDB RDS for PostgreSQLContainer Service for Kubernetes - ACK
01

About Onion Academy


Onion Academy, formerly known as Onion Math, was established in late 2013, jointly founded by Yang Linfeng, Zhu Ruochen, and Li Nuo. It is an online education company that specializes in K-12 education, aimed at promoting a balanced allocation of educational resources by using cutting-edge technologies. Onion Academy provides online classes, which allow students to learn by interacting with the system instead of real teachers. Each class consists of a 5 to 8-minute animated video to illustrate the key knowledge point or a problem-solving approach. By using this innovative teaching method, Onion Academy hopes to attract more children to enjoy learning and studying.
02

Challenge


An important feature of the online education industry is that traffic fluctuations are regular and predictable. During school breaks or the holiday season, Onion Academy needs to scale up its cloud resources within minutes to handle the surge in traffic. When students get back to school, traffic will dip and Onion Academy needs to release its resources accordingly. Onion Academy needs to ensure high resource utilization while keeping costs at a minimum and responding to business requests in a timely manner. Amid school closures from the COVID-19 pandemic, more than 7 million students and 350 thousand teachers have been using the Onion Academy app to study or teach online. Onion Academy also opened its course resources to third-party platforms in China, such as Xuexi Qiangguo and Kuaishou. In this case, how can Onion Academy quickly respond to business requests during business peaks? Furthermore, the Onion Academy's platform is entirely cloud-based. To ensure the platform is always available, Onion Academy must closely monitor detailed metrics in the application layer to detect and prevent issues.
03

Why Alibaba Cloud


Initially, Onion Academy only focused on Mathematics and Physics courses. But as the business grows, Onion Academy began to offer Chinese and English courses. Unlike Mathematics and Physics courses, Chinese and English courses involve a different learning process, in which students must interact with their teachers. As early as in 2013, Onion Academy adopted Alibaba Cloud, with a foresight that it would build its entire business system based on the cloud. If Onion Academy develops a system based on open source solutions or from scratch, it has to bear huge development costs and O&M workload. Therefore, when new business requirements arise, Onion Academy will first look for suitable cloud-based solutions, such as Alibaba Cloud's services. Onion Academy trusts the stability and professionalism of the services provided by Alibaba Cloud, and has been using cloud essentials for many years, such as Elastic Compute Service (ECS), Server Load Balancer (SLB), and ApsaraDB database services. In addition, Onion Academy tries building its new business applications on recently developed Alibaba Cloud services, such as Container Service for Kubernetes (ACK), Auto Scaling, Log Service, Realtime Compute for Apache Flink, and Application Real-Time Monitoring Service (ARMS). These services help Onion Academy address increasingly complex and diverse business needs. Today, Onion Academy offers a full range of courses for preschool, elementary, middle school, and high school students. It provides 24-hour cloud classes for more than 900 thousand teachers and 30 million students.
04

Architecture


In 2017, Onion Academy began the transition to a microservices architecture by splitting and decoupling its original complex monolithic architecture. At the database layer, Onion Academy uses ApsaraDB for Redis to achieve high-speed caching, and use ApsaraDB RDS for PostgreSQL and ApsaraDB for MongoDB to achieve persistent storage. At the application layer, Onion Academy reconstructs microservices and deploy the microservices in containers. This architecture gives Onion Academy the core capabilities to tackle business challenges. As for the container technology, Onion Academy migrated from Container Service for Swarm to Container Service for Kubernetes (ACK). Originally, each module was bound with a set of ECS and SLB instances. As the microservices of Onion Academy became more fine-grained, the resource usage decreased and the complexity of scheduling rapidly increased. ACK can allocate resources based on the configuration requirements of the modules, which is more rational. In addition, ACK can automatically scale resources based on the defined rules. This frees Onion Academy from complex scheduling and maintenance operations. Originally, Onion Academy relied on SLB to scan faulty nodes as scheduled. This method cannot detect faults in a timely manner. Now, Onion Academy uses ACK, which provides the features of disaster recovery and error detection. Pods can be automatically switched, which reduces the time for problem discovery. Meanwhile, by using Cloud Monitor, ARMS, and Log Service, Onion Academy can effectively monitor its business, such as the cloud resources, container clusters, container nodes, and pods, and configure alerts as needed. For example, Onion Academy can configure alerts for cluster status changes, component exceptions, and pod operations including creation, pulling, and deletion. This way, Onion Academy can detect and resolve faults in a timely manner.
05

Looking Forward


Onion Academy is a leader in the K-12 online education sector in China. In response to school closures due to COVID-19, Onion Academy opened all its course resources to teachers and students all over China, free of charge. During this period, the number of users who visited the online platform of Onion Academy increased each day. After Onion Academy adopted Container Service for Kubernetes (ACK), the resource usage of the system of Onion Academy has increased by 60%. In addition, ACK allows Onion Academy to isolate resources where an error occurs as soon as possible. When the business surges, Onion Academy can scale up its system in no time to support the business.