Serverless App Engine (SAE) abstracts the concept of an application, allowing you to deploy and host applications from code packages and images. With SAE, you can easily adopt container technology without managing clusters or servers. You can focus on designing and building your applications while SAE handles the complete application lifecycle, maximizes resource utilization, and provides monitoring and Operations and Maintenance (O&M) services. This topic describes the application types, deployment methods, and hosting features that SAE supports.
Application deployment methods
The following table describes the applications and deployment methods that SAE supports.
Application | Deployment method | References |
Native Spring Cloud application | WAR, JAR, and image | Modify service registration and discovery of applications to Nacos |
Native Dubbo application | WAR, JAR, and image | |
HSF | WAR, JAR, and image | |
Applications in programming languages other than Java, PHP, and Python | Image | Deploy applications in other languages by using images in the SAE console |
PHP application | Image and ZIP | |
Python application | Image and ZIP |
From a service framework perspective, you can deploy applications developed with the Spring Cloud, Dubbo, and HSF frameworks to SAE. However, their application runtime environments vary based on the deployment method.
When you deploy a Spring Cloud or Dubbo application using a WAR package, select an apache-tomcat version as the runtime environment.
When you deploy a Spring Cloud or Dubbo application using a JAR package, select the Standard Java Application Runtime Environment.
When you deploy an HSF application using a WAR or JAR package, select an EDAS-Container version as the runtime environment.
From a technology stack perspective, SAE supports hosting applications written in various languages, such as Java, PHP, Python, Node.js, and Go.
In addition to deploying from the console or using APIs, SAE also integrates with various continuous integration and continuous deployment (CI/CD) tools and plug-ins. Supported CI/CD tools include Jenkins, Terraform, and . Supported plug-ins include Maven, IntelliJ IDEA, and Eclipse. These integrations enable automatic deployment after you submit code.
If this is your first time deploying an application to SAE, create an application in the SAE console and push your business code to it.
Advanced settings for application deployment
Advanced settings for an application include Set startup commands, Set environment variables, Set Hosts binding, Configure health checks, Log collection service, and Persistent storage. You can configure these settings when you create an application or afterward. If you configure advanced settings after the application is created, the application must be restarted for the settings to take effect. To prevent business interruptions or other unpredictable errors, we recommend that you configure advanced settings during off-peak hours.
Application hosting features
After you host an application in SAE, you can manage the application's complete lifecycle from the console. This simplifies O&M.
Scenarios | Features |
Resource management | Use namespaces to logically isolate applications and use configuration items to store required application configuration. For more information, see Manage a namespace. |
Application deployment |
|
Application settings | After you deploy an application to SAE, you can change the instance type and switch the security group and vSwitch as needed. |
Application access | After you deploy an application to SAE, its services often need to access Internet resources or other VPCs. You can achieve this by attaching a CLB instance, configuring a NAT Gateway and an EIP, or attaching an EIP to an application instance. For more information, see Application access and traffic management. |
Application O&M | SAE supports basic O&M tasks through Webshell. For example, you can upload and download logs to diagnose applications. If an instance fails to start, you can use the one-click debugging feature in SAE to locate the issue. For more information, see Application O&M. |
One-click start and stop | SAE supports one-click start and stop for applications in development, testing, and pre-release environments within the same namespace. For more information, see Perform batch operations on applications. |
Elastic scaling | You can scale an application by changing the number of instances to increase or decrease its compute capacity. When the instance load is high, manually add new application instances. When the application is idle, reduce the number of instances to efficiently use resources and reduce costs.
|
Log management | During application O&M, you can use logs to locate and diagnose issues. For more information, see Log management. |
Monitoring and alerting | SAE integrates with Application Real-Time Monitoring Service (ARMS) to provide monitoring and alerting capabilities for key metrics of applications deployed in SAE. For more information, see Application monitoring and Alert management. |
Distributed configuration management | SAE supports centralized management of application configurations. You can extract many parameters and variables generated during application development into configuration files and upload them to SAE. For more information, see Configuration management. |