deploying a web application to multiple global regions
Posted on 2014-04-23
We develop web applications for global clients, on IIS with a SQL backend. Until now, the apps have been hosted from a single location (data center) in the US. As we expand, we are having more global clients, and some feel that the latency experienced by clients with locations on the other side of the planet is too great. (up to 400ms latency) The thought is to implement an infrastructure somewhere on the other hemisphere, to address the latency from clients over there. The infrastructure is easy. Now the hard part. Our applications are heavily database driven - and if multiple databases are used, i.e. one in the US and one in say, India, for a global client, we'll have records from US personnel in one database server and records from EU/EMEA/ASIA PAC client personnel in another. The applications rely on updated databases, so they will need to be synchronized somehow I think.
I know this is more of a problem for the developers, but I wanted to try and get a head start on how best to accomplish this, before leaving it in the hands of the development team. (I deal primarily with the infrastructure)
Anyone have a quick paragraph or two on how global applications are designed using multiple databases? I know we could simply give up on real-time updates and synchronize every hour or something like that, but we rely on tracking user access, and need that to be relatively real time...