I have been facing a lot of scalability issues even I have 2 large web servers in the data center. Whenever Nike launch a new campaign, the on-premises servers got high loading, and most likely the aged hard disk was hitting I/O bottleneck, resulting in high CPU and RAM usage as well. I used to rush to the data center by taxi and keep fixing some hardware or high traffic issue, till I finally purpose, test, and migrate the whole infrastructure to AWS cloud:
This is a very simple AWS architecture but also a very early successful cloud migration case in Hong Kong. I built a based AMI image and launch 2 EC2 with the same computing power as on-premises ones under Elastic Load Balancer, and launch more EC2 instances before we launched a Nike campaign (Note that there is no auto-scale in 2012, and even all EC2 were launched without VPC by default). RDS is a very good managed DB service on the cloud, and I also use S3 for some of the statics files hosting, but since lots of application doesn’t support S3 natively, there is still an EC2 for NFS share among web servers. Mounting upload folder and session folders via NFS mainly help for the quick migration purpose.