Introduction: Many users' applications do not use Serverless from scratch, but because of their recognition of the Serverless concept, and based on the demands of architecture upgrade and evolution, it is expected that the original deployment environment will be migrated or mixed into Serverless. Then in this scenario, the cost of application migration and transformation is particularly important...
As the best practice and future evolution trend of cloud computing, serverless is highly respected in the cloud-native era due to its fully managed and O&M-free experience and the cost advantage of pay-as-you-go. The usage scenarios of serverless are also driven by events, and some specific scenarios such as data processing have turned to more widely used WEB, micro-services, and AI, which have penetrated into e-commerce, mutual entertainment, travel, and even traditional industries.
In the process of the popularization and promotion of Serverless, although development and operation and maintenance personnel agree with its core value of cost reduction and efficiency improvement, they are at the same time troubled by a series of serverless all-inclusive features such as vendor lock-in, black boxing, and full shielding; The migration cost is high, the troubleshooting is difficult, and the root cause demarcation analysis is difficult and other pain points need to be solved urgently.
The so-called openness means that users can get rid of the mental burden and migrate from any platform to serverless without changing the language application. It means that users can get the core data of the whole life cycle of serverless applications out of the box Its original architecture can be integrated with the serverless architecture to realize the intercommunication and co-location between the cloud and the cloud. After embracing openness, Serverless will not be a technical experiment that needs to be transformed to be compatible, and it will not be an independent data island separated from the original technology system, but will carry technology developers. Ideal and realistic, it is one of the shortest paths to make technology more inclusive, universal and shared.
Alibaba Cloud insists on continuous investment in the serverless field and maintains a leading position in technical competitiveness. SAE (Serveless Application Engine), as the industry's first application-oriented Serverless PaaS, can provide a one-stop application hosting solution with better cost and higher efficiency . At the beginning of its internal incubation in 2018, SAE has adhered to the tenet of zero threshold and zero transformation to carry out serverless transformation and implementation of applications (tasks), and has been actively seeking to be integrated in the product development process to enhance the DEVOPS full-process experience. Three During the year, it helped more than a thousand customers to realize cloud-native serverless applications. The existing and upcoming functions of SAE are all centered on "embracing openness". Let's take a look at the product features currently provided by SAE and the thinking logic behind it.
Openness of Serverless Deployment Architecture
In fact, many users' applications do not use Serverless from scratch, but because they agree with the concept of Serverless, and based on the demands of architecture upgrade and evolution, they expect to migrate the original deployment environment such as physical machines, cloud hosts, Kubernetes, or Mixed in Serverless. In this scenario, the cost of application migration and transformation is particularly important. However, the steep learning curve of Serverless and the stereotype of vendor ecological lock-in discourage many developers. As mentioned earlier, SAE focuses on zero threshold, zero transformation and migration. In fact, applications can be directly deployed in SAE without modifying any code logic. For non-container applications, SAE also provides built-in image construction capabilities, and publishes Single makes the whole CICD process, automation and visualization. Below we focus on cross-platform usage scenarios.
SAE and cloud host co-location
SAE supports co-location with cloud host (ECS) instances, so as to achieve rapid elasticity in the scenario of inventory migration, and take advantage of SAE without any development and transformation. The specific method is to add the existing ECS instances to the SLB back-end virtual server group declared by the SAE instance, and the SAE application will automatically and dynamically change in scenarios such as deployment, scaling, stopping, starting, restarting, and vertical scaling. Maintain the instance of the SLB backend and provide services to the outside world in a unified manner.
Traffic exchange between SAE and Kubernetes
SAE supports traffic exchange with Kubernetes (ACK), and exposes application service addresses with the help of public network SLB/Ingress, or the ability of private network SLB under the same VPC to cooperate with PrivateZone intranet domain name resolution; or use the same registration in microservice scenarios The center can realize the communication and interaction between the SAE instance and the Kubernetes pod without changing the original architecture.
Openness of Serverless Metrics Data
Prometheus is an open source monitoring and alarm system. The main features include multi-dimensional data model, flexible query statement PromQL and data visualization display, etc., which has become the de facto standard of cloud native monitoring system. SAE provides out-of-the-box observability capabilities, and is fully connected to and compatible with the Prometheus ecosystem, opening up core indicator data to meet users' demands for flexible configuration, customizability, and scalability in the monitoring field.
Basic monitoring data
SAE collects and analyzes data on the CPU, load, memory, network, and disk of the running instance of the application, and can display it in a dynamic graph, so that users can understand the status of the application running device in real time and intuitively. The collected data is prefabricated in Prometheus and configured with an integrated visualization dashboard. Users can customize the configuration of the market through Grafana.
Application monitoring data
For the application of Java and Php languages, SAE can collect data such as its interface RED through agent technology. At the same time, its data has also been prefabricated in Prometheus, and integrated with the visualization dashboard, users can customize the configuration of the dashboard through Grafana.
For other multi-language applications, SAE will use EBPF technology to acquire non-intrusive seven-layer monitoring data, and provide a full-process, insensitive experience. Multilingual monitoring data will also be prefabricated in Prometheus, and users can customize the configuration of the market through Grafana.
Custom monitoring data
SAE applications can manually bury points to expose custom indicator data according to their custom services, and use the service discovery capability in the VPC to access Prometheus to ensure the availability of the entire collection link in an environment where instances are constantly changing.
Openness of Serverless Universal O&M
With the continuous development and evolution of products, we deeply realize that serverless does not mean that the server is completely black-boxed as wished, users completely trust the internal operation of the product, and at the same time, we continue to educate users to adopt serverless mentality and behavior. Carrying out development operation and maintenance, which not only conflicts with the user's existing knowledge system and traditional operation and maintenance habits, but also is not conducive to the timely investigation and root cause delimitation of various problems. What users really need is to enjoy the right to know, and to use the improvement of all-round operation and maintenance capabilities to achieve more efficient and automatic operation and maintenance operations, reduce the complexity of operation and maintenance, and improve the happiness of operation and maintenance. SAE has launched a number of solutions and best practices based on common user demands and pain points to continuously optimize and improve serverless operation and maintenance capabilities.
One-click installation of Webshell and tools
Logging in to an instance for information collection and troubleshooting is an essential part of traditional O&M. In the Linux environment, there are already many mature problem diagnosis tools for users to use. SAE knows that it should not passively deliver the entire application and environment to third-party suppliers. What truly understands the enterprise scenario and business logic is that users need to be in control . On the basis of exposing application instances, SAE provides the Webshell function, and users can access Serverless instances for operation and maintenance operations just like accessing local hosts. At the same time, in order to conduct troubleshooting more efficiently, SAE provides the function of one-click installation of tools, which solves the situation of command castration in custom images, and adapts to various operating systems. You can download and update tools in a private network environment.
Two-way file transfer
How to operate and maintain efficiently has always been the focus of SAE. In the process of daily development, deployment and testing, users often mention that they expect to upload local files or configurations to cloud applications for temporary debugging, or download cloud application logs, configurations, Java dumps, and core dumps to the local machine. As a rigid requirement in the field of operation and maintenance, SAE has launched a two-way file transfer function in a serverless scenario, which enables upload and download functions without software dependencies and application intrusion.
Springboard and end-cloud joint debugging
In the process of developing joint debugging and testing, due to the dependence on the application environment, and considering the speed and efficiency of startup and deployment, developers are often reluctant to re-start the cloud application locally to simulate the cloud execution environment for local debugging. This is actually a major problem faced in the serverless scenario. SAE uses the built-in springboard to realize the intermodulation between local services and cloud SAE applications, and supports Java/php remote debug and remote access to instances, which truly integrates local and cloud environments. integrated.
Summarize
Embracing openness, the next journey in the serverless era, is not only the vision of SAE under the cloud native wave, but also the direction that SAE continues to focus on and will continue to adhere to. In the future, SAE will be committed to providing more powerful technical support and experience of products with minimal transformation and cognitive costs for users, and will continue to polish and advance the concept of openness in deployment architecture, indicator data, general operation and maintenance and even all aspects. The development process of the serverless era.
For more content, pay attention to the Serverless WeChat official account (ID: serverlessdevs), which brings together the most comprehensive content of serverless technology, regularly holds serverless events, live broadcasts, and user best practices.
Copyright statement: The content of this article is contributed by Alibaba Cloud's real-name registered users. The copyright belongs to the original author. The Alibaba Cloud developer community does not own the copyright and does not assume the corresponding legal responsibility. For specific rules, please refer to the "Alibaba Cloud Developer Community User Service Agreement" and "Alibaba Cloud Developer Community Intellectual Property Protection Guidelines". If you find any content suspected of plagiarism in this community, fill out the infringement complaint form to report it. Once verified, this community will delete the allegedly infringing content immediately.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。