Application publishing management implements continuous deployment (CD). A standardized release process automatically deploys applications to cloud resources, such as Elastic Computing Service (ECS) and Container Service for Kubernetes (ACK). This improves the efficiency and stability of application publishing.
Key concepts
An application can be divided into multiple application groups. Each application group contains a set of compute resources, such as ECS instances. To release an application, you deploy it to each application group.
Applications and application groups
Application: An application consists of an application program and the resources required for its deployment. It is managed and maintained as a single unit.
Application program: The program to be deployed, such as a web service, machine learning model, or database service.
Resources: The cloud resources required to deploy the application program, such as ECS, ESS scaling groups, or container clusters.
Application group: An application can be divided into multiple groups to isolate resources and configurations for different environments. For example:
By environment:
prod-group(production environment group) andpre-group(staging environment group).By region:
hangzhou-group(Hangzhou region group) andbeijing-group(Beijing region group).
After you create the groups, you can import resources into each group. For example, you can import four ECS instances into the Hangzhou group and two ECS instances into the Beijing group. The application program is deployed on these imported resources.
Deployments
A deployment is a collection of an application's source files and its start/stop scripts. It contains all the information needed for a release. This allows for standardized, version-controlled application management. Publishing the deployment to an application group completes the application release.
Type | Example scenario |
Store the JAR package of a Java application in OSS. In the deployment, specify the JAR package and the start/stop scripts. | |
Save the code of a Python application in a Git repository. In the deployment, specify the Git repository address and the start/stop scripts. | |
Build an ECS image that contains the application to be released. In the deployment, directly specify this image. | |
Store the application's Docker image in a Container Registry (ACR) repository. In the deployment, specify the image address and the start/stop scripts. | |
Create this type of deployment when no deployment source is needed. All deployment operations related to starting or stopping the application are implemented through Shell scripts. |
Release patterns
Release pattern | Description | Example scenario |
Full release | Publish the application to all instances in the current group. | Publish the application to all instances in the production environment group. |
Canary release | Publish the application to a selection of manually chosen instances in the current group. | Publish the application to a single instance for feature validation. |
Application parameters
Parameters created for an application group can be referenced as environment variables in the deployment's start/stop scripts.
Application parameters are divided into standard and encrypted parameters. For sensitive information, such as passwords and keys, use encrypted parameters to improve security.
Reference
You can deploy an application to a group of ECS instances and quickly start using the application publishing management.