I want to get Magento into the cloud and make it scalable. This decision come about as we believe performance is a large factor in conversion, coupled with server reliability and server uptime. You may ask "Why we should use aws? " It has become obvious that the cloud has many advantages over a rack full of servers in one data centre.
OverView
What's to follow is a set of instruction on how I went about getting Magento into the cloud and making it scalable configuration. I am sure it's not the "correct" ways, but it works. The following are the tools I used:
- Magento1.7.0.1 Community Edition
- Amazon AWS (EC2, ELB, RDS, S3/Cloudfront)
- OnePica Image CDN plugin
- Scalr (Open source cloud management platform)
- NFSv4
- s3cmd
As you know, Scalr isn't not require, but it does provide some handly features like managing a DNS record for each server instance or following you to execute scripts across multiple server. Here is what I am trying to achrieve.
This image above depicts:
- ELB(Load balancer), balancing our web servers
- S3(CDN) which will host our cached media files and skin files (you should use cloudfront)
- (EC2)x2 Public facing web servers which will contain our Magento code base (infact you can set up more than two web servers)
- (EC2) Admin web server which will be a seperated administration-only server
- (EBS) Persistant storage mounted on the admin server containing our media shared out via NFS
- (RDS) Database server
To Be Continue......