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.
EDIT:
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:
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: