Summary: More and more cloud products will be fully hosted, Serverless evolution. When the Serverless of cloud product system reaches a critical value, and the Serverless computing service combined with other Serverless cloud services through function calculation can completely realize the whole application, Serverless will become a definite technical trend. And becoming more and more popular.
The author does not aversion |
In the past 2021 Tmall Double 11, Ali Cloud function computing and Alibaba operation and maintenance system fully realized standardized docking, opening up the last mile of r&d, and realizing the Serverless systematic r&d of full-link “FaaS + BaaS” for the first time. Covering business scenes such as Tao Te, Tao Department, Ali Mama, 1688, Autonavi and Flying Pig, the number of supporting scenes increased by 2 times compared with last year, the total peak flow increased by 3 times compared with last year, achieving a breakthrough of one million QPS and improving human efficiency by 40%.
Some time ago, I co-hosted a live stream with InfoQ gurus to talk to developers about Serverless in my eyes. There’s a lot of enthusiasm for Serverless, but there are still concerns, and that’s why I’m writing this article. As a witness of this technological wave, I would like to think about the reasons for the birth of Serverless, the evolution of Aliyun Serverless technology and products, and my judgment on the future trend of Serverless.
01 Serverless cloud product system promotes technology evolution
Although Serverless is still relatively new to many people, it has been around for a long time.
I just joined Aliyun in 2010 and worked on the development of Feitian OPERATING system, which was originally designed to perform big data processing by managing thousands of machines. The user’s programming interface is MapReduce tasks, which process massive data through SQL statements. This is the early Serverless form.
The first cloud service object storage OSS of Ali Cloud and the first cloud service S3 of Amazon Cloud Technology are both Serverless storage services. Users do not need to worry about how to fragment data to different servers to achieve load balancing, nor do they need to consider how to ensure high reliability and availability of data in case of server downtime or switch failure. They just need to use simple APIS to achieve reliable storage of massive data. They all mask Server complexity and allow users to have a very concise Serverless experience. These are all Serverless forms.
In 2012, the concept of Serverless was put forward for the first time. When Amazon Cloud Technology officially commercialized Lambda, Serverless became popular and gradually became popular. In the past 10 years, such an evolution process is not accidental, nor overnight, but with a fatalistic inevitability, the reason behind it is that the cloud product system has been evolving to Serverless.
Whether ali Cloud, Azure, or Amazon Cloud technology, the vast majority of new products are fully hosted Serverless form. Today, public cloud users are more and more accustomed to using fully hosted services. In addition to saving effort, for many users, the most important thing is to solve business problems more efficiently. If a fully hosted service provides better performance, better stability, and less overhead, why not use it?
According to this logic, more and more cloud products will evolve to fully hosted and Serverless. When the Serverless of cloud product system reaches a critical value, and the Serverless computing service combined with other Serverless cloud services through function calculation can completely realize the whole application, Serverless will become a definite technical trend. And becoming more and more popular.
02 Serverless out of the trough of disillusionment
In 2017 and 2018, we all had a peak of Serverless heat, but as with many emerging technologies, there was a trough of disillusionment, from concept talk to enterprise adoption. Judging from the development of Serverless in the past ten years, both academia and industry regard it as a subversive technology with great potential in improving r&d efficiency and resource efficiency. However, as a new concept and new form of computing, Serverless’s main challenge is to change the mind of developers. In terms of tool chain, programming model and application architecture, developers need to change their thinking.
Today, these problems are being solved quickly and consistently.
Serverless is on a steady rise. We can see that the most major Cloud service providers in the industry are constantly launching Serverless computing services of different forms, such as Google Cloud Run, App Runner of Amazon Cloud Technology, Ali Cloud Serverless application engine SAE. In addition, the most classic Serverless computing services, such as function computing of Ali Cloud, are becoming more and more common and less intrusive to applications.
Whether on Alibaba or Aliyun, developers have a more and more objective and pragmatic understanding of Serverless, and introduce Serverless technology and related tool chains in more and more scenarios, driving Serverless ecology to become more mature.
Giving developers a sense of security is the most important thing
We have experienced a whole process from Serverless being very concerned to difficult landing, and then Serverless being widely used. This process has indeed encountered many challenges, the key to solve the difficulty of Serverless landing is to give developers a sense of security. For developers, Serverless has handed over more technical aspects to cloud vendors, so how to give them a sense of security and make them free from the burden of use is very critical, which is also the point they pay most attention to when choosing the technology.
There are two main reasons for developers’ concerns about security:
- Cloud vendor lock-in problem: Serverless makes the application more deeply dependent on the ability of cloud service providers. How to avoid vendor lock-in and what obstacles will there be when migrating from one cloud to another?
- Control black box problem: How can cloud vendors provide users with control when they take over the application platform? For example, how can users see enough metrics to optimize an application or control how it performs? What if the cloud platform goes wrong? What means do users have to quickly identify problems and restore service when problems occur?
Concerns about supplier lock-in. Ali Cloud is a public cloud, Ali Group, open source trinity way to create Serverless products, firmly embrace open source. The Runtime of Ali Cloud function computing adopts non-invasive standard HTTP-Server protocol. Users can interact with Serverless platform by putting up Web Server written by Golang or PHP.
In addition, the observability of function calculation is based on open source standards such as OpenTelemetry and OpenTracing. The Serverless Devs tool chain launched by Ali Cloud is also open source and provides the ability of Serverless application deployment from multiple cloud vendors. EventBridge, which hosts ali Cloud’s event ecosystem, also adopts CNCF CloudEvents open standard. This is all in the hope that developers can use the product in an open source and open way. In the future, we will actively promote standards in the Serverless space.
To control the black box problem, the most important thing is to do a good balance of product design, which can not only give developers control, but also reduce the complexity of developers. Ali Cloud function computing regards security for developers as the most important thing. We are the first in the industry in terms of observability, and currently the only one that shows the instance level index, making it easier for users to optimize Serverless applications. We provide very fine-grained resource metering data to make it easier for users to determine whether costs are meeting expectations.
In the future, we will expose system events and states to developers in a way that makes it easier for them to anticipate system behavior. We will also open up more capabilities in areas such as problem diagnosis to fit developers’ existing development habits so that they can use Serverless more smoothly.
04 Serverless being fully deployed
In terms of application scenarios, Serverless is no longer just a small program, but also e-commerce promotion, audio and video transcoding, AI algorithm services, game application package distribution, real-time file processing, Internet of Things data processing, micro-services and other scenarios. Serverless is continuing to integrate with the container, microservices and other ecosystems, lowering the barriers for developers to use Serverless technology, which in turn will facilitate cloud biogenesis of traditional applications.
In terms of enterprise empowerment, especially after the epidemic, users’ awareness of Serverless has deepened. In many scenarios, switching to Serverless architecture can indeed bring significant benefits to users, and users gradually recognize this technology.
1. Serverless Full link, full scenario coverage tmall Double 11
On Tmall Double 11 in 2020, Ali Cloud realized the large-scale deployment of Serverless in the core business scenario for the first time in China, and overcame the world’s largest traffic peak, creating a milestone of Serverless landing application.
In this year’s Tmall Double 11, Ali Cloud Serverless supports more business scenarios and has a wider range. Ali Cloud function computing has fully realized standardized docking with the operation and maintenance system of the group, opening up the last mile of research and development, and realizing the Serverless systematic research and development of full-link “FaaS + BaaS” for the first time. Covering business scenes such as Tao Te, Tao Department, Ali Mama, 1688, Autonavi and Flying Pig, the number of supporting scenes increased by 2 times compared with last year, the total peak flow increased by 3 times compared with last year, achieving a breakthrough of one million QPS and improving human efficiency by 40%.
2. Serverless exploration of netease Cloud Music audio and video algorithm
Behind netease cloud music products, there are actually a lot of algorithm services supported, such as audio transcoding at various code rates, audio fingerprint generation and recognition applied in listening to songs and recognizing songs, chorus detection, transliteration of lyrics in small languages and so on. The resource requirements and execution time of these tasks vary greatly, and multiple languages such as C++ and Python are required to be used to achieve these tasks, which requires great flexibility in computing power.
Netease originally built such an algorithm service platform in its own data center, which implemented 60+ audio and video algorithms and connected with 100+ business scenarios. But as the business grew, the burden of infrastructure management grew. Although many ways have been adopted to simplify the docking of internal business scenarios and algorithms, more and more algorithms are included in storage and incremental processing. Different traffic scales in different service scenarios and different service scenarios may reuse the same algorithm, resulting in less and less service time.
For example, to launch a new algorithm, it must first process more than 60 million songs in stock, which requires the platform to produce a large amount of computing power in a short time, perform tasks reliably, and provide comprehensive multi-dimensional monitoring information such as applications and instances. These requirements are well matched by the function calculation. In the peak period of function calculation, netease processed more than 20 million tasks a day. The algorithm was applied to the business at a speed of 10 times, and the algorithm cost of sparse call was greatly reduced.
The most interesting point of the case of netease lies in their integration of services on their own computer room and public cloud at the application layer. In the past, people talked about Serverless and thought it was difficult to apply it in hybrid cloud scenarios. The case of netease proves that the integration of private cloud and public cloud is not the only way to manage resources. Considering the integration scheme at the application layer, sometimes the effect will be better.
Netease cloud music audio and video algorithm Serverless to explore the road
3, pumpkin movie 7 days comprehensive Serverless
Another interesting case is that Pumpkin Video uses SAE to realize zero-migration transformation of traditional micro-service application, and it only takes one week to completely migrate to SAE platform.
Pumpkin’s original micro-service platform faces several challenges:
- High operation and maintenance costs. To manage infrastructure, to plan networks, to upgrade systems, etc., a lot of time is spent on these low-value tasks instead of focusing on business development;
- Machines have difficulty planning capacity. Hotspot movies often cause access hotspots, and temporary capacity expansion operations are complicated and slow. Pumpkin experienced explosive business growth, because a hit movie, new 800,000 registered users in one hour, 80 times higher than the normal traffic, the system soon crashed.
The experience prompted pumpkin to undergo a technical upgrade. Users also compared the K8s to SAE, and concluded that to play the K8s, they needed to build a professional team, which was not a small cost. SAE’s product form is so approppable that it only took pumpkin a short time to migrate to SAE and now all applications run on SAE.
Pumpkin movie fully Serverless practice in 7 days
Serverless is not the future, it is the present
The development of ** cloud must be to a higher level of abstraction, so that users research and development efficiency is higher and more agile, more efficient use of resources. ** Therefore, the product system of cloud must be Serverless, that is, more and more cloud services are fully hosted and Serverless. If we think of the cloud as a computer, the IaaS layer is the hardware, the container choreographer system represented by K8s is the operating system, and Serverless computing is the runtime of the application. So Serverless is the future of the cloud, which is actually not a prediction of the future, but a fact that is happening right now.
In the future, the product forms of Serverless will become diverse. In the early years, everyone regarded products in the form of Lambda as Serverless computing. In recent years, we have seen Google Cloud Run. Amazon Cloud Technology App Runner and other Serverless services for Web application scenarios, Ali Cloud function computing is also evolving, such as support for container mirroring, less operation restrictions and so on. In addition, aiming at traditional micro-services and other stock markets, we also launched SAE services in this form, so that users can easily migrate stock applications and enjoy the dividend of Serverless.
There are also some noteworthy trends in the underlying technology development of Serverless. Including more intelligent resource scheduling, because Serverless computing mode provides more load information to the platform, making the platform have the opportunity to do more accurate resource scheduling, traffic routing and other aspects through data-driven way. In addition, Serverless is expected to support more types of hardware, including heterogeneous hardware such as ARM-type CPUS, Gpus or FPGas, providing users with more cost-effective computing types.
When talking about the future, it is unavoidable to judge the end of Serverless. I think Cloud is like a computer. In the past 10 years, Cloud mainly provides massive computing power for developers through Cloud Hosting mode, which is compatible with the original programming mode at the same time. But this model is a bit like programming in assembly language, where the developer has to deal with quite a bit of detail. Microsoft predicts 500 million new apps will be added in the next five years, more than in the previous 40 years combined, which traditional development models cannot support.
So we’re seeing modern applications, low code, things like that. The next decade will see huge innovation in the cloud programming model. In the past, BOTH PC and mobile Internet developed from hardware innovation at the beginning to form their own native programming model, forming a complete and prosperous industrial ecology. The cloud is also experiencing the same process. Eventually, the cloud will have its own, native, efficient programming model and application development model. Serverless, in the cloud ecosystem, plays the role of application running time and is the infrastructure carrying application running.
About the author:
No Hatred: Head of product development of Ali Cloud Serverless, dedicated to building the next generation of flexible, highly available Serverless computing platform.
The original link
This article is the original content of Aliyun and shall not be reproduced without permission.