Serverless may potentially be the go-to approach for many cloud-based deployment within the next 10 years. This is because serverless can greatly improve R&D efficiency through extensive end-to-end integration and cloud service integration. In order to make full use of serverless technology, continuous improvements in cloud technology and product experience are necessary.
Recently, Alibaba Cloud updated its serverless offering and conducted a series of improvements on the overall product experience. Alibaba Cloud Function Compute (FC) was integrated into the container ecosystem with triggers for container images. The first serverless developer platform in China, Serverless Devs, was made open source, helping developers deploy projects and experience multi-cloud products with a single click. SAE provided elastic configuration policies in the QPS/RT dimension, which increased the traffic limit and degradation and other enterprise feature, and enhanced application lifecycle management. The Serverless event bus, EventBridge, was officially released, with standard CloudEvents 1.0 protocol. It can help users easily build loosely coupled and distributed event-driven architecture.
More Features for Function Compute and Container Integration
Overcoming Thresholds on Experience
The advantages of Function Compute (FC) are obvious. It helps developers perform massive and complex scaling, O&M, capacity planning, and cloud product integration. This allows developers to focus on the business logic, accelerate delivery time for faster time-to-market, and continuously optimize costs. However, migrating from traditional applications to FC still faces many challenges. For example, there are difficulties and problems of different operating environments, high costs of application building and learning, restrictions on code package services, insufficient version managements for deliverables, support and integration shortage of popular open-source tools such as CI/CD pipeline.
The Solution Lies within Containers
The container ecosystem is rich and mature, and has been widely accepted and used. Application containerization has become a de facto standard for development and deployment. The newest FC allows container images to be used as function deliverables. It integrates containers’ development, deployment, and ecosystem (before going online) with FC’s O&M free, idle cost free, and cloud service integration (after going online). Thus, it comprehensively upgrades the developer experience in:
Simplifying Serverless transformation of applications: There is no need to modify the code, or recompile the binary data or shared objects (*.so). They can be debugged locally to ensure the consistency of development environment and online environment;
Less function code restrictions: Before decompression, the image supports a maximum of 1 GB of capacity, while that of code package is only 50 MB. The larger capacity avoids separation between code and the dependency, and simplifies distribution and deployment;
Hierarchical caching of container images: Incremental code can be uploaded and pulled, improving development efficiency and reducing cold start latency;
Sharing and reuse of images: Logic can be transplanted to reduce repeated development and construction;
Hybrid deployment: Server-full version (ECS, container, and ACK) and Serverless version (FC, ASK, and SAE) of same products can achieve hybrid deployed. It is also effective for different product or traffic dividing between services of the same product. By doing so, consistent performance, rigid resource delivery, rapid scaling, and minimum O&M can be achieved;
CI/CD: Continuous construction, integrated testing, code uploading, storage, and standard version management are provided. Rich open-source and ecological CI/CD tools can be reused.
Serverless Devs: A Solution for the Serverless Tool Chain Problem
The implementation of serverless cannot be achieved by a single commercial product, but by a complete chain of tools. This is because serverless involves the creation of projects, and the development, testing, release, and deployment of applications. It is the full lifecycle management of the entire development and O&M project.
Serverless Devs is a componentized and plug-in-based Serverless developer platform. It aims to solve the problem of Serverless tool chain in a more open and standard manner.
Lower learning cost: With Serverless Devs, developers can use mainstream Serverless services and framework without learning about every Serverless tools on the market.
Intuitive development and deployment: Serverless Devs provides an App Store. Developers can quickly search for desired application cases or components by keywords. Then, developers can configure the project through visual editing, and deploy the project with a single click. The overall deployment time is reduced by nearly a half.
Flexible use: Serverless Devs can not only describe resources such as FC, API Gateway, and Object Storage Service (OSS), but also describe behaviors of Install, Build, and Publish through provided plug-ins and Hook. Serverless Devs does not restrict the commands for each component. Instead, it encourages developers to develop different capabilities for different components to cope with more complex scenarios. The flexible and open usage improves the development and O&M efficiency of Serverless projects by 90%.
Serverless Application Engine (SAE) is the shortest path to implement core production application of Serverless. FC provides a more efficient implementation path for innovative businesses or offline scenarios that consume a lot of computing power. SAE is the shortest implementation path for the core production application of Serverless. Taking the microservices scenario as an example, SAE provides full-lifecycle management for applications, including application development, application deployment, application management, monitoring management, and log management.
Smooth migration and maintenance-free: Microservices applications of Spring Cloud/Dubbo and Spring Boot can be deployed to SAE without modifying any code or business logic. SAE frees users from the underlying details of IaaS and Kubernetes, and solves the pain points of complex O&M of microservices architectures and container services. Therefore, it has the absolute advantages of no threshold, zero transformation, and container foundation free. It can reduce labor costs and enable customers to focus on the business.
Multiple enterprise-level features for business stability: SAE provides out-of-the-box microservices governance and application monitoring capabilities. It utilizes capabilities of basic ARMS to support end-to-end application monitoring and troubleshooting, saving a lot of time. AHAS is integrated into SAE, which greatly enhances the stability and reliability of the microservices system during traffic peaks.
Restricted resources saving through Serverless: SAE provides elastic timing and monitoring metrics such as CPU, Memory, QPS, and RT. It can scale out in seconds to maximize the availability of system clusters, and reduce the waste of restricted resources. In addition, SAE’s unique one-click start-stop function can also save the cost of development and test environments.
EventBridge: Standard for Event-driven Architectures
In July 2019, EventBridge was launched by AWS and honored as the most important product since Lambda. By far, it has become the standard for event-driven architectures. Event-driven architecture has been listed by Gartner as one of the 10 major strategic technology trends, and will become the mainstream trend of microservices in the future.
The Serverless event bus EventBridge of Alibaba Cloud is built to resolve the following pain points in current event processing. Cloud products need to write multiple events or obtain data from multiple event sources. Alibaba Cloud uses EventBridge to build an event center for cloud products. Event protocols of cloud services are not compatible when there is no unified event standard. Alibaba Cloud builds event-driven architectures with the standardized CloudEvents 1.0 Protocol.
Repeated construction of event capabilities between cloud services cannot be expanded. Events are independent, and scale effects cannot be obtained. With EventBridge, Alibaba Cloud connects industry partners and third-party SaaS service providers to run upstream and downstream events in a standardized way.
The polishing of details is not completed overnight, and the improvement of experience needs practices. With open-source Serverless Devs and the variety of Serverless products and tools, Alibaba Cloud will continue to improve the overall experience of the Serverless ecosystem in a more open manner.