Updated on 2025-06-19 GMT+08:00

Application Deployment Overview

The methodology of application deployment design comes from the practical experience of Huawei Cloud architects in various fields. The methodology can help enterprises migrate applications to the cloud seamlessly and use the cloud effectively.

Applications can be divided into four layers based on the functions of each component: access layer, application layer, middleware layer, and data layer.

Figure 1 Four-layer deployment of applications
  • Access layer: Cloud services are deployed in a VPC, which is isolated from external networks. To access the cloud services from external networks, the following methods can be used:
    • Direct Connect: Direct Connect is used to establish a dedicated network connection between your or other cloud vendors' on-premises data center and a VPC on the cloud. This connection features high speed, stability, security, and low latency. You can access resources such as ECSs and load balancers on the cloud through intranet addresses, and implement service communication and data transmission between the cloud and on-premises data centers.
    • EIP: An elastic IP address (EIP) provides independent public IP addresses and bandwidth for Internet access. EIPs can be bound to or unbound from ECSs, BMSs, virtual IP addresses, load balancers, and NAT gateways, to access to or be accessed from the public network.
    • VPN: Virtual Private Network (VPN) establishes a convenient, flexible, and out-of-the-box IPsec encrypted communication channel between the local data center and Huawei Cloud VPC. This helps to build a flexible and scalable hybrid cloud computing environment.
  • Application layer: The application layer controls workflows and implements service logic. The application layer processes requests from the access layer and returns request results. It also connects to the middleware layer or data layer to add, delete, modify, and query data. There are the following types of resources on cloud applications:
    • VM: On the cloud, a VM is also called an Elastic Cloud Server (ECS), which is a basic computing component consisting of CPUs, memory, OS, and Elastic Volume Service (EVS) disks. After creating an ECS, you can use it like you use your local PC or physical server.
    • Container: Container virtualization technology has become a widely recognized container technology for sharing server resources. Container technology provides system administrators with great flexibility in the process of creating container OS instances on demand.
  • Middleware layer: Resources are shared between application software at this layer, which also manages compute resources and network communication. Middleware is mainly used for data transmission, data access, application scheduling, and process management in a distributed environment. On the cloud, the following service middleware is commonly used:
    • Cache: Huawei Cloud provides Distributed Cache Service (DCS), including DCS Redis and DCS Memcached.
    • Message middleware: Huawei Cloud provides distributed message middleware, including Kafka, RabbitMQ, and RocketMQ.
  • Data layer: System service data is kept in persistent storage to implement upper-layer service logic. The data layer generally consists of databases and file systems.

Application deployment design is intended to ensure the performance, availability, and security of enterprise applications, while also considering scalability, cost, and maintainability. Therefore, the following six factors must be considered during application deployment design: availability, scalability, performance, security, cost, and maintainability. The reasons are as follows:

  • Availability: Availability design aims to ensure the availability and reliability of cloud application systems and ensure that the system can run stably in the event of exceptions.
  • Scalability: Scalability design ensures that applications can maintain availability and performance under different loads and can be scaled based on loads to meet requirements without causing system breakdown or performance deterioration.
  • Performance: Performance design is to ensure that the deployment of cloud applications meets users' performance requirements, including response time, throughput, and number of concurrent requests.
  • Security: Security design protects cloud applications and data against malicious attacks and data leakage.
  • Cost: Cost design aims to reduce the deployment and O&M costs as much as possible while ensuring application performance, availability, and security.
  • Maintainability: Maintainability design aims to improve the system maintainability (including automatic deployment, monitoring and alarm reporting, log analysis, capacity planning, and troubleshooting), display system status, and ensure quick restoration.

Security, cost, and maintainability are global design elements and have been designed in the basic environment. Therefore, you need to focus on the availability, scalability, and performance when designing application deployment.