3-Tier Architecture란?
1. 3-Tier 아키텍쳐의 개념
3티어 아키텍쳐 구축은 웹 서버(IIS), 데이터베이스 서버(MS-SQL), 그리고 인증 및 권한 관리(Active Diretory) 를 각기 다른 계층으로 나누어 구성하는 방식입니다. 이 3계층은 다음과 같습니다
- Presentation Tier (프레젠테이션 계층) : 사용자 인터페이스를 제공하는 웹 서버나 클라이언트 어플리케이션, 사용자는 이 계층을 통해 시스템과 상호 작용합니다.
- Logic Tier (애플리케이션 로직 계층) : 비즈니스 로직과 규칙을 처리하는 계층, 웹 서버와 데이터베이스 사이에서 데이터를 처리하고, 응답을 생성하는 역할을 합니다.
- Data Tier (데이터 계층) : 데이터베이스 서버로서, 데이터를 저장하고 관리하는 역할 및 처리를 합니다.
2. 3-Tier 아키텍쳐의 목적
3티어 아키텍처의 핵심 목적은 확장성, 유지보수성, 보안성을 극대화하면서 애플리케이션을 효과적으로 분리하는 것입니다.
a) 분리된 책임과 관리
- 각 계층은 서로 독립적으로 기능하므로 시스템을 확장하고 관리하는데 용이합니다.
- 프레젠테이션 계층(UI), 애플리케이션 로직 계층, 데이터베이스 계층을 분리함으로써, 각 계층의 변경이 다른 계층에 미치는 영향을 최소화할 수 있습니다
b) 확장성 (Scalability)각 계층을 독립적으로 확장할 수 있습니다. 예를 들어 트래픽이 많아지면 프레젠테이션 계층(IIS 서버)를 여러 대 배포하거나, 데이터가 증가하면 데이터베이스 서버(MS-SQL)를 확장하여 성능을 유지할 수 있습니다.
c) 보안성 강화
3티어 구조는 보안 강화를 용이하게 합니다. 각 계층 간에 보안 규칙을 적용할 수 있으며, 특정 계층에서만 접근 가능한 리소스를 제한할 수 있습니다.
d) 유지보수성
계층화된 구조 덕분에, 애플리케이션의 어느 한 부분을 변경하거나 업그레이드할 때 전체 시스템을 중단할 필요가 없습니다.
e) 유연성
각 계층이 명확히 분리되어 있어, 다른 기술 스택을 도입하거나 변경하는 것이 용이합니다.
현재는 IIS를 사용하지만, 다른 웹 서버(Apache, Nginx 등)로 전환하거나, MS-SQL을 다른 DBMS(MySQL, PostgreSQL 등)로 바꿀 수 있습니다
3. 3-Tier와 클라우드 환경
클라우드 환경에서는 이 아키텍처를 가상화하거나 컨테이너화하여 클라우드 서비스에서 쉽게 배포할 수 있습니다
- AWS : EC2, RDS, ELB등을 사용하여 확장 가능한 3티어 아키텍쳐 구현
- Azure : VM, SQL, Azure AD를 이용해 구축
Azure와 AWS에서의 3티어 아키텍쳐 구현 비교
서비스 | Azure | AWS |
Actice Directory | Azure AD or VM에서 AD DS | EC2에서 AD |
IIS | Azure VM or Azure App Sevice | EC2 or Elastic Beanstalk |
MS-SQL | Azure SQL Database or VM에서 SQL server | Amzon RDS for SQL Server or EC2에서 SQL Server |
일단은 Azure를 이용하여 VM에서 3티어 구축을 먼저 해본 뒤, AWS 상으로도 해볼 예정입니다.
SQL이 사실상 문외한이라서 조금 공부가 필요할 듯 싶습니다.
'Microsoft 365 > 3-Tier Architecture' 카테고리의 다른 글
3-Tier 구축 방법 4단계 - SQL-IIS 연동 (2) | 2024.11.13 |
---|---|
3-Tier 구축 방법 3단계 - MS-SQL 설치 (3) | 2024.11.12 |
3-Tier 구축 방법 2단계 - IIS 설치 (2) | 2024.11.06 |
3-Tier 구축 방법 1단계 - AD 구축과 join (3) | 2024.11.04 |