Introduction to Following container orchestration and AI engineering, the world's top cloud vendors are targeting this no-man's land.
Author | Tai Lang
Following container orchestration and AI engineering, the world's top cloud vendors have all targeted this no-man's land.
1
Looking back at the history of cloud computing for more than ten years, or you can regard it as a "short history of serving developers."
A computer without applications is like a large calculator.
Since the birth of the first computer in the world, it has been driven by programs.
With the continuous development of human science and technology, the PC and the Internet have come out one after another, entering an era where all people embrace informationization. People use computers for office and entertainment. As a result, computer programs began to become a business. The program has gradually evolved into "software" and has become one of the most profitable products.
To develop a piece of software, you need to purchase and maintain applications (application), data (data), runtime (runtime), middleware, operating system (OS), virtualization technology (virtualization), servers, storage (Storage), network (networking), a total of 9 equipment/technologies. This requires developers to understand software development, software testing, and software operation and maintenance.
With the increase of users’ requirements for software functions, developers are required to make continuous changes to the software, making the software more and more complex, computing more and more cumbersome, and more and more information stored and processed, so that the development organization has become more and more complex. The more difficult it is, it will eventually lead to a "software crisis", including the development time of many software projects, which has greatly exceeded the deadline, and the difficulty of software development has become more and more difficult.
People began to study and change the technical means and management methods of software development.
In 1968, the North Atlantic Treaty Organization proposed the concept of "software engineering". Since the 1970s, software has entered the era of software engineering. Every 5-10 years, software engineering will get a breakthrough development.
Starting from the initial machine instructions, developing to object-oriented, and then to cloud computing, the purpose is to make software development easier and more responsive to user requirements.
After the emergence of cloud computing vendors, some of these levels (such as storage, servers, and operating systems) have been integrated and packaged into a service for external sales. Companies/developers only need to rent these services directly, just like paying utility bills.
In the early days of cloud computing development, cloud computing was mainly used to meet the incremental IT needs of enterprises. However, with the gradual penetration of cloud computing, enterprises have gradually realized full cloud access, from infrastructure to the cloud, to platform systems to the cloud, and to business applications to the cloud. Correspondingly, cloud computing vendors have introduced services such as IaaS (infrastructure as a service), CaaS (container as a service), PaaS (platform as a service), and SaaS (software as a service).
More than ten years ago, cloud computing technology was born, setting off a wave of changes in the infrastructure of physical hosting. Cloud computing has realized the decoupling of computing resources and physical hardware, and the development and application of virtualization technology has made cloud host ECS an enterprise's infrastructure.
With the popularization of container technology, PaaS platforms have gradually emerged. PaaS is a platform service built on IaaS with functions such as operating system installation, monitoring, and service discovery.
After cloud vendors provide the services, operating environment, and underlying computing resources that applications rely on, enterprises/users only need to deploy their own applications, which improves the overall efficiency of application development, deployment, and operation and maintenance.
But even though the PaaS platform has been widely used, there is still room for optimization. Can there be a brand-new architecture that completely separates the business from the infrastructure? Serverless architecture came into being.
The concept of Serverless dates back to 2012. Ken Fromm first proposed the concept of Serverless in "The Future of Software and Applications is Serverless", but it did not attract widespread attention.
The so-called "serverless" does not mean that there is no need for servers, but that the high-tech stuff of this stall is "outsourced" to more professional people. Enterprises/developers worry about fewer things, and cloud vendors worry about more things.
In general, when an application needs to go online, in addition to writing the code, you also need to care about the application deployment server and the maintenance of the server, such as resource application, environment construction, load balancing, scaling, monitoring, logging, alarms, and capacity. Disasters, security, permissions, etc.
The emergence of the Serverless architecture decouples computing resources and system environments from applications, allowing developers to focus on the development of application logic without paying attention to the acquisition and operation of computing resources in the process of building applications.
This is like the difference between professional cameras and point-and-shoot cameras/automatic cameras. Using a professional camera, you need to manually adjust various parameters such as depth of field, aperture, shutter speed, ISO sensitivity, focal length, exposure, etc. It is easy to make people wonder how to start. With a fully automatic camera/point-and-shoot camera, you only need to find a good angle, point the lens at the subject, press the shutter button, and the camera will automatically complete all the steps. The operation is very simple.
In the serverless architecture, computing resources appear as a concept of a service rather than a server. Public cloud vendors charge according to the number of calculations. Business codes are activated and run only when they are called. When the response ends, the occupied resources will be released, which truly achieves elastic scaling and pay-per-use. Developers only need to package the code into a function and upload it to the public cloud platform to run the code in a flexible and reliable manner, and execute calculations based on time-driven execution.
Not only shortens the application launch time, but also reduces operating costs. Serverless architecture has received widespread attention and is considered to be the future trend of cloud computing.
2
Even so, serverless still does not have a unified definition, and various cloud vendors are promoting evangelism and seizing the ground.
Broadly speaking, Serverless includes two aspects: FaaS (Functions as a Service) and BaaS (Backend as a Service).
FaaS is a form of Compute as a Service, which is an event-driven function hosting computing service. For FaaS, writing a function is a function. All the developer has to do is write down the function, and then use the configuration file to tell the server how to make it run.
BaaS allows developers to access a variety of third-party services and applications. Common BaaS services include database management, cloud storage, user authentication, push notifications, remote updates, and message queues. Most of them are provided by cloud service providers, and users do not need to care about and operate and maintain the underlying basic resources. In BaaS, serverless functions are usually called through an application programming interface (API).
Therefore, only when FaaS+BaaS is realized can Serverless be truly realized.
In 2014, AWS launched Lambda, the first functional computing product. Lambda is a FaaS, which completely changed the way of software delivery.
The design concept of Lambda is very simple, because cloud computing ultimately provides services to applications, and applications consist of functions (functions, the carrier of business logic) + data (data, input and output related to the business), and one of the two Interaction between events-namely events (events, common events such as addition, change, deletion, etc.).
In other words, for an application, in addition to functions, data, and events these three things are fundamental, no matter what code and framework, it is nothing more than glue or UI.
That being the case, the ideal situation is to use the least time to write glue and devote more time to the core logic of the application.
On Lambda, users can run code without presetting or managing the server, pay as you go. As long as the code is uploaded, Lambda will handle all the work required to run and scale the high-availability code.
After Amazon has explored Serverless for two years, cloud computing giants such as Google and Microsoft have successively launched serverless architecture function services. In 2017, Alibaba Cloud in China also launched its first serverless product-Function Compute (FC for short).
In Alibaba Cloud's view, serverless is a future-oriented cloud computing technology, a new computing provision method that "uses as soon as it comes, completes functions, and leaves when used up". Serverless only pays for the actual consumption of resources, and does not need to pay for idle resources. Save time, effort, and money, and help customers realize the "freedom of using the cloud."
3
Domestic cloud vendors have spared no effort in innovation. Alibaba Cloud Function Computing can achieve a single instance startup in only 200 milliseconds, and 20,000 instances can be popped up in 1 minute. In response to customer needs, it is the first to provide a single-instance multi-concurrency model, and the industry's first support preview The functions of hybrid scaling and NAS file system mounting are reserved for the number of instances.
At present, Alibaba Cloud has more than 12 billion daily invocations of function computing, which not only supports the double 11 million QPS peak, but is also the largest serverless vendor in China with the largest domestic market share, and its business scale has increased by more than 300% year-on-year.
After more than three years of catching up, Alibaba Cloud has changed from a "follower" to a "leader", keeping pace with AWS.
According to the FaaS platform evaluation report for the first quarter of 2021 released by the authoritative consulting agency Forrester, among the 19 evaluation items, Alibaba Cloud Serverless products received 8 full marks and 12 highest scores, and their comprehensive product capabilities ranked first in the world. The vision is second in the world. It ranks in the Serverless "Leaders Quadrant" with Amazon AWS and Microsoft Azure. This is the first time that a domestic technology company has entered the FaaS Leaders Quadrant.
At present, the Alibaba Cloud Serverless product has been used on a large scale, and you may have used it before you knew it. For example, grab coupons, promote spikes, eat melons on Weibo, and live online lessons.
In the scenario of grabbing coupons, assuming that coupons are issued at 8 o’clock in the evening, it is estimated that 50,000 people will come to grab them. However, the actual situation suddenly came to 80,000, and the previously prepared resources could not bear 80,000 people. Another 30,000 people saw a 404 on the interface, or the page displayed "Wait a minute." Alibaba Cloud Function Computing can achieve millisecond-level expansion and scaling. There is no need to predict in advance, as many people as you can come. As long as the enterprise accesses the API interface provided by Alibaba Cloud, each user can load the coupon grab page.
At present, tens of thousands of enterprise customers have successfully used Alibaba Cloud Serverless to reduce costs and increase efficiency, fully covering front-end full-stack, small programs, new retail, game interactive entertainment, online education and other scene industries.
Alibaba Cloud's achievements on Serverless did not happen overnight.
Alibaba Cloud was the first domestic cloud vendor to deploy serverless, but at that time the domestic awareness of serverless was still insufficient.
The Alibaba Cloud Serverless team has worked hard to build the best serverless product in China. But when the product is on the market, the freshness period has passed, and the result is not very satisfactory. "You find that what you have made does not fully meet the requirements of Chinese customers. If you want to change it will be a big change, we are equivalent to doing it all over again. "This makes Yang Haoran (name: not anger) the number one serverless technology has to start to rethink.
The most difficult time is 2019. At that time, the market's acceptance of serverless was not high, and R&D personnel also began to do sales, looking for work orders, calling customers, and writing documents. By June 2019, all R&D personnel had gone out to find market opportunities, visited customers, and gave sermons, but the conversion effect was not high.
After the function calculation was promoted within the Alibaba Group and integrated with the group's original FaaS products, things ushered in a turning point. This step is very critical. The non-agricultural team has made substantial improvements to the technology and products based on feedback, and the demands from the brother teams are also the demands of many corporate customers.
On Double 11 in 2020, Alibaba will realize the large-scale implementation of Serverless in core businesses such as Taobao, Alipay, DingTalk, AutoNavi, and Fliggy, becoming a milestone for the first large-scale implementation of Serverless in China.
Using the function to calculate the FC, the double 11 conference venue has been popped up in seconds, and it also caught the double 12 traffic, which helped to upgrade the basic service of the Feizhu train ticket and ensured the Eleventh Travel Festival of AutoNavi. Serverless is no longer just a "proprietary term" for small programs, but also has a wider range of applications, such as e-commerce promotion, audio and video transcoding, AI algorithm services, game application package distribution, real-time file processing, Internet of Things data processing, Scenarios such as microservices.
This is a reassurance to the big companies who are still on the sidelines.
Nowadays, car manufacturers' in-vehicle systems and Internet of Vehicles applications are also using function calculation FC to provide calculation support.
The new crown epidemic has increased the demand for remote office, online education, and online gaming applications in the short term. The explosive growth of business scale requires a more timely response to every demand, which places higher requirements on the flexibility of application architecture, the speed of underlying computing, and the improvement of R&D efficiency, which drives business acceleration to new technology architecture. Evolution.
In 2020, the performance upgrade of the Alibaba Cloud Dragon computing platform has brought a significant increase in FC's product capabilities. Alibaba Cloud Serverless has evolved from the original virtual machine architecture to "Shenlong bare metal server + Kangaroo secure container architecture". During the COVID-19 pandemic, functional computing FC was applied in the digital anti-epidemic, helping 200,000+ enterprises to resume work remotely.
For example, in the educational scenario, the teacher requires timeliness for starting a class, which requires the background to start thousands of instances in a short time to respond. This is precisely where the function calculation FC is used.
Today, behind Alibaba Cloud Serverless are four core technologies-Shenlong computing platform, Kangaroo sandbox container, Pangu storage platform and Luoshen network platform providing support. For a good user experience, the Alibaba Cloud Serverless team also reduced the granularity of pay-as-you-go billing to milliseconds. Now, Serverless is continuing to integrate with the ecosystem of containers and microservices, lowering the barriers for developers to use Serverless technology.
The goal of Alibaba Cloud Serverless is to help a wider range of customers achieve a smooth migration to the new technology architecture and allow Serverless to penetrate all cloud applications.
For this sea of stars, Buhuo and his team have been on the road.
reference:
1. "White Paper on Serverless Architecture (2019)", OSCAR, Cloud Computing Open Source Industry Alliance
2. "AWS Lambda", Kong Lingxian
3. "The Impact of Cloud Computing on Traditional Software Engineering"
Copyright statement: content of this article is contributed spontaneously by Alibaba Cloud real-name registered users. The copyright belongs to the original author. The Alibaba Cloud Developer Community does not own the copyright, and does not assume corresponding legal responsibilities. For specific rules, please refer to the "Alibaba Cloud Developer Community User Service Agreement" and the "Alibaba Cloud Developer Community Intellectual Property Protection Guidelines". If you find suspected plagiarism in this community, fill in the infringement complaint form to report it. Once verified, the community will immediately delete the suspected infringing content.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。