Cloud vendors’ niche battlefield: Serverless
▲Click above Leifeng.com Follow
Cloud development will greatly reduce the extra work of developers, allowing them to focus on the business logic itself.
Text | Zhang Shuai
Serverless, translated into Chinese as "no server", is somewhat inappropriate. Serverless does not mean no server, but rather it means reducing the role of the server as much as possible. Serverless allows developers to implement cloud development. Front-end and back-end personnel no longer need to configure servers, but instead hand it over to cloud vendors. Billing is based on function running time, which is an ideal development environment.
Tencent Cloud's Li Chengxi said, "The front-end full-stack development model, from the front-end to the back-end, is similar to the past when Web mobile engineers took on a lot of responsibilities, so cloud vendors are needed to provide cloud development solutions. The traditional development model requires developing the logic of the front-end and back-end on the one hand, and handling all operations and maintenance on the other hand. It is impossible to rely on one person, so there is the current traditional division of labor model, which is front-end, back-end, and operations and maintenance. "
If the business is developed in the cloud, developers will only care about a small part, mainly business logic. As long as engineers can understand Java and node.js, they can basically independently develop small program applications with stable services, excellent performance and certain security. Through the promotion of the cloud development model, an ideal model of full-stack development for front-end engineers can be truly realized.
Some people believe that FaaS (Function as a service) is equivalent to Serverless. Compared with the traditional divisions of Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), FaaS is more subdivided. Currently, the cloud vendors providing FaaS in the industry mainly include AWS Lambda, Microsoft, Alibaba Cloud, and Tencent Cloud. In general, Serverless is still in its early stages of development, but it has huge potential.
The ultimate goal of cloud services is to provide services directly. Serverless is the ideal environment for developers. Today’s cloud services are not the form of cloud computing originally envisioned, but the entire industry is getting closer to it little by little.
Development of front-end technology
Front-end technology has developed very rapidly in recent years. The development of front-end technology can be viewed from two dimensions: one is the complexity of the front-end, and the other is the breadth of application.
-
Just looking at the complexity, from the HTML, JS, and CSS stages to the DOM operation framework, from DOM to MVC, then to the MVVM framework, and now to the emergence of assembly technology standards, the ability of front-end engineers to develop complex applications has been continuously improved.
-
From a breadth perspective, the front-end has also been expanding, from browsers to servers, to mobile terminals, and applets. The boundaries of the front-end are constantly expanding. However, in this development process, there is a deep isolation, which is essentially physical isolation. For example, there is a physical isolation between the front-end and the back-end, such as between mobile phones and servers. For serverless, function as a service is a function for the front-end. The function is part of the front-end code. The back-end service and the front-end are completely integrated into a code system. From this perspective, serverless breaks the physical isolation and helps the front-end truly achieve full stack.
Li Ming, TVP of Tencent Cloud and partner of Layabox, said that under the traditional development model, the cost of front-end and back-end, and operation communication is very high. Serverless is indeed a new option that all R&D teams should consider in the future. However, self-exploration may be costly. If this matter is handed over to front-end development, they will have to learn the cost of operation and maintenance and the back-end; if it is handed over to back-end development, it actually has nothing to do with them. What if it is handed over to cloud vendors? This may be a good choice. Because in this way, everyone can focus on their own business and do not need to spend a lot of time and energy learning additional knowledge, thereby improving the overall efficiency of the product development team.
Gao Yingjian, a senior engineer at Maoyan, also mentioned that in the actual development process of Maoyan's operation tools, since the project was mainly used to configure daily operation activities and had nothing to do with the core logic of the backend, the backend was unwilling to actively cooperate. In this case, with the help of Tencent Cloud's large front-end Serverless product - Cloud Development, the front-end can implement the back-end business logic by calling APIs, which greatly improves the efficiency of front-end development. The logic, data, and resources are all handled by front-end engineers, which lowers the development threshold and improves development efficiency.
Difficulties in Transforming from Traditional Mode to Serverless Mode
Zhang Shanyou, TVP of Tencent Cloud and CTO of Youhaoda Technology, believes that Serverless needs a unified industry standard. Currently, there are many Serverless service providers, but each has its own independent gameplay. Currently, if you want to migrate from service provider A to service provider B, the cost is high and the difficulty is great. If a set of Serverless code can run on cloud services such as Tencent, Alibaba, Microsoft, and Amazon, it will be enough to reduce the migration cost and effectively reduce customers' concerns before using Serverless services.
Zhu Feng, TVP of Tencent Cloud and technical director of Beijing Zhujian Technology, believes that from the perspective of reconstruction, Serverless cannot achieve true technical reconstruction, and the backend is still a complex process-oriented function that is not easy to manage. If the reconstruction problem can be solved, the threshold for use can be truly lowered.
In addition, data security is still a major concern for most guests, and the essence of this issue is the issue of public cloud data security. Interestingly, in the cloud development model, each user's environment resources are independent, that is, private, and cloud development provides the ability to connect with its own database. In this way, the user's data is stored in the user's own cloud development environment resources, which guarantees the user's data security and stability to a certain extent.
In addition, the transition from the traditional model to the serverless model is hindered by problems such as error troubleshooting and the inability to cross clouds, which also makes it impossible for many businesses to migrate directly from the traditional model to the serverless model.
How do Serverless developers change?
The backend development engineer of Jisu App mentioned that under Serverless, if the frontend and backend are combined, they operate the data provided by the backend, including creating data, modifying data, etc. This is completely a data-level operation, not just a UI-level operation, and not just a UI performance issue; at the same time, they also need to consider the performance issues of some backend data, as well as special backend modes, such as queues and custom tasks. This may lead to the division into two backends, one doing serverless services and the other doing serverless tool and technology construction.
Zhang Qiuyi, a core member of Node js, said that in the future the front-end and back-end will tend to be systematic and full-stack. This development model will inevitably bring about a change in thinking. The front-end needs to consider the back-end, and the back-end needs to consider the front-end, and gradually form a complete product development model. The emergence of Serverless conforms well to the development of this new development model. We need to be prepared to meet this major trend.
Ma Jian, a core member of AOTU Lab, mentioned from the perspective of team division of labor that when we were forming the team these years, we did some things on the front end, and used node on the back end to solve very general scenarios. But as we developed further, we found that the front-end students who worked on node, or the node students who worked on the front end, were actually unprofessional. So today, our team has also divided into a group of people who develop UI and a group of people who specialize in back-end services. Following this idea, the big front-end Serverless will definitely continue to be split. Even if Serverless is done well, there will definitely be a group of people who specialize in it, and another group of people may still be engaged in business development.
- END -
◆ ◆ ◆
Recommended Reading
What’s Changing and What’s Not Changing in AI Education in 2019
Current status of TWS headset industry: Apple wants to take over, Microsoft wants to join
Xiaodu's Three Hundred Brothers