×
Community Blog The Rising of Emerging Software R&D Paradigms Promotes Cloud Computing to Become Serverless

The Rising of Emerging Software R&D Paradigms Promotes Cloud Computing to Become Serverless

This article discusses the inevitability of cloud computing becoming serverless in an all-around way.

Watch the replay of the Apsara Conference 2022 at this link!

By Haoran Yang

On November 3, at the Apsara Conference 2022 in Hangzhou, Jianfeng Zhang (President of Alibaba Cloud Intelligence) said, “A new computing system with the cloud as the core is taking shape. New changes are taking place in the software research and development paradigm. Serverless is one of the most important trends. Alibaba Cloud will firmly make its core products comprehensively Serverless so that customers can better realize agile innovation.

1

This article discusses the inevitability of cloud computing becoming serverless in an all-around way.

Evolution of Software Architecture and R&D Models

The business development demands of enterprises have always been the main force driving the evolution of software architecture and R&D models. Enterprises expect to be more agile when coping with the growth of business scale and complexity, releasing products to market faster, and accelerating business innovation. This requires technology to achieve rapid iteration of large-scale and complex software.

The traditional enterprise-level application architecture is usually monolithic, with all modules coupled and released simultaneously. This monolithic architecture application is easy to manage initially, but its complexity will increase as the business develops. This strongly-coupled architecture brings many conflicts during development, testing, and O&M, slowing down the entire iteration. For example, the development of the entire application requires all modules to adopt a unified language and framework technology stack. If a basic library is shared by multiple modules and one of the modules wants to upgrade to a new version, everyone needs to upgrade at the same time, even if others do not need the new version. The release rhythm of all modules is forcibly bound. A problem with one module will affect the release of the entire application. It also becomes difficult to fix online issues of a module quickly because this requires merging with ongoing changes of other modules to resolve conflicts, republish the entire application, and run all the tests. After that, it can be republished.

Soon, the monolithic application architecture can no longer meet the requirements of software R&D efficiency and is replaced by the Internet distributed architecture with microservices as the main feature.

After adopting the microservices model, the application consists of independent services. These services are loosely coupled and interact through API calls, event triggers, or data streams. Each service completes a specific function and is independently developed, run, and released. Microservices solve the R&D efficiency bottleneck of monolithic architecture but put forward high requirements on the infrastructure of applications. For example, detailed integration and end-to-end testing are required to ensure that independently developed microservices can coordinate as expected. The number of times an application is deployed in a test environment is typically ten times higher than in a production environment. If the application infrastructure fails to provide an independent test environment quickly, test time will be consumed in solving environmental stability problems.

According to the research and development statistics of Alibaba Group, one person’s R&D per day usually corresponds to 5-7 persons' testing per day. The test environment has become the biggest pain point for Alibaba Group to improve its R&D efficiency. The loose coupling of microservices poses great challenges to database usage, state management, problem diagnosis, and application delivery pipeline. The complexity of microservices and solutions has been discussed a lot in the industry and will not be repeated here. The implementation complexity of the Internet distributed architecture with microservices as the core is high. It must be supported by good tools and platforms, which is the consensus of the industry.

2

All work in the software R&D process can be divided into the following three categories:

  1. Business code development to implement business logic
  2. Non-functional code development includes capabilities (such as fault tolerance, security, observability, O&M, and third-party software integration), which have nothing to do with business logic but are the must-haves of enterprise applications.
  3. Application infrastructure management (including building development, testing, production environment, resource planning, security control, etc.)

Of these three categories of work, only the first one brings real value to the business and is closely related to the core competitiveness of the enterprise. However, with the increase in software complexity, categories 2 and 3 consume a lot of R&D resources. Minimizing the complexity of categories 2 and 3 as much as possible to allow customers to focus on business logic development is an inevitable trend for the development of software architecture and R&D models.

Over the past decade, the open-source community and cloud vendors have abstracted non-functional code development and application infrastructure management into standardized and reusable software/services in different areas.

Software/Service Name Category Reduce Non-Functional Code Development Simplify Application Infrastructure Management
Alibaba Cloud Object Storage Serverless Cloud Service High availability, high elasticity, and integration capabilities, including SDK and event triggering Users do not need to manage servers and other infrastructure.
Alibaba Cloud Container Service Semi-Managed Cloud Service None It provides managed Kubernetes and simplifies container infrastructure by Kubernetes.
Apache Kafka Make Self-Built Software Available It builds fault tolerance internally and provides various integration capabilities (such as SDK and connector). None

Cloud Computing Is Becoming Serverless

Serverless is a broad concept and is not limited to computing. In general, a service that meets the following conditions can be called a Serverless service.

  1. Fully Managed Services: This means customers use abstract service-oriented interfaces instead of directly facing the underlying resources. There is no burden of installing, configuring, maintaining, or updating software and hardware. Fully managed services provide built-in fault tolerance, security, and observability that users don't need to rebuild.
  2. Adaptive Elasticity: This means that services can be auto scaled according to the load size, significantly improving the efficiency of resource usage.
  3. Pay for Actual Usage: This means users need to pay according to the actual execution time, traffic, or the number of calls, which reduces costs.

Therefore, the core value of Serverless is to eliminate non-functional code development for customers as much as possible and simplify application infrastructure management to improve R&D efficiency.

3
Jianfeng Zhang (President of Alibaba Cloud Intelligence) said, “Serverless makes cloud computing change from a resource to a capability. In the past, cloud computing replaced physical servers with cloud servers. However, customers still purchase cloud resources in the mode of core and G servers. In the future, cloud computing will be fully serverless and pay as the number of calls for computing.”

Serverless services are in line with the evolution trend of R&D models. Over the past ten years, we could see that various cloud vendors have made product systems serverless. Most of the new cloud services or new features are in a serverless state. A large number of open-source commercial products adopt the serverless model, including Confluent Cloud, MongoDB Atlas, Snowflake, and Databricks.

4
Jianfeng Zhang (President of Alibaba Cloud Intelligence) announced core cloud products are fully serverless during the Apsara Conference 2022.

Alibaba Cloud was the first cloud vendor in China to provide serverless computing services. Function Compute is a FaaS product, which is an event-driven and fully managed computing service. Users only need to write code and upload it. Function Compute (FC) automatically prepares computing resources, runs the code flexibly and reliably, and provides complete observability. This simplifies the development and O&M process.

Serverless App Engine (SAE) is the first application-oriented Serverless PaaS platform in the industry. It shields the complexity of underlying IaaS and Kubernetes and provides an application-managing solution with zero code transformation, lower cost, and higher efficiency. It helps users implement serverless monolithic Web applications, microservices applications, and scheduled tasks.

Alibaba Cloud Serverless Container Service (ASK), which is based on Elastic Container Instance (ECI), can scale out 2000 pods in one minute, which lowers the threshold for Kubernetes usage and allows users to focus on applications rather than managing the underlying infrastructure.

In addition, in 2020, Alibaba Cloud's open-source Serverless Devs became the industry's first cloud-native lifecycle management platform that supports mainstream serverless services/frameworks. In September 2022, it officially entered CNCF Sandbox, becoming the first serverless tool project in the industry.

Serverless-Driven R&D Model Upgrade

Each serverless service is the output of vendors' capabilities, which promises reliability, elasticity, performance, and other capability indicators. Therefore, they are high-quality building blocks of applications. For example, the Alibaba Cloud Object Storage Service (OSS) carries large amounts of EB-level data and promises 99% of data reliability, 99.95% of availability, and diversified data storage and processing capabilities. AlibabaMQ for Apache RocketMQ, which is tempered by the trillion message peaks of Double 11, promises 90% data reliability and 99.95% availability.

5

These cloud services have clear advantages in elasticity and reliability compared with systems built by customers based on open-source software. As vendors launch more serverless services in storage, computing, middleware, big data, etc., and these services are tightly integrated through event-driven, etc., the cloud has gradually become a super platform for application construction and operation. The R&D model of the application has been upgraded to assembled R&D.

The following figure shows the comparison between traditional R&D and assembled R&D:

Traditional R&D Assembled R&D
Development of Business Code and Non-Functional Code It implements business logic through Serverless computing and combines other cloud services to implement applications.
It designs and implements application components by itself, which are usually fragmented and difficult to combine and reuse. Cloud service providers abstract domain capability into a composable and reusable cloud service and ensure service quality.
It manages application infrastructure with high complexity and low efficiency. Without the need to manage infrastructure (such as servers), it is highly elastic and can quickly create/destroy application environments and release applications without damage.
In architecture design and implementation, complexity is high, and workload is heavy, but the design and implementation are fully under control. The standard components (cloud services) provided by cloud service providers are used to build applications. The workload is low, but adaptation to cloud service functions is necessary.
Feature Delivery Cycle Months Feature Delivery Cycle Hours

Serverless Is the Best Paradigm for Cloud Computing to Benefit Thousands of Industries

From emerging Internet startups to traditional enterprises building large-scale software, serverless architecture and assembled R&D can be used.

Based on the serverless architecture, a nine-people start-up created Wolai, a new form of document application oriented for team collaboration. The entire application uses cloud services (such as Function Compute (FC), Object Storage (OSS), Tablestore, and Redis). The system consists of multiple loosely coupled functions. Only the relevant functions need to be updated for each feature release or bug fix. The feature release rhythm is shortened to several hours, realizing the selection to launch in a short time. The annual savings in O&M costs are 0.7-0.8 million, and the cost is reduced by 50%.

Pumpkin Film received one million new users within one hour. The sudden surging traffic resulted in the break of web services. Temporary cloud expansion was still unable to meet the huge traffic timely. After learning a lesson from this experience, we began to move toward serverless. It took seven days to upgrade, and we made a qualitative leap. In the end, the development efficiency improved by 70%, the cost reduced by 40%, and the O&M efficiency improved ten times over. The sudden traffic was handled gracefully.

Century Mart was the first new retail representative to try Serverless. It found that its old architecture could not handle the problem of traffic explosion during big promotions. Then, it tried to deal with data from member systems, transaction systems, payment systems, and others on Alibaba Cloud Function Compute (FC). After that, it no longer needs to rely on expanding machines to support large-scale businesses. The preparation time for big sales was shortened from weeks to hours. The efficiency of R&D and O&M improved by 30%, and the cost reduced by 40%, turning big sales into a norm.

The cloud catalyzes changes in R&D models. Serverless architecture and assembled R&D allow customers to do less and gain more, which are bound to become the mainstream R&D paradigm on the cloud.

1 0 0
Share on

You may also like

Comments

5003589663942412 July 19, 2023 at 2:34 pm

As a website developer myself, I found Øystein Grøvlen's journey fascinating. His transition from a Senior Staff Engineer at Alibaba to working on the MySQL Optimizer

Related Products