Scaling your architecture

Let's continue with the e-commerce website example by considering a modern three-tier architecture. Let's see how we can achieve elasticity at a different layer of the application. Here, we are only targeting the elasticity and scalability aspects of architecture design. You will learn more about this in Chapter 6, Solution Architecture Design Patterns.

The following diagram shows a three-tier architecture diagram of the AWS Cloud tech stack:

Scaling three-tier architecture

 In the preceding architecture diagram, you can see a lot of components, such as the following:

  • Virtual server (Amazon EC2)
  • Database (Amazon RDS)
  • Load balancer (Amazon Elastic Load Balancer)
  • DNS Server (Amazon Route53)
  • CDN Service (Amazon CloudFront)
  • Network boundary (VPC) and Object Store (Amazon S3)

As shown in the preceding diagram, there is a fleet of web servers and application servers behind the load balancer. In this architecture, the user sends an application request to the load balancer, which routes traffic to the web server. As user traffic increases, auto scaling adds more servers in the web and application fleet. When there is low demand, it removes additional servers gracefully. Here, auto scaling can add or remove servers based on the chosen matrix-like CPU utilization and memory utilization; for example, you can configure whether CPU utilization goes beyond 60% and add three new servers; if this goes below 30%, you can then remove two existing servers.

We will dive deep into each component throughout this book. In the next section, you will learn about static content scaling.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.219.217