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.
•– 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
1. Amazon Route 53 (DNS)
Amazon Route 53 is a highly reliable Cloud DNS-Web-Service (Domain Name System).
•– 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.
•– 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.
•– 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.
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
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.