We have also completed an upgrade of our hardware infrastructure over the past week. This includes upgrades to our front end load balancers, our web servers and our database server (we left the memcache servers the same since they are so over-sized for their load).
The hardware upgrades have resulted in an improvement of at least 60 milliseconds. Yes, that is only 0.06 seconds, but paying attention to details like this is what our customers expect and deserve.
We now run with the following AWS Servers:
Load Balancers: 3 – m4.large in 3 Availability zones.
Web Servers: 4 – c4.2Xlarge in 2 Availability zones.
Memcache: 16 – m3.medium in 2 Availability zones. Half for data and half for session.
Database: Aurora db.r3.2xlarge in 2 Availability zones, with 1 read replica for the main database. Aurora db.r3.large in 2 Availability zones, with 1 read replica for the shard database.
In addition, we run a separate set of test servers for our development and test needs on multiple sizes with a separate Aurora database instance running a separate database for each of our 4 test environments.