Single Tier Applications
- Think of a media player installed on your laptop
- UI, Server and DB all reside in client system
- Think of any desktop apps
- No network latency, comparatively fast!
- Update pushes can be slow - since whole stack needs to be updated
- Innovation cycle slower - due to slower adoption and feedback cycle
- Vulnerable since code is on client machine
Two Tier Application
- Think of mobile apps - which just queries DB for data.
- UI and logic hosted on client and only DB resides on server
- Most Simple Web Applications follow this pattern
- Since most logic is still on client, lesser network calls
- Vulnerable since logic code is on client machine
Three Tier Application
- Think of some modern web applications - tax calculator, education platforms, etc.
- UI is on client, logic on one server and db on another server
- clear separation of concerns
- slightly higher network calls, but less vulnerable since no logic on client
N Tier Application
- Think of most modern and complex web applications - e-commerce, ́ERP, etc.
- There can be several other components including message queues, caching, load balancers, search servers, background jobs, various other micro-services…
- Each one running on its own..
- Why so many components?
- Single Responsibility Principle
- Separation of Concerns
Let's stay in touch for more insights and updates. You can find me on my LinkedIn Profile. Looking forward to connecting!