3-Tier Architecture?

어떤 플랫폼을 3 계층으로 나누어 별도의 논리적/물리적인 장치에 구축 및 운영하는 형태
  •  
  • Presentation Tier
    • 사용자가 직접 마주하게되는 계층
    • 주로 사용자 인터페이스 지원 → GUI, front-end
    • HTML, Javascript, CSS, 사진 자료 등
  • Application Tier
    • 요청되는 정보를 어떠한 규칙을 바탕으로 처리하고 가공하는 것들을 담당 → Business Logic, Transaction 계층
    • 클라이언트 계층 관점에선 서버처럼 동작(응답), 세 번째 계층 관점에선 클라이언트처럼 행동(요청) → Middleware, back-end
    • PHP, Java 등 / API 호출
  • Data Tier
    • 데이터베이스에 접근하여 데이터를 읽거나 쓰는 것을 관리 → DBMS(Database Management System)
    • back-end
    • MySQL, MongoDB 등
  • 장점
    • 보다 신속한 개발: 각 계층이 서로 다른 팀에서 동시에 개발 가능
    • 확장성 개선: 필요에 따라 독립적으로 확장 가능
    • 안정성 향상: 한 계층의 가동 중단이 다른 계층에 영향이 없음
    • 보안성 강화: 프리젠테이션 계층과 데이터 계층이 직접 통신할 수 없으므로, 잘 설계된 애플리케이션 계층은 내부 방화벽의 일종으로 작동

웹 개발의 3계층 애플리케이션

  • Web Server
    • 프레젠테이션 계층
  • Application Server
    • 사용자 입력을 처리하는 데 사용되는 비즈니스 로직을 수용하는 중간 계층
  • Database Server
    • 웹 애플리케이션의 데이터 또는 백엔드 계층

실습

  1. VPC 구성
  2. AZ 구성
  3. Subnet 구성
  4. Internet Gateway 구성
  5. Route Table 구성
  6. Web Server Tier: Private Subnet 안에 Web Server 역할을 할 수 있는 인스턴스 구축
  7. Web Application Tier: Private Subnet 안에 Web Application 역할을 할 수 있는 인스턴스 구축
  8. DB 구성
  9. SSH 접근
  10. WEB, WAS, DB에 대한 연동 확인
  11. Load Balancer
  12. Auto Scaling
  13. IAM 관리자 설정

+ Recent posts