All Products
Search
Document Center

Well-Architected Framework:Design principles

Last Updated:Nov 20, 2025

Performance is a critical metric for any system. If performance fails to meet user expectations, you risk significant user loss. Performance issues are often rooted in the initial architecture design. Although an architecture can be continuously evolved, every design decision must account for potential performance implications.

Since performance bottlenecks can arise anywhere, you can optimize the entire request path, from the user's browser to the database. With cloud computing representing a growing portion of IT spending, more core business systems run on the cloud, making cloud architecture design and resource selection crucial for performance. Consider the following principles for designing a high-performance cloud architecture.

Select effective cloud resources

While application-level optimizations are important, a system's performance relies on its underlying computing and storage resources. The better their performance, the easier it is to tune and optimize the applications running on them.

As large-scale distributed systems evolve, computing scenarios and demands for computing power are becoming increasingly diverse. For example, in many general-purpose computing scenarios, the primary concern is the scale of the computing cluster, not the capability of individual nodes, such as during brief, high-traffic bursts. In contrast, popular AI model training scenarios require bare metal machines equipped with A100 GPU computing cards to support large-scale training. Cloud resources are typically deployed within a specific Availability Zone. Migrating or modifying a large deployment after committing to an Availability Zone can be costly. Therefore, selecting the right Availability Zone is critical. Consider factors such as latency, available inventory, and supported resource types.

With a growing variety of use cases, your initial choice of cloud resources can significantly impact your system's final performance. For detailed principles on resource selection, see Evaluate suitable cloud services.

Build a scalable and extensible architecture

Large systems must handle high-concurrency traffic from many users and store massive amounts of data. Using a fixed number of servers for all requests is neither economical nor effective for handling fluctuating business demands. Instead, group computing and storage resources into a cluster. This approach lets you scale your resources up or down to handle high-concurrency workloads. As a result, you'll be able to provide stable service during peak traffic and release unnecessary resources during lulls to save on IT costs.

A well-designed system often contains different types of computing nodes, such as application server clusters, cache server clusters, and database clusters. If an application server cluster is stateless (meaning it stores data on a separate node), scaling out is straightforward. For a cache server cluster, new nodes must perform operations like cache warm-up or invalidation to ensure data is accessible. Scaling a database in real time is more complex; it requires careful planning of data backup, data synchronization, and routing strategies to enhance the overall availability and performance of the database cluster.

Follow cloud architecture best practices

As cloud computing has matured, many core business systems run on the public cloud. These systems are designed to leverage the benefits of the cloud. In turn, public cloud providers continuously refine their offerings and launch new cloud products based on the evolving needs of these systems. This co-evolution has established best practices for specific scenarios. By following these best practices from the start, you can enhance your initial architecture design and improve overall system performance. You can find detailed guidance in the best practices section of each cloud product's documentation.

Understand design considerations

You do not need to pursue maximum performance at all costs. When designing a high-performance architecture, also consider the associated challenges to avoid unnecessary resource waste and development effort. For more information, see Challenges and considerations.