Auto Scaling

Sudden CPU workload caused by traffic spikes can be harmful to a Magento shop’s performance, and even brief declines in performance happen at the risk of losing customers and revenue. Auto Scaling detects traffic spikes, helps maintain application availability and allows automatic up and downscaling of web servers to individually defined conditions. This way, we can ensure to host your Magento on just the right amount of web servers at all times.

Performance
Redundancy
Scalability
Architecture

•– 1 Load Balancer (ELB)
•– 1-4 Web Server
•– 1 Admin Server
•– 1 Test Server
•– 1 Database Server (Master)
•– 1 Database Server (Slave)
•– 1 NFS Server
•– 2 ElastiCache Server

Architecture Description

1. Amazon Route 53 (DNS)

Amazon Route 53 is a highly reliable Cloud DNS-Web-Service (Domain Name System).

Benefits:

•– Very fast due to global infrastructure (Edge locations) around the world
•– Highly available and reliable
•– Automatic DDoS protection
•– Savings in infrastructure

3. Elastic Load Balancing (ELB)

Elastic Load Balancing automatically distributes incoming traffic across multiple Web Server instances to different data centers (Availability Zones). The Elastic Load Balancer scales automatically provides high availability and highest security industry standards.

4. Auto Scaling – Web Server (NGINX)

Auto Scaling is used to ensure that the number of instances increases seamlessly during demand spikes to maintain performance and decreases automatically during demand lulls to minimize costs.

Benefits:

•– High Performance
•– High availability
•– Minimizes costs

5. Database Server (MySQL)

Amazon Relational Database Service (RDS) is a reliable and scalable cloud database service. It’s designed for highest performance and security. The database service is inexpensive, you pay very low rates and only for the resources you actually consume.

Benefits:

•– Very fast
•– Highly Scalable
•– Available and Durable
•– Rollback possible in five-minute steps

6. Database Server (Slave)

Amazon Relational Database Service (RDS) Read Replicas provide enhanced performance and durability.
This replication feature makes it easy to scale out beyond the capacity constraints of a single DB Instance for read-heavy database workloads.

7. NFS Server

The NFS Server is used as shared storage between the web servers. All media files including generated product image thumbnails are stored on it.

8. ElastiCache

ElastiCache is a highly scalable and fault-tolerant web service for in-memory data storage like Redis. Redis is used for sharing the Magento Cache and Session between all Web Servers.

9. Admin Server

The Admin Server is responsible for all backend activities like managing the orders, products, and categories. All Cron Jobs and other scripts are located as well on the admin server.

10. Cloudfront CDN

Amazon CloudFront is a web service that gives businesses and web application developers an easy and cost-effective way to distribute content with low latency and fast data transfer. We use CloudFront CDN to deliver static files. Stylesheets, Javascript and pictures are delivered via CDN and relieve the web servers. This improves performance and drops costs because the web servers now only have to handle PHP requests.

11. Test Server

The Test Server is an independent single server environment. The Test Server is used as a pre-production environment to test new features/developments before applying them to production.