3티어 아키텍처는 애플리케이션을 세 가지 논리적 및 물리적 컴퓨팅 티어, 즉 프레젠테이션 티어 또는 사용자 인터페이스, 데이터가 처리되는 애플리케이션 티어, 애플리케이션 데이터가 저장 및 관리되는 데이터 티어로 구성하는 잘 정립된 소프트웨어 애플리케이션 아키텍처입니다.
연구 뉴스레터
월간 Future Forward 뉴스레터를 통해 IBM 전문가들의 AI, 양자, 하이브리드 클라우드 등에 관한 최신 연구를 살펴보세요. IBM 개인정보 보호정책을 참조하세요.
구독은 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.
프레젠테이션 티어는 최종 사용자가 애플리케이션과 상호 작용하는 애플리케이션의 사용자 인터페이스 및 커뮤니케이션 티어입니다. 주요 목적은 사용자에게 정보를 표시하고 사용자로부터 정보를 수집하는 것입니다. 이 최상위 티어는 예를 들어 웹 브라우저, 데스크톱 애플리케이션 또는 그래픽 사용자 인터페이스(GUI)에서 실행될 수 있습니다. 웹 프레젠테이션 티어는 HTML, CSS, JavaScript를 사용하여 개발됩니다. 데스크톱 애플리케이션은 플랫폼에 따라 다양한 언어로 작성할 수 있습니다.
로직 티어 또는 미들 티어라고도 하는 애플리케이션 티어는 애플리케이션의 핵심입니다. 이 티어에서는 프레젠테이션 티어에서 수집된 정보가 특정 비즈니스 규칙을 사용하여(때로는 데이터 티어의 다른 정보와 비교하여) 처리됩니다. 애플리케이션 티어는 데이터 티어의 데이터를 추가, 삭제 또는 수정할 수도 있습니다.
애플리케이션 티어는 일반적으로 Python, Java, Perl, PHP 또는 Ruby를 사용하여 개발되며 API 호출을 사용하여 데이터 티어와 통신합니다.
데이터베이스 티어, 데이터 액세스 티어 또는 백엔드라고도 하는 데이터 티어는 애플리케이션에서 처리되는 정보가 저장되고 관리되는 곳입니다. 이 티어는 PostgreSQL, MySQL, MariaDB, Oracle, Db2, Informix 또는 Microsoft SQL Server와 같은 관계형 데이터베이스 관리 시스템 또는 Cassandra, CouchDB 또는 MongoDB와 같은 NoSQL 데이터베이스 서버에 있을 수 있습니다.
3티어 애플리케이션에서는 모든 통신이 애플리케이션 티어를 통해 이루어집니다. 프레젠테이션 티어와 데이터 티어는 서로 직접 통신할 수 없습니다.
다시 말하지만, 3티어 아키텍처의 가장 큰 장점은 기능의 논리적, 물리적 분리에 있습니다. 각 티어는 기능 요구 사항에 가장 적합한 별도의 운영 체제 및 서버 플랫폼(예: 웹 서버, 애플리케이션 서버, 데이터베이스 서버)에서 실행될 수 있습니다. 또한 각 티어는 하나 이상의 전용 서버 하드웨어 또는 가상 서버에서 실행되므로 다른 티어에 영향을 주지 않고 각 티어의 서비스를 사용자 지정하고 최적화할 수 있습니다.
(단일 또는 2티어 아키텍처와 비교한) 다른 이점은 다음과 같습니다.
3티어(3-tier) 아키텍처를 설명할 때 '프레젠테이션 계층(layer)' 또는 '비즈니스 로직 계층(layer)'처럼 계층(layer)을 티어(tier)와 혼용해 사용하는 경우가 많습니다.
이 두 용어는 동일하지 않습니다. '계층(layer)'은 소프트웨어의 기능적 구역을 의미하지만, '티어(tier)'는 다른 구역과 별도의 인프라에서 실행되는 소프트웨어의 기능적 구역을 의미합니다. 예를 들어 휴대폰의 연락처 앱은 3계층 애플리케이션이지만, 3개 계층 모두 휴대폰에서 실행되므로 단일 티어 애플리케이션입니다.
티어와 계층은 제공하는 이점이 다르기 때문에 이러한 차이를 이해하는 것이 중요합니다.
웹 개발에서 티어는 이름은 다르지만 비슷한 기능을 수행합니다.
3티어 아키텍처가 가장 널리 채택되는 멀티티어 애플리케이션 아키텍처이지만, 업무나 연구에서 접할 수 있는 다른 아키텍처도 있습니다.
2티어 아키텍처는 프레젠테이션 티어와 데이터 티어로 구성된 최초의 클라이언트-서버 아키텍처로, 비즈니스 로직은 프레젠테이션 티어, 데이터 티어 또는 둘 다에 존재합니다. 2티어 아키텍처에서는 프레젠테이션 티어, 즉 최종 사용자가 데이터 티어에 직접 액세스할 수 있으며 비즈니스 로직이 제한되는 경우가 많습니다. 사용자가 연락처 데이터를 입력하고 검색할 수 있는 간단한 연락처 관리 애플리케이션이 2티어 애플리케이션의 예입니다.
멀티티어 아키텍처라고도 하는 N-티어 아키텍처는 티어가 두 개 이상인 모든 애플리케이션 아키텍처를 나타냅니다. 그러나 티어가 3개 이상인 애플리케이션은 드뭅니다. 추가 티어는 거의 이점을 제공하지 않으며, 애플리케이션을 느리게 만들고, 관리가 어려워지며, 실행 비용이 더 많이 들 수 있기 때문입니다. 따라서 일반적으로 N-티어 아키텍처와 멀티티어 아키텍처는 3-티어 아키텍처의 동의어로 사용됩니다.
안전한 의도 인식 개발을 지원하는 AI 파트너인 Bob으로 소프트웨어 제공을 가속화하세요.
코드 작성, 디버깅, 코드 리팩토링 또는 코드 완성에 소요되는 시간을 최소화하고, 더 많은 시간을 혁신에 집중할 수 있도록 지원하는 신뢰할 수 있는 AI 기반 도구로 소프트웨어 개발 노력을 최적화하세요.
AI로 핵심 워크플로와 운영을 새롭게 혁신해 경험과 실시간 의사 결정, 비즈니스 가치를 극대화하세요.