2

I began working on a three -Physical- tier website (UI:MVC / Application:REST / DB), I've always considered that three tier is more scalable than two (taboo for high traffic websites), but lately i knew that some well known websites are 2 tier website not 3 and seems to be running pretty well.

So what is the deal, how to decide if two will serve you better (overall) than three. the website i intend to build is a public but relatively small and I'm expecting high traffic.

Any Ideas?

  • A lot of modern frameworks are REST UIs, and cover the first tier. Then again, when I think "Three Tier Web Deployment" I'm thinking: Front-end web servers (caching, proxy), Application servers and DB servers. – Kyle Smith Jan 29 '12 at 14:10

1 Answers1

1

This requires quite a bit of application analysis. When figuring out how well a given system will scale, there are a few questions to ask yourself to help identify scaling pain-points:

  1. If I suddenly see an order of magnitude more traffic, where will I see problems, and how quickly can I address them?
    1. How about two orders of magnitude?
  2. If my site is up for a year at a magnitude increase, where will I see problems due to size?

These questions will help you figure out where any single-points may be tripping you up, and identify tiers that require excessive resources to scale out. Some things will be hard to model, such as a year's worth of DB growth and how that impacts DB performance. Others will be easy, such as app-server performance.

This helps in the 2 or 3 tier analysis since it'll let you know if you need to separate the first two tiers at all, and will help you figure out how far down the road you'll need a discrete first tier. If it looks like two orders of magnitude increase for a year causes problems in the first tier, design your tier 1/2 to be split later and do it later as needed.

sysadmin1138
  • 133,124
  • 18
  • 176
  • 300