The author | Du Huan (alibaba senior front-end technical experts), Wang Wenjing

Serverless is helping front-end engineers improve their development capabilities and efficiency. At the ArchSummit 2019 Global Architect Summit in Beijing, Alibaba’s senior front-end technology expert Du Huan (Feng Chi) spoke with InfoQ about alibaba’s experience in using Cloud + Serverless to explore the front-end evolution process in the past two years.

Question: Mr. Du, how do you do? Please introduce your working experience and your current work in the Strategy & Cooperation Department of Ali Cloud.

Du Huan (Feng Chi) : At present, I am in the strategic cooperation Department of Ali Cloud, responsible for the developer business of Ali Cloud. What I am thinking about is how to help the whole developer community and ecology to have a better development environment in the cloud era when I become the indigenous developers.

Question: How long have you been doing front-end work? What puzzles and reflections have you had on this industry?

Du Huan (Feng Chi) : My entry into the front-end industry was actually quite interesting. I first got into Web development around 2001. At that time, is to do the website, do the website front-end, back-end, database, and then release operation and maintenance to do. At that time, there were not as many posts as there are now. Basically, there was only one post — development, doing all the things.

Later, with the expansion of the company’s business, I began to take over some work on Browser. At that time, there was a word called BS, which corresponds to CS, which is called Client Side, which is the Client Side. Client and Server are the same as Client and Server. BS is Browser and Server. From that point on, the APPLICATION of this BS structure emerged, and the structure emerged to solve the problem of development cost and deployment cost. It is that some enterprises want to make a system that can be easily used by different teams and different roles within the entire enterprise, and the deployment cost is not so high, and the development cost is not so high.

So when this type of business began to appear, the main interface of this type of business operation is in the Browser side, then the Browser side will encounter a great challenge, that is to say, your operation behavior, performance, habits and the original traditional client side software development that kind of operation experience is not quite the same. Because Browser is a Browser. The browser has a very limited number of element apis. And then the main client will come up with some request and say, you need to help me preserve the traditional experience interaction. Because for me, I just switch to another software provider, but my colleagues and I can’t feel anything when they use it, it should be the same for them.

The challenge at the time was to implement the same behavior in the browser as the UI and components in traditional development software. For example, if you type any character into the search box, it will have a drop down prompt, which is a very common UI, but it didn’t exist at that time. This UI is also not native to provide so far, are simulated out of the front end.

So that’s what I was doing back then. As I did this, I found that the challenge was that you had to simulate the entire UI architecture of a traditional development system. I was like, can I do this better? So slowly start joining some of the communities on the front end. I got to know some of my friends from that time. That’s how I got into the front end of the industry, and I’ve been there ever since.

Question: The development of the front end is very fast. In the upgrade of the RESEARCH and development system, how is Ali Cloud deployed?

Du Huan (wind chi) : Front-end upgrade is really both love and hate. And this upgrade, in my opinion, for example, the framework layer, it may solve some new form of development, but it doesn’t really solve the problems of the previous phase on a large scale for the business.

As an example of r&d efficiency, how has it changed relative to the business when we were doing engineering, the evolution of the framework, and when we first started using jquery? Nothing much has changed. And sometimes it makes your overall synergy costs, delivery costs, and labor costs somewhat higher. Because you introduce the concept of engineering, you have to do engineering, and engineering is not something that everyone can do very deeply. Because engineering is a field in itself, you need to prepare specific candidates and build a team to do engineering well. Relatively speaking, you have more people doing business, and the business process is slower. It turns out that if you do JS, HTML, CSS on the UI, you’ll see how you do it right away. Now you can’t see it, you have to compile it after you write it, you can probably see it after you engineer it and compile it.

What I want to say is that the front end is evolving, it’s actually getting more refined, it’s getting better quality, and it’s probably getting more efficient to a certain extent. But from a bigger perspective, from a business perspective, it may not really address business pain points. For example, as we mentioned today, some businesses expect people to come in and be able to work immediately, and then be able to go online immediately. From a business perspective, the evolution of the front end over the past few years may not be a final state, it is in a groping phase.

Question: So, as you said, engineering has not yet achieved its desired effect?

Du Huan (Feng Chi) : We believe that the emergence and continuous evolution of engineering will certainly help the business in the future, but it is still in the exploratory stage. Engineering itself needs to consume manpower and resources, including the addition of processes, which will actually reduce the efficiency of business delivery at this stage. So we can’t say it is wrong, because it has a development process after all. It’s just that this evolution of both the framework and this engineering is relatively painful until it reaches its final state.

But if the final state comes in the future, with the future combination of cloud native Serverless, from writing code to the final release of the era of integration, maybe all the problems will be solved.

Question: I interviewed an expert who said front-end engineering is “killing” yourself. What do you think?

Du Huan (wind chi) : MY understanding is so, if it is to destroy themselves, that means, the front end of this post is doing things will have a thing to replace it in the future. So what are the front-end jobs doing today? The core is to do the development of user interaction behavior. On a general basis, if you add the characteristics of the business, the user interaction behavior will have a lot of customization. In addition, because every business needs differentiation to survive, especially the product type of TOC, it will definitely seek differentiation from rival products on the user side. The user side is more about how to make users look more comfortable, operate more comfortable, and have a better overall experience. These tend to show up in differences in actual user interaction behavior.

There is a contradiction here. Those abstracted things can indeed be replaced by some means through engineering, but it is hard to say how to make the differentiated things and whether they can be completely replaced. At least there is no credible plan that can be replaced by everyone today. Just like today’s enterprise customized development is similar, the reason why it is called customized development, is that it at least at the point of customization, there is no abstract, can cover it a general thing, or it does not need to customize, just use the general good.

So I think engineering is able to destroy the general abstract things, custom thing at least for now, though, have not, unless the future evolution of machine learning to understand truly different needs, and be able to put the demand with the existing technology system, science system fully link, then I think there is a chance.

Question: What is the front-end technology architecture of Alibaba’s economy? What development stages did it go through? Can you extract some important time nodes to talk about it?

Du Huan (Feng Chi) : To a certain extent, the front end of Alibaba’s economy can at least represent the development stage of the domestic front end industry. First of all, as far as I know, in China, the front end of the position is the earliest in Ali. Why was there a front end at that time? It has changed from all the applications developed by one person to a kind of user demand orientation. Users think that your application is good, but the operation is poor, or the whole experience is not good, so can someone do this better? So under the demand of business has produced the requirement of professional refinement. When this refined demand was born in the front position, its core is to refine the structure, performance, behavior of the three processing or evolution. That’s what Ali was doing when the job was created.

Later, when the business volume gradually increased and the crowd was covered and the geographical location of the crowd was different, more and more users from the poor network environment would say that it was very slow to open and the experience was not good. At that time, they experienced the era of performance optimization. The main purpose of performance optimization is to enable users in different geographical locations to access our business at the best speed, so that everyone’s experience is the best possible.

The third stage, Node.js, provides the foundation for the engineering we talked about earlier. Because engineering means you’re going to do compilation, file processing, things that need to be able to run locally, in the system, not just on a Web page. Node.js enabled the front end to do this, and then began to evolve how the front end further separated behavior, style, structure, modular design, modular development. When you break it down, you can’t see the page, and you want to see, how do you put things together again? At that time, node.js was used to do this kind of overall engineering.

First more refinement, second more refinement, to be able to compile it together, to be able to see, at the same time, to solve or optimize the synergy with the original back end. In fact, before this stage, the front end and the back end of the collaborative way is more rough, is the kind of hand-over type. The front end does the page, and then hands over the product to the back end, the back end takes the front end to do the page, and operates in those specific areas, such as a table, the table should have data, the front end will fill in some fake data in the space, the back end will put the real data in the space, that is the earliest stage. With an engineered system, the interface between the front end and the back end can be done through an API. Before there was an API, the front end could simulate this fake data, through the conventions of the API specification and so on. This is the third stage, which is this more refined design, this modular design, and this evolution of front and back end synergy that engineering brings.

The next evolution was the wireless era, where the front end began to evolve into a hybrid development model, such as the birth of several frameworks. Some frameworks have also been created within Alibaba, such as Weex, known as Weex, and more recently Rax, etc. This is the front-end evolution in the context of all In wireless services. Ali has a lot of business in the middle and back office, which has a lot of relatively fixed structure. In fact, we have further evolved in engineering, which is the birth of this research and development mode in the middle and back office. This low-code research and development mode is more reflected in the building of the page. When we have enough design resources, we can simply assemble these modules together through some frameworks without writing code, or writing very little code. This is the evolution of the middle background.

Now, with the advent of cloud, enterprises hope to improve efficiency through cloud. This is just a wish, must go through a technological evolution before landing. Accordingly, from the beginning of this year to “Double 11”, our whole Ali has once again evolved its own technology system and upgraded to the R&D system of Serverless. It can not only help the front-end to complete for the development of user interaction, will also be able to complete the entire application development, the development of the whole application based on cloud computing real-time elastic ability to quickly prepare, and be able to really good “double 11” in the online service for such a big flow, help enterprises to achieve real USES the cloud to rapid commercialization, the purpose of the cost savings.

Question: When did Ali start Serverless?

Du Huan (Wind chi) : Ali started to discuss this in 2017, and it was officially launched in 2018. Due to the objective reasons of development environment and network, Ali cannot directly use the public resources of Ali Cloud for the time being. Therefore, we need to internally implement a set of Serverless capabilities existing in public cloud, so we built such a set of capabilities by ourselves in 2018. In 2019, we started to work on the upper-level research and development architecture and model, and we officially put it into use on “Double 11” this year.

Question: Cloud + terminal is a platitudine topic. What are the differences between the cloud + terminal of Ali Cloud and that of other enterprises?

Du Huan (wind chi) : why today the cloud appeared so long, we mention cloud + end also mentioned so long, mention Serverless also mentioned for a period of time, but the real practice so little? Because in the research and development practice still need very challenging things to help it drive.

The first is the top-level design, because you’re developing the ecosystem, rather than simply taking advantage of the cloud’s capabilities to do a task, which are two different things. If it’s harnessing the power of the cloud to accomplish a task, it’s easy and a lot of people are using it. But now it is impossible to really use the cloud + terminal and Serverless to help improve their research and development capabilities. The problem is that there is a lack of change in the whole r&d architecture. Because for you to really take advantage of it, the r&d model has to change, and the r&d process link has to change, which we don’t refer to.

Today, Ali, as a practitioner in the early stage, is willing to share his design to provide reference for everyone. In the future, we really want to practice in our own RESEARCH and development system, about how to design, what links, what key nodes, what characteristics and so on. The second is the real practice. If Alibaba just stays in the design and does not put its own business into practice, I believe everyone lacks confidence and may think that this is just our imagination. But today we are really tested by the big scene of “Double 11”.

In fact, I believe this can give some information to the whole industry, we are not only thinking and designing the whole Serverless, the whole cloud + end to the real RESEARCH and development mode, but also through our own business to verify that our design is feasible. Finally, we hope not only to share our architectural design, but also to open our entire internal R&D platform to the whole industry through Ali Cloud in the future, so that the entire open ecosystem outside can also use it. Everyone uses the same approach, the same platform, the same architecture.

Question: As you said, this year “double11“Is the first big test of Serverless in Ali, and has achieved exciting results, but there are bound to be some bumps in the process, can you share your experience in this respect?

Du Huan (Wind chi) : The most painful is the construction of Serverless base. I spent a lot of time talking to you about why you should not build your own layer because landing and practice Serverless is not a technical appeal, but a business appeal. Why is that? Because cloud itself is to help enterprises to achieve commercialization with low cost, high efficiency and fast, technology is just to make this business appeal to the ground, so it is very painful if there is no Serverless base. And if it’s not capable, it’s basically not available, because landing Serverless means all your services are running on top of it. If it goes down, your business goes down, and no one wants that.

Question: So, small businesses may not be suitable for Serverless?

Du Huan (Feng Chi) : It is better for small enterprises not to build Serverless base resource capacity by themselves. First, there are technical challenges. Second, there is the challenge of resource scaling. Because the core element of Serverless is that it is volumetric, volumetric means that if the volume is small today, you are using very few resources; If the volume is large today, you will be assigned a lot of resources. “Double Eleven”, the flow is hundreds of millions of traffic, if your enterprise does not have a hundred million units of this flow of machine resources, how do you schedule these resources for others to use? You can’t schedule to volume. Therefore, small enterprises, or enterprises that do not have the scale of resources, do not need to build Serverless capacity, not to say that they cannot practice Serverless, they can use public cloud, such as Ali Cloud or other clouds.

The most difficult thing we have encountered is the internal research and development network environment and production operation network. We are also not interconnected, and it is difficult for us to use the existing capabilities of Aliyun directly in the public cloud environment. We actually spent a year inside Ali pushing different teams to build the Serverless Base. This is the first one that I find challenging.

Second, the whole research and development model brings challenges to the research and development system. In fact, most of the time, when this kind of thing comes out, it seems to help the front end to expand the boundary and expand the value ability. But correspondingly, the students at the back end may first react to it, does this revolutionize me? So I don’t have to work? That’s not true. For example, Ali’s shopping guide business is the scene of data display. This kind of thing let a back-end to do, there is no technical value, technology precipitation, technology growth, but the existing research and development mode is to have back-end students come in to develop. So for them, the evolution of the Serverless development model has actually helped them evolve further down the ladder and focus on what really needs to be done. For example, the ability of the data, the ability of the service, how to do better, more solid, that’s what we want to see. However, at first glance, if we do not have an in-depth understanding of this research and development mode, we will think that it is a great challenge to the whole research and development mode and process, so we need to communicate and preach to everyone about the value it will bring to each position.

And third, going back to the front end, this thing, although it looks great, if you’re really determined to go in, it’s tearing growth for every front end. Because we have to start to understand what the business is, why the business is doing it, who the business is really serving, what the key metrics are, and how to do it. At this time, he has become a function of a business from the front end, the whole business is his development, delivery.

These are the three difficulties from the aspects of technical preparation, coordination of research and development system, and challenges of front-end positions, which I think are quite impressive and may be encountered by everyone in practice in the future.

Question: I read on the Internet that Serverless is not suitable for running applications for a long time, is completely dependent on third-party services, lacks debugging, and is complex to build. Do you agree with these views? For those who have not yet dabbled in Serverless, can you help them discern these concepts?

Du Huan (Feng Chi) : I don’t think there is any right or wrong. It just mentions some features, but I also want to give you a pep talk from a feature point of view. For example, CNCF today is what cloud native is pushing, and the core is Serverless. What are the core characteristics of Serverless? First, quantity. In other words, don’t look at it from a technical point of view, but from a business point of view, it is measured, and measured means that for the business, it is the best use of resources, neither waste nor shortage. Second, the billing method. Now a lot of the way you buy a lot of waste, buy less is not enough, and you have to buy more, it’s hard to expand it and your application. Serverless charges on a pay-as-you-go basis. In addition, it is supported by the platform, because the real-time flexibility of the platform helps users to achieve volume demands.

Secondly, as for the complexity of technical practice, I think it is only a stage status quo. Today, the industry has not been a out of the box, or more mature research and development framework or development system, research and development platform, everyone’s in a groping stage, including our own is just for practice, and also not mature, we are going to continue to push also encountered a lot of problem. So I look at it this way, first from a business perspective, it must be the best path. There are certainly stages of pain, so there is no right or wrong.

Question: What is the gap between Serverless practice at home and abroad?

Du Huan (Feng Chi) : Comparatively speaking, the whole development ecology in foreign countries is a little ahead of the domestic time, because the mainstream cloud manufacturers in foreign countries have done a lot of work on the whole IT industry and the whole development ecology. Foreign development ecology of cloud native, Serverless acceptance and practice is much better than ours, and much earlier. For them, it’s a first-mover advantage. Early provision means more practice, and then people can do some precipitation and abstraction for the whole Serverless universality, such as the general RESEARCH and development process, so some Serverless development frameworks like Serverless.com are born. More they stood in the framework of a third-party public point of view, you can either use the cloud vendors, manufacturers, you can also use the cloud based on I frame can quickly do, based on I frame, frame will naturally some constraints, you follow the requirements of the framework to do some action, then you can go to practice, The real practice of Serverless in business landing, this is some of the status quo.

So what we’re doing today is sort of the same thing, but we’re probably not just a framework, we’re looking to open up the whole platform. So not only do people say cloud level, function level can do what we suggest, you can even do it directly on top of us, we hope that’s the case.

Question: What are Serverless’s more fine-grained technologies to look out for next year?

Du Huan (Feng Chi) : When the whole RESEARCH and development mode of Serverless takes shape, the next step is practice. In the process of practice, there may be a more in-depth practice of the rendering layer, the service layer, the function runtime, the framework layer, and some more detailed requirements. I understand from next year, is likely to be very detail the evolution of the vertical stratification, there may be more of this kind of content, such as service choreography is how evolution, function runtime is how evolution, is how to improve performance and stability is how to further guarantee the good, is and will return to a big operational architecture evolution stage.

Question: Last Question, how do you see the front-end industry changing in the next five years? Does your team currently have any layout for these technical judgments?

Du Huan (Feng Chi) : This year, several other major directions of Alibaba’s economy, such as front-end intelligence, construction, etc., may be linked together and become some factors affecting the development trend of the whole front-end industry. But today I say more may be the whole development of ecological change, the future research and development mode can make the front for the entire business, specific to each link, such as intelligent front-end may through the UI, release yourself, with some mature visual material, front-end material, materials and services, through the auxiliary AI, Quickly some of the original need to front-end development of some of the model page module, through the WAY of AI generation.

With the continuous enhancement of cloud native capability and the supplement of engineering capability, operation and maintenance may enter NoOps in the future. It does not need operation and maintenance, but only needs to pay attention to some good data. Because the whole elasticity is associated with the real-time data that these data are running on, to make different changes.

So overall, the next five years for the front-end is further enlarged capacity value for five years, the cloud Serverless development ability will become the front-end “golden finger”, enterprises are willing to form a composed of the application of the cloud with development engineer research and development team, through the research and development team in combination with the entire cloud development system, fast delivery of its business. At the same time, in this process, combined with intelligence to further improve production efficiency, may be such a trend.

Author introduction: Du Huan (Fengchi), Ali Cloud Strategy & Cooperation Department/senior front-end technology expert. Currently, I am in charge of ali Cloud developer business in “Strategy & Cooperation Department” of Ali Cloud, member of Alibaba Economy front-end Technology Committee, and head of R&d and upgrade project of Alibaba economy front-end Serverless. He previously worked at Yahoo, Cisco and other companies.

recruitment

TL; DR

Ali Cloud – Cloud native Application Platform – Basic Software Zhongtai team (original Container platform basic software team) invites Kubernetes/ Container/Serverless/ application delivery technology field experts (P6-P8) to join us.

Working years: p6-7 from 3 years, P8 from 5 years, depending on actual ability. Working Place:

  • Domestic: Beijing, Hangzhou, Shenzhen;
  • Overseas: San Francisco Bay Area, Seattle

Resume reply immediately, 2~3 weeks results. Start after holiday.

Job content

Basic Product Division is the core R&D department of Ali Cloud Intelligent business group, responsible for computing, storage, network, security, middleware, system software and other research and development. The cloud native application platform basic software final state team is committed to creating a stable, standard and advanced cloud native application system platform, promoting the industry to upgrade and revolution for cloud native technology.

Here, not only CNCF TOC and SIG co-chairmen, but also etCD founder, K8s Operator founder and Kubernetes core maintenance members, the country’s top Kubernetes technical team.

Here, you will work closely with experts in cloud native technologies from around the world, such as the founders of Helm project, the founders of Istio Project, In the unique scene and scale, engaged in the development and implementation of cloud computing ecological core technologies such as Kubernetes, Service Mesh, Serverless, Open Application Model (OAM). On the benchmark-level platform of the industry, It not only gives Alibaba global economy, but also serves developers all over the world.

  1. Kubernetes as the core, to promote and create the next generation of “application-centric” basic technology system; In the ali economy scenario, the development and implementation of “application-centered” infrastructure architecture and the next generation NoOps system based on Open Application Model (OAM) enable Kubernetes and cloud native technology stack to give full play to the real value and energy;


  1. Develop core technologies for multi-environment complex application delivery; Combine ali with the core business scenarios in the ecosystem to create industry standards and core dependencies for multi-environment complex application delivery (benchbenchers Google Cloud Anthos and Microsoft Azure Arc);


  1. Design and development of core products and back-end architecture of cloud native application platform; With the support of ecological core technology and cutting-edge architecture, in the platform scene of world-class cloud vendors, we use technology to create continuous vitality and competitiveness of cloud products;


  1. Continue to promote the evolution of ali-economy application platform architecture, including Serverless infrastructure, construction of standard cloud native standard PaaS, construction of a new generation of application delivery system and other core technical work.

Technical requirements: Go/Rust/Java/C++, Linux, distributed system

Resume submitted

lei.zhang AT alibaba-inc.com

“Alibaba Cloud originators pay close attention to technical fields such as microservice, Serverless, container and Service Mesh, focus on cloud native popular technology trends and large-scale implementation of cloud native, and become the technical circle that knows most about cloud native developers.”