Like most IT hot words, serverless has been in a state of lukewarm since its birth. But this year, it suddenly broke out, which was surprising. Some technical experts called it the "critical point". If so, serverless will quickly integrate with other technologies and become a new deployment mode.
Don't be blindly optimistic. The reason why IT hot words are "hot" is that they have never developed independently, but are based on the maturity of cloud, big data, container and other technologies. From this point of view, serverless is "a small step of cloud computing", constantly driving cloud computing to become more perfect, entering thousands of industries and serving users.
So, what is serverless technology, how does it develop, what are its advantages and disadvantages, and what is its value to the enterprise? This article will comprehensively sort out.
The trend is coming, and the coverage rate may reach 38%
Before defining serverless, let's take a look at the trends in the industry.
Taking a survey by CNCF (Cloud Native Computing Foundation) in August last year as an example, serverless applications are growing rapidly. 38% of enterprises said they are currently using serverless technology, an increase from 31% in the past. Among them, 32% use managed serverless platforms, and 6% use installation serverless platforms.
In the survey, some respondents have not yet adopted serverless technology, which has dropped from 41% in the past to 37%. However, another 26% of respondents said they planned to use serverless technology in the next 12 to 18 months.
The survey also made a specific study on the use of the installable serverless platform market, in which Kubeless accounted for the largest proportion, up to 42%; Apache Open Whisk and OpenFaaS rank second and third respectively, accounting for 25% and 20% of the total.
In addition to the serverless platform for installation, the serverless platform for hosting is also a major choice. The specific market distribution will not be described here. For details, please refer to the following figure.


The data sources are as follows.
//www.cncf.io/blog/2018/08/29/cncf-survey-use-of-cloud-native-technologies-in-production-has-grown-over-200-percent/
It is understood that this survey covers 2400 people, including 49% of developers, 36% of operators, 11% of IT managers and 14% of development managers.
Facts have proved that the trend of no server has come.
Since serverless is a trend in the future, what is serverless?
Let's review the history. In 2009, the industry put forward the DevOps concept, pointing to the direction of agile development, operation and maintenance and collaboration. In 2011, some institutions predicted that DevOps would develop into NoOps, that is, there would be no need for operation and maintenance personnel in the future. It was not until 2014 that the concept was further extended to enterprises.
According to different definitions, there are several types of abbreviations in the industry:
FaaS: Function as a Service (FaaS), or function as a service.
BaaS: Backend-as-a-Service (BaaS)
MBaaS: Mobile Backend-as-a-service (MBaaS)
CaaS: Containers-as-a-Service (CaaS)
FaaS Advantages and Disadvantages
FaaS is usually used in the industry to define serverless, which has several distinctive features.
first, Like cloud computing, it has evolved into a service. Developers don't need to purchase hardware resources, let alone the hardware configuration environment, physical devices and virtual servers. They only need to care about whether the code's operational transition is efficient.
secondly, This code can be mixed with traditional server code, or you can write applications that do not require any server configuration elements.
Third, FaaS puts more operation and maintenance pressure on third-party cloud manufacturers, who manage the operation status of servers (physical or virtual), especially in the case of multi tenancy, to ensure efficient, stable and secure operations.
Fourth, It is inseparable from the concepts and applications of containers and microservices, and is increasingly integrated.
However, just as all technologies have shortcomings, serverless technologies that rely entirely on third-party cloud vendors still have obvious shortcomings.
First of all, the requirements for cloud vendors have been improved. This means that it is particularly important to find a reliable third-party cloud service provider. After all, security issues, multi tenant issues, vendor locking, API calls, lack of functionality and other infrastructure functions depend on the cloud vendor.
Second, evaluation and testing tools. How to ensure the smooth operation of the program in a serverless environment provided by a third party? Are there any evaluation criteria and indicators? Generally speaking, what criteria are used to evaluate the better and better environment of cloud vendors?
Third, difficulties in implementation. This does not mean that the program can run, but that the difficulty of program integration and encapsulation increases. The stability of the program is even more important because it can only run a certain type of function and cannot achieve "atomic rollback".
Can we "conquer the world" without servers?
All technologies have their own applicable scenarios, and no server is not "exclusive" ” , which is mainly used in the following areas.
▷ Function calculation Some people call serverless as a function as a service because its lightweight is suitable for stateless applications and functional programming models, including application programming interface publishing, query response, facial recognition and voice recognition. For a cloud service provider like Huawei Cloud, which focuses on AI applications, it can quickly provide such services. The matching of AI functions is more advantageous, and there is also a special function computing product CFC.
▷ Edge computing The core of edge computing is to collect, store and process a part of data on edge nodes. It has the characteristics of lightweight, large amount of data and single function. This is also a relatively extensive application in the serverless field, which can be combined with the storage products of edge computing.
▷ Workload of some data If only a certain type of function is available and not much data interaction function is required, then high-performance computing, business intelligence, modeling, basic science research, etc. are all application scenarios.
From these points of view, the popularity of serverless is determined by the characteristics of single task execution, lightweight data, and simple deployment. If it is to be implemented on a large scale, it will inevitably overthrow many existing technical architectures, especially the way of writing code.
What are the benefits to the enterprise?
Generally speaking, new technologies can be applied because they have the advantages of reducing costs, reducing manpower and making IT teams more agile. These serverless technologies all have.
The use of serverless technology is just like the current use of cloud computing, which is billed according to the actual usage, rather than the reserved computing resources. This is also the essence of serverless technology - function is service, which is a service form derived from platform as a service (PaaS) or even container as a service (CaaS), and does not break away from the business scope of cloud computing.
Some research institutions even believe that serverless technology can save 70%~90% of the cost for enterprises, depending on the specific environment. Others think that this idea is too optimistic.
Of course, since you don't need to care about hardware, configuration environment and operation, serverless technology will improve the agility of developers. DevOps will eventually become NoOps, which will reduce manpower and enable enterprise developers to focus on code. But this vision cannot be realized for a while. At present, the visible advantage is that the development will have faster development speed and lower cost.
The critical point has been reached, where should we go in the future?
The serverless technology is always evolving, and its applications are increasing. Forbes Technical Committee believes that the adoption of serverless applications has reached a critical point. They predict that serverless technology will have the following important trends in 2019.
▷ Standardization More and more standards on serverless technology will be issued, which will ensure better portability and interoperability between various platforms. Taking CNCF as an example, relevant standards have been included in the agenda. The advantage of standardization is to encourage more and more manufacturers to increase innovation, which is also a symbol of technology maturity.
▷ Orchestration service At present, the serverless alliance among major manufacturers is forming. In addition to Huawei Cloud, Google, IBM and other companies have also launched the open source framework of Knative. It tries to realize the unification of serverless, service network and container based on Kubernetes, and forms a cloud application orchestration platform. This may also be one of the trends: containers and serverless are developing in parallel and will eventually be unified.
▷ Accelerated integration No server makes the application appear distributed, which has advantages in development speed and modularization. However, there are still shortcomings in consistency, integrity and operation. In the future, enterprises will increasingly require unified management of cloud resources - including network, public cloud and private cloud resources, controlled from different granularity, which will usher in a new turn for serverless applications.
▷ More complex testing tools In order to ensure that this microservice based application successfully passes the test, more complex test tools will appear to meet the test challenges. It may include integration testing, testing of key components based on applications, etc.
Of course, these trends also include security, improving delivery speed and stability, which are issues that need to be considered before any new technology appears or is applied. All problems are not solved overnight, and need to be solved slowly in practice.
This article answers what serverless is, its advantages and disadvantages, as well as the benefits it brings to enterprises, and especially gives a judgment on the future trend. It is not difficult to find that as a service, serverless is naturally inseparable from containers and microservices, and is integrated with each other. And with the continuous evolution of technology and the introduction of standards, it is believed that the alliance of major manufacturers will also promote serverless to finally form a de facto standard and accelerate its implementation.
Tips
The relationship between container and serverless technology
The container is a way to deploy and run the operating system by relying on virtual isolation. It has agility, strong load capacity and low cost. The serverless technology only cares about the running state of applications and services, and manages the logic and state of the server side, which can achieve zero management. The application is triggered by events, with short invocation time and complete dependence on a third party. The two are closely related.
According to this trend, it is expected that in two to three years, serverless will become a new way of deployment, just like containers.