Digital ocean just announced their German region and it features the "fastest-ever SSDs". I have a few webservers, but they are all in New York. Where is the best location to host? If Germany is faster then New York, do I have any reason to pick New York over Germany? I would appreciate any tips from more experienced users on how to pick a location for a webserver.
I mainly host Javascript applications (Backbone, AngularJS).
Just some considerations without knowing your use case in detail and without being too exhaustive:
- Put the servers close to your expected visitors. If your visitors are in Germany, place the servers in Germany.
- If you have international / worldwide visitors consider the creation or usage of a CDN with GeoDNS, placing your servers in multiple countries on multiple continents.
- Be aware that close proximity to your users does not necessarily guarantee good performance, if connectivity between your server location and your users is bad.
- Check the latency and number of hops between your users and your servers. You might use tools like ping, traceroute or mtr to check that.
- Place the servers close to a major internet exchange point, like DE-CIX in Germany. The following list might be helpful: http://en.wikipedia.org/wiki/List_of_Internet_exchange_points_by_size.
- Talking about performance, make sure your web sites and applications are optimized for fast delivery. E.g. check with https://developers.google.com/speed/pagespeed/insights/ or http://yslow.org/.
- Check the peerings of your hosting provider, e.g. with https://www.peeringdb.com.
- While fast SSDs are nice, they might only have an impact if your applications really require fast IO. The same is true for number of CPUs and RAM. If you already operate servers check what resources you are currently using and think about the expected growth in terms of resources. Scale your servers appropriately.
- Depending on your applications rather scale out (horizontally) instead of scaling up (vertically), i.e. add further small nodes to your cluster instead of adding more resources to few servers. Check whether your hosting provider supports this (e.g. by providing access to physical or virtual load balancers, firewalls, dedicated networks)
- If you have special requirements concerning availability, security or backup check whether the data center / hosting provider fulfills your expectations.
- If privacy laws are of concern for you or your (European) users put the servers somewhere in the European Union.
Not all of the above might be advisable in each and every situation, but it might give you some hints for further thoughts.