In application designing, we always here about this tiers and layers words... N-tier, N-layer, etc... now what is the difference between the two? Simple, layers indicate the logical separation of code, wherein you assign a specific responsibility per layer while tiers relate to the physical distribution of the application for example it is more about where the process runs (client pc - web server - database server).