All Products
Search
Document Center

Serverless App Engine:Application hosting overview

Last Updated:Dec 14, 2023

Serverless App Engine (SAE) allows you to deploy and host applications by using code packages or images without the need to maintain the underlying infrastructure. SAE helps you get started with containers with ease. You can focus on designing and building applications without the need to manage and maintain clusters and servers. SAE helps you manage the lifecycle of the applications and maximize resource utilization. SAE also provides monitoring and O&M capabilities. This topic describes the application hosting feature, and the application types and deployment methods that are supported by SAE.

Application deployment methods

The following table describes the mainstream applications and deployment methods that are supported by SAE.

Application

Deployment method

References

Native Spring Cloud application

WAR, JAR, and image

Host Spring Cloud applications to SAE

Native Dubbo application

WAR, JAR, and image

Host Dubbo applications to SAE

HSF

WAR, JAR, and image

Host an HSF application to SAE

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

  • Applications that are developed by using Spring Cloud, Dubbo, and High-Speed Service Framework (HSF) frameworks can be deployed to SAE. Application runtime environments vary based on the deployment method that you select.

    • If you deploy a Spring Cloud or Dubbo application by using a WAR package, select a runtime environment of an apache-tomcat version.

    • If you deploy a Spring Cloud or Dubbo application by using a JAR package, select Standard Java Application Runtime Environment.

    • If you deploy an HSF application by using a WAR or JAR package, select a runtime environment of an EDAS-Container version.

  • SAE allows you to host applications that are built by using multiple programming languages, such as Java, PHP, Python, Node.js, and Go.

  • SAE allows you to deploy applications in the SAE console and by calling API operations. SAE also allows you to use continuous integration and continuous deployment (CI/CD) tools, such as Jenkins and Terraform, and plug-ins, such as Maven, IntelliJ IDEA, and Eclipse, to automatically deploy applications after you submit code.

Important

The first time you deploy an application to SAE, you must create an application in the SAE console to push business code to the application.

Advanced settings for application deployment

SAE provides multiple advanced settings, such as the startup command, environment variables, host binding, health check, log collection, and persistent storage. You can configure advanced settings when or after you create an application based on your business requirements. If you configure advanced settings after you create the application, the application is restarted to enable the settings. To prevent unpredictable errors such as business interruptions, we recommend that you configure advanced settings during off-peak hours.

Java

Advanced setting

References

Startup Command Settings

Configure a startup command

Java Tomcat Settings

Configure Java Tomcat parameters

Note

You can configure Tomcat settings only if the Application Deployment Method parameter is set to Deployment with WAR Packages.

Environment Variable Settings

Configure environment variables

Service Registration and Discovery

Hosts Binding Settings

Configure hosts binding

Application Health Check

Configure application health checks

Application Outbound/Inbound Internet Access

Application Lifecycle Management

Configure application lifecycle management

Log Collection Service

Persistent Storage

Configure NAS storage

Configuration Management

Inject configurations

Graceful Start and Shutdown of Microservices

Note

If you set the Application Deployment Method parameter to Deployment with WAR Packages or Deployment with JAR Packages, and set the Application Runtime Environment to EDAS-Container-XXX, this section is not displayed.

Other programming languages, such as Node.js and Go

Features of application hosting

After you host an application to SAE, you can manage the lifecycle of the application in the SAE console with a few clicks. This simplifies the O&M process.

Feature

Description

Resource management

Namespaces are used to logically isolate applications and ConfigMaps are used to store application configurations. For more information, see Manage a namespace.

Application deployment

  • Application creation and deployment: After you develop an application, you can create and deploy the application in the SAE console, and configure advanced settings for the application based on your business requirements. For more information, see Create an application.

  • Plug-in-based deployment: SAE allows you to deploy applications by using Maven, IntelliJ IDEA, and Eclipse plug-ins. For more information, see Use plug-ins to deploy applications.

  • CI/CD tool-based deployment: CI and CD are required during the iteration of an application. SAE allows you to implement CI/CD by using Jenkins and Terraform. For more information, see Use CI/CD tools to deploy applications and Terraform overview.

  • Upgrade and rollback: After you create an application, the application must be iterated and upgraded. If issues exist in an upgraded version, you must roll back the application to an earlier version. For more information, see Upgrade and roll back applications.

Application management

After you deploy an application to SAE, you can modify the instance type, security group, and vSwitch of the application based on your business requirements. For more information, see Manage applications.

Application access

After you deploy an application to SAE, the application needs to complete specific business tasks by accessing resources over the Internet or across virtual private clouds (VPCs). In this case, you can bind Server Load Balancer (SLB) instances, configure a NAT gateway and an elastic IP address (EIP), or associate application instances with EIPs. For more information, see Application access.

Application O&M

SAE provides the webshell feature to help you perform basic O&M tasks. For example, you can upload and download logs to perform routine checks on applications. If an instance fails to start, you can use the one-click debugging feature of SAE to identify and resolve the issue. For more information, see Application O&M.

One-click start and stop

SAE allows you to start and stop multiple applications that are developed in the development, testing, or staging environment in a namespace at a time. For more information, see Use the one-click start and stop feature to manage applications.

Scaling

You can change the number of application instances to adjust the compute capacity of an application based on the workloads of your application. If the workload of an application instance is higher than expected, you can use the manual scaling feature to add instances. If the application is idle, you can reduce the number of instances in the application to improve resource utilization and cost-effectiveness.

  • Auto scaling: If you do not need to immediately scale your instances, we recommend that you use the auto scaling feature. For example, you can configure auto scaling policies to scale instances based on periodic traffic changes. For more information, see Configure an auto scaling policy.

  • Manual scaling: If you need to immediately scale your instances, we recommend that you use the manual scaling feature. For example, you can scale out instances when unexpected traffic surges occur. For more information, see Manually scale instances.

Log management

You can use logs to identify issues when you perform O&M tasks on applications. For more information, see Log management.

Monitoring and alerting

SAE integrates with Application Real-Time Monitoring Service (ARMS) to help you monitor key performance metrics for your applications that are deployed on SAE. For more information, see Monitoring.

Distributed configuration management

SAE allows you to manage application configurations in a centralized manner. You can extract a large number of parameters and variables that are generated during application development into configuration files and upload the files to SAE. For more information, see Configuration management overview.