1

I have a web app that's accessed by a global audience: 33% Asia, 33% Europe, 33% North & South America. The Ubuntu web tier (5 physical servers loaded balanced using F5) and data tier (clustered MySQL) are currently hosted in the US. We expect to grow from 200K to 1 million users over the next year. I'm unclear on how to select Region and map my physical configuration to AWS. What would be a high level AWS solution for this configuration?

Tony
  • 123
  • 1
  • 4

1 Answers1

0

have been thinking about this, but have not implimented it, so these are just ideas...

  • I would use Amazons RDS Service for storing my Data. Let them manage it. use the replication feature to replicate it around the world to different data centers. for redundancy, you might want to have 2 read replicas in each data center you want to run in. you could have your master sitting in the US, and slaves in Dublin and Tokyo... not sure how much of a Lag there would be replicating, but it should work...
  • each front end server should talk to the local DB for reads. if you are doing lots of writes, these should be sent back to the master asynchronously. Ideally, when a write should occur, it should be stored in a local cache of some sort (memcache). there will be a lag, but depending on how many writes you get, it might be acceptable...
  • infront of the front end servers, stick something like Varnish. each varnish server should have a dedicated IP address. using GeoIP (Zerigo now offer it quite cheap... about $20 a month) you can load balance world wide.

again, these have not been put into practice... these are just ideas i have had if i where going global...

TiernanO
  • 744
  • 7
  • 17
  • Thanks. The one point I'm unclear about is how to load balance across regions. For example, I have web servers in the US, Europe and Asia. So how I do route/load balance requests from each region to the local web server? I'll ask a new question on this. – Tony Mar 18 '11 at 20:12
  • so, you have load balancers or web servers in each region, each with a public IP (preferably static). using the Zerigo DNS service, you tell them all your publicly available IPs and they do the GeoIP stuff... if you have multiple servers in each country, Amazon will manage the load between them if you use their load balancer, but Zerigo will manage externally facing servers. not sure if they check load though... – TiernanO Mar 19 '11 at 17:59