Our application is an ASP.Net 3.5 web application. Currently we are hosting our application on our dedicated servers which are in USA. Now we are having users from USA and Asia and as per current setup, users in USA are getting good speed but users from Asia are not getting that much speed with application. Then we came to know about Amazon EC2 Service and we wanted to get an idea about this service but before going any further we want to know that whether we will be able to do the desired setup on Amazon EC2 service or not.

We want to setup following environment on Amazon EC2:

  • 1 Webserver in USA Region
  • 1 Webserver in Singapore Region
  • 1 Database Server in USA Region
  • Create a Loadbalancer between these two instances

We want to do above setup as our application is being used by users who reside in USA and Asia so we want both of them to get benefited with good speed. As per our current research, we came to know that setting up a load balancer between two instances which belong to different regions is not possible. Is this correct?

Other question is regarding AutoScaling feature of Amazon. We went through several blogs and sites and came to know that AutoScaling is also a good feature of Amazon, but we want to know that whether it will be useful for us or not considering above setup. We did some research on AutoScaling and came to know that in order to set it up on Amazon, we need to run some API scripts or we need to use their API commandline tools. So are these the only way to setup or there are some GUI based tools available which we can use to do this.

Web Application being used from 4+ years by users from across the world. And our application is having images, skins, themes, css, videos and along

with them, we are also having features like role management others. For running this application from CloudFront, can we put our code i.e. dlls and

other code related items on CloudFront and then use that? And we will also need to use database connection for this.So, can you please let me know

if in my scenario, whether it will be possible to run our application from more than one instances from two different regions which are using code from CloudFront? Please let me know. My other question was regarding setting up AutoScaling. As per our research, this is a good option for us as for some of the times, we are getting more hits for a particular period of time so by this, we can use AutoScaling feature to be able to keep our application serving users by adding one or more instances automatically as per requirement. But we could not find any option to configure that using some GUI tool. So can you let us know regarding this as well?


That's a lot you try to accomplish in a single step:

  • going to the cloud from a dedicated server
  • running multiple instance of your application instead of one instance
  • introduce load balancing

Every step can have lots of pitfalls. Just one example: If you have still only one database server, and the latency between different regions of the world is a problem, chances are your proposed setup will be slower than before if communication between your web servers around the world and your database server in just one location is more "chatty" than between the user agent and your web browser!

So what I would recommend to do is:

  • Use a content delivery network like Amazon CloudFront for all your static files (like JavaScript, images, CSS, static HTML files etc.). It's easy to integrate in your current application and deployment, it's much cheaper (no minimum fees like running several EC2 instances 24x7), and your page will load significantly faster, especially the first page request per session. Your files will be spread over many data centers in the world (not just two), with your actual application still running on a single web server.
  • Try to use a hosting provider with better links to international backbones and routing. For a single HTTP request, the effect on latency shouldn't be noticeable for "normal" users (while still measurable of course), usually not more than 300ms. On first request (or visit), the effect sums up because many files might have to loaded at once.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.