○ 정의
3-Tier Web Architecture(3계층 웹 아키텍처)는 웹 애플리케이션을 세 개의 독립된 계층으로 분리하여 구조화하는 방식입니다. 이 아키텍처는 유지보수성, 확장성, 보안성을 향상시키기 위해 널리 사용됩니다. 이 세 계층은 Presentation Tier(프레젠테이션 계층), Application Tier(애플리케이션 계층), Data Tier(데이터 계층)으로 구성됩니다.
○ Presentation Tier (프레젠테이션 계층)
: 사용자와 직접 상호작용하는 부분입니다. 브라우저를 통해 사용자 인터페이스를 제공하며, 다음과 같은 특징이 있습니다:
- HTML, CSS, JavaScript 등을 사용해 UI/UX 구성
- 사용자의 요청을 애플리케이션 계층으로 전달
- 서버로부터 받은 데이터를 시각적으로 표현
→ 예시: React, Angular, Vue.js 같은 프론트엔드 프레임워크
○ Application Tier (애플리케이션 계층)
: 비즈니스 로직을 처리하는 핵심 계층입니다. 프레젠테이션 계층으로부터 받은 요청을 처리하고, 데이터 계층과 상호작용하여 결과를 반환합니다.
- 데이터 처리 및 연산 로직 구현
- 인증, 권한 부여, API 통신 등 핵심 기능 수행
- 다수의 API 및 컨트롤러로 구성됨
→ 예시: Node.js, Django, Spring, Express.js 등
○ Data Tier (데이터 계층)
: 데이터를 실제로 저장하고 관리하는 계층입니다. 이 계층은 응용 계층과만 직접 통신하며 외부와는 분리됩니다.
- 관계형 또는 비관계형 데이터베이스 포함
- 데이터를 영속적으로 저장
- 데이터 보안 및 백업 관리 수행
→ 예시: MySQL, PostgreSQL, MongoDB, Redis 등
○ 3계층 구조의 장점
- 유지보수 용이: 각 계층이 독립적이기 때문에 기능 변경 시 다른 계층에 영향을 최소화
- 확장성 우수: 특정 계층만 따로 확장 가능 (예: DB 분리, 로드 밸런싱)
- 보안성 향상: 데이터 계층이 외부와 직접 연결되지 않으므로 보안 강화
- 재사용성 증가: 여러 프레젠테이션 계층이 같은 애플리케이션 계층을 재사용 가능
○ 관련 개념들
- MVC 패턴: Model-View-Controller 패턴도 이와 유사하게 역할을 분리하여 구조화
- N-Tier Architecture: 3계층보다 더 많은 계층으로 나눈 확장 구조 (예: 4-tier, 5-tier)
- 클라우드 환경과의 연결: AWS, Azure 같은 클라우드에서 이 구조는 Auto Scaling, Load Balancing에 최적화됨
○ 마무리
3-Tier Web Architecture는 효율적인 웹 개발을 위한 표준적인 구조입니다. 웹 시스템이 커지고 복잡해질수록 이러한 구조적 분리는 관리와 운영에 큰 이점을 제공합니다. 이 구조를 잘 이해하고 설계하는 것은 안정적인 백엔드 및 프론트엔드 구축의 첫걸음입니다.
'개념 정리 > IT 인프라' 카테고리의 다른 글
| [IT 용어] CDN(Content Delivery Network) (4) | 2025.07.31 |
|---|---|
| [IT 개념] Web Server vs. Web Application Server(WAS) (3) | 2025.07.28 |
| [IT 용어] WBS(Work Breakdown Structure, 작업 분류 체계) (2) | 2025.07.03 |
| [IT 용어] Storage vs Database (3) | 2025.06.23 |
| [IT 용어] RBAC (역할 기반 접근 제어, Role-Based Access Control) (3) | 2025.06.20 |