All Products
Search
Document Center

CloudOps Orchestration Service:Best practice on application planning

Last Updated:Oct 24, 2023

Plan applications

An application is a software service that provides a specific feature. An application usually has a source code repository and multiple versions of artifacts that are compiled by using this source code repository, such as software installation packages and container images. Applications run on the infrastructure of Alibaba Cloud, such as Elastic Compute Service (ECS) instances and managed Container Service for Kubernetes (ACK) clusters. Applications also use other cloud services such as databases, Server Load Balancer (SLB), and Domains. Applications can be planned based on their features and artifacts. To manage resources, you need to import the cloud resources of features and artifacts into application groups within applications.

Plan application groups

You can use application groups to deploy, manage, and maintain applications. The system supports a variety of operations on application groups. For example, you can publish an application based on application groups by deploying one application group at a time, configure monitoring and altering by using group-level metrics, perform batch O&M operations on resources in application groups, and analyze costs by application group.

You can plan application groups by using the following policies.

  1. Plan application groups based on runtime environments, such as the production environment, staging environment, and routine environment. These runtime environments are independent but may not be completely isolated. For example, the staging environment and the production environment can share a database. The O&M requirements vary with the environment. Therefore, you need to deploy an application separately in different environments.

  2. Plan application groups based on zones. If your application supports cross-zone high availability, you can import resources in the same zone into an application group. You can then publish and maintain the application by application group to ensure that the application is always available.

  3. Plan a single application group. If your application is a simple application for testing or demonstration, you can import all resources into one application group.

Create an application group

Create an application group by using custom tags

If tags are added to your resources, you can use the existing tags to create an application group. Application groups and tags are bound.

  1. If you add a tag to a resource, the resource is imported into the bound application group. If you remove a tag from a resource, the resource is removed from the bound application group.

  2. If you import resources into an application group, the bound tags are added to the resources. If you remove resources from an application group, the bound tags are removed from the resources.

You can view the tags bound to an application group on the Overview tab of the application group.

Create an application group from a resource group

You can create an application group from an existing resource group that you configure. Application groups and resource groups are bound. You cannot manually import resources into or remove resources from a resource group that is bound to an application group on the Resources tab of the application group. The changes of resources in the resource group are synchronized to the application group. You can view the resource group bound to an application group on the Overview tab of the application group.

Create an application group by manually importing resources

On the Create Application page, you can filter resources and import multiple resources to create an application group. An application management tag is automatically added to the imported resources. After the application group is created, you can manage the resources on the Resources tab of the application group. You can view the tag that is generated for an application group on the Overview tab of the application group.

Create an application group from another dynamic group

You can create an application group from a scaling group, an ACK cluster, or a Resource Orchestration Service (ROS) stack. Application groups and these dynamic groups are bound. The changes in a dynamic group are synchronized to the bound application group. For example, if an ECS instance is created in a scaling group, the ECS instance is automatically added to the bound application group.

Create or delete cloud resources by using the Application Management feature

If you use the preceding methods to import resources into an application or bind an application to a dynamic group, the lifecycle of the application and the lifecycle of the resources are decoupled. Resources are not automatically created or deleted based on changes to the application. If you want to use the Application Management feature to automatically create or delete cloud resources, you can use the following methods:

  • Create resources based on scenarios. You can use orchestration templates provided by OOS to create resources. This allows you to deploy resources with a few clicks in graphical mode.

  • Create resources based on custom templates. Advanced users can use their own orchestration templates to create resources.

Both the preceding methods allow you to create and manage resources based on Resource Orchestration Service (ROS), which is a template-based Infrastructure as Code (IaC) service. The stacks are automatically deleted if the bound application groups are deleted.