-2

Today Linode eat my nerves completely by shutting down main DB server for 25 minutes due to their internal network problems.

Right today I was going to set up another one server at linode to set up a master-slave replication pair for MySQL.

Me and my team are quite tired from Linode Fremont DC surprises (power shutdowns, network connectivity troubles, no refunds). I am thinking about setting up DB server somewhere else (Digital Ocean for example).

But of course in this case the server will be located not so close to app servers (which are currently in linode DC and for now will need to stay there).

Will the fact of having DB server out of the apps DC have much influence on the applications performance? Should this influence be a serious reason to wait on setting up DB server in separate DC until we will not be able to move all servers together to another DC ?

  • Without details about your application's workload, this is impossible to answer. The read/write ratios, possibility to use local caching and other application specific information is required to know if this would be feasible. So will such a setup impact your applications? Hard to tell without a profile of your workload and testing. – jeffatrackaid Jul 16 '15 at 19:50

1 Answers1

1

A database server is a database server; regardless of where it's sitting. It's fairly easy to just repoint a line of code to a new database server.

As with any technology related investments, you have to consider the following:

  • latency; how much tolerance can your app or your company manage?
  • performance; will the replacement solution provide enough horsepower to do all your queries in a timely fashion?
  • capacity; will the replacement solution provide enough storage for growth?
  • support; service level agreements are very important when it comes to who is responsible for network/systems issues and the mandatory response times. What are the terms of support?
  • high availability; does the provider have HA capabilities in place? If so, what is their framework/infrastructure for this?
  • fault tolerance; does the provider have FT capabilities in place? If so, what is their framework/infrastructure for this?
  • load balancing; is this a dedicated system/resource or shared? How will the provider deal with performance requirements?
  • security; is this a dedicated system/resource or shared? How will the provider manage risks?
  • cost; are you getting a good deal for all of the items above?

That being said, I'd think your biggest issue would be latency, depending on where the app and database servers are physically located, as well as the bandwidth of the network connecting the two locations.

You might be better off moving your entire environment onto a more stable provider's infrastructure. However, to be sure of which way to go, you need to do a risk and cost analysis. These will help you determine:

a) if it's technically feasible

b) if it's financially reasonable

c) if it provides pros that outweigh the cons

d) if it resolves your original concerns

CIA
  • 1,606
  • 2
  • 13
  • 30