This document discusses N-tier and layered application architectures. It defines layers as logical groupings of functionality and components, while tiers describe the physical distribution of those layers across servers or networks. Common layers include presentation, business, and data access layers. These layers can be separated across tiers on different machines. The document provides examples of how layers map to tiers in applications, including user interfaces, APIs, business logic, and data storage. It outlines best practices for separating concerns across layers and distributing components across tiers to achieve benefits like scalability, reusability and testability.