cloudpatterns.appClassroomKatasWhiteboardBlog
Z3 · Scalability & Performance

Split app and database tiers

Split app and database tiers

Gold

Moving the database onto its own server lets the app and data tiers be sized, scaled and replaced independently — the first step from one box to a system.

Use when
The app and database compete for the same CPU or memory · You need to scale or upgrade one tier without the other
Avoid when
Tiny workloads, where one box is cheaper and simpler
Trade-offs
A network hop per query vs independent scaling · Two machines to run and pay for
Requires
Server capacity & scaling up, Databases: the system of record
2 objectives · 6 misconceptions
  • choose Size app and database servers separately for a given mix of work.
  • predict Predict the latency added by putting the database across the network.
  • Not true: Splitting tiers adds no latency.
  • Not true: Separate tiers make the system redundant.
  • Not true: Services on one server don't slow each other down.
  • Not true: Splitting tiers saves money.
  • Not true: Many small network calls cost no more than one big one.
  • Not true: A network call inside a datacenter takes tens of milliseconds.

Neighborhood

On linesScale Line

Progress is saved on this device