By Liu Yu
Once, someone asked me, “What is the relationship between the services and functions of Alibaba Cloud Function Compute (FC)? I believe some colleagues still don't understand their relationship.
Recently, Alibaba Cloud officially released another *concept: application. Now, Alibaba Cloud Function Compute (FC) has three-layer concepts: function, service, and application. It is a bit confusing.
People who pay attention to Alibaba Cloud Serverless may find two things:
Why does Alibaba Cloud Function Compute release so many features, but only a few will be accompanied by experience activities to do operations? What is the application? What does it have to do with the service and the function?
First of all, we need to make it clear that many concepts are now abstract and not absolute, especially after the resource and business layers are associated. For example, what does a function correspond to? Is it a function, a method, a function, a service, or a framework? There is no clear definition, so our exploration this time must be based on a kind of the doctrine of the mean, a subtle feeling of being unspeakable.
In addition, all nouns are abstract, corresponding to different development tasks, and different businesses may vary from each other. Therefore, the exploration in this article is only for some cases.
Before discussing function, service, and application, I would like to explain my idea:
Through this figure, it is not difficult to find the following facts:
Function: It can be considered as a resource at the business layer. For example, there are three functions in the backend business of the photo album applet mentioned above:
In summary, Function is regarded as a resource, which is a certain business granularity when corresponding to our business. Service is a collection of functions, abstracting a certain configuration. Application serves as a combination of business and resources.
Function Compute (FC) already has the concept of service and function. At first glance, function and service are both resources. Then, application is added to the two existing concepts, but application is more like a kind of logic rather than a resource, which is the logic associated with resources. What is the value of the application? Why should there be applications, and why should we use them?
I think application is a mental upgrade to some extent, which is the process of upgrading from resource logic to business logic. In addition, the emergence of application means Serverless architecture may really be delivering application. How can we understand this sentence? From the perspective of the current Function Compute application, it is not difficult to find that:
Therefore, this is an idea of using Serverless architecture from the perspective of application. Of course, it is undeniable that the current application still has many features that require improvement, but we can also see that it becomes more delicate, more refined, and more interesting.
As a result, the application is a full lifecycle management capability that is closer to the business layer to a certain extent. The thought upgrade allows developers and business teams to pay more attention to their business logic, applications, and features. Compared with the application deployment and management at the traditional resource layer, application is more professional and clearer. You can see all resources on one page and manage these resources appropriately:
In addition, it can view or roll back how many times the application has been deployed or how results and logs are each time at any time:
In the near future, monitoring, alarming and environmental division will be reflected on the application side, which will be good news for business development.
The application launched by Alibaba Cloud Function Compute is a very interesting capability. It has two methods for creation. One is to directly import an application that meets the Serverless Devs specification, and the other is to create an application quickly through existing templates:
Through the figure above, it is not difficult to find there are various web frameworks, web applications, and artificial intelligence cases for reference in the application. Therefore, on the one hand, the application is trying to solve the pain points of how to make Serverless fast onboard. For example, the threshold for getting started or experiencing is relatively high. On the other hand, the application enables developers to use Serverless architecture simply, quickly, and conveniently in more cases. Many applications are ready to use out of the box.
Let's take an application of lossless compression of PNG pictures that my friend asked me to write the other day as an example:
As a community contributor, after developing the application, I only need to fill in an official application collection form:
After it is audited, it can be automatically synchronized to the application center for more people to test and use. When others use it, it only needs one click:
The whole process was smooth. Currently, the templates for the application contain applications contributed by dozens of communities, including AI target detection and OCR recognition:
Therefore, when we say open here, we also mean the application of Alibaba Cloud Function Compute (FC) echoes the open-source project Serverless Devs in the community. In other words, Alibaba Cloud Function Compute (FC) regards itself as a subset of open-source in an effort to embrace open-source. It means all cases and templates of the application are manifestations of the Serverless Devs application center. It contributes to open-source construction and open ecology, which is the attitude of using Serverless architecture with developers.
I hope more developers can use Serverless with us. There are more and more community projects now. I believe this is only the beginning.
Alibaba Clouder - June 7, 2018
Alibaba Clouder - November 13, 2020
Alibaba Clouder - August 26, 2020
Alibaba Cloud Serverless - September 29, 2022
Alibaba Cloud Serverless - May 9, 2020
Alibaba Clouder - July 29, 2020
Alibaba Cloud Function Compute is a fully-managed event-driven compute service. It allows you to focus on writing and uploading code without the need to manage infrastructure such as servers.Learn More
An online computing service that offers elastic and secure virtual cloud servers to cater all your cloud hosting needs.Learn More
Visualization, O&M-free orchestration, and Coordination of Stateful Application ScenariosLearn More
Serverless Application Engine (SAE) is the world's first application-oriented serverless PaaS, providing a cost-effective and highly efficient one-stop application hosting solution.Learn More
More Posts by Alibaba Cloud Native Community