Should I separate the web and database servers on Linode?

Howdy Friends,

I'm working on an application using Django (Python), Apache, and MySQL. Right now everything is on one server, but we're about to go live so I'm looking at infrastructure.

Question: am I better off doing separating the web and database functions into two separate 1024MB servers, or should I use one 2048MB server for the app?

I'd usually vote for separating them, but I'm concerned about doubling my failure points since a failure in either the app or the db causes a system failure. Then again, my previous experience with Linode is that things don't go down. :)

6 Replies

Answer is… it depends. It depends upon the amount of traffic you are currently getting and expected growth.

Also it depends upon what you are bound by. Are you bound by CPU? If so then multiple instances would help since by default Linode gives you access to 4 CPUs. Getting one instance would only give you access to 4 CPUs while two instances would give you access to 4 on each.

Though do make sure the instances are on multiple hosts. For reliability (not all eggs in one basket) and for CPU performance.

Whenever possible, I plan for separate web and database servers. That makes scaling (or redundacation of) either pretty easy. If things get busy, it's probably not the time you'd want to have to deal with factoring out your database so you can have two web servers.

Good news is that Django supports multiple database servers (hooray!), so you can add read-only slaves relatively easily, too.

I believe that the django book suggests that you separate out onto different nodes for scalability, i.e. 1 node for webserver, another for db server, another node for static files and so on…

I'd go that way.

Linode services don't tend to go down, no, but it has been known to happen. Even the best companies have the occasional downtime when they take an arrow to the knee.

@Guspaz:

Linode services don't tend to go down, no, but it has been known to happen. Even the best companies have the occasional downtime when they take an arrow to the knee.

I used to be an adventurer like you…

http://youtu.be/mSDfxde8fSg (nsfw)

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct