3Tier ( 웹서버, WAS, DB )

최호연·2023년 7월 6일
0
post-thumbnail

3 Tier

  • 어떠한 플랫폼을 3계층으로 나누어 별도의 논리적 / 물리적인 장치에 구축 및 운영하는 형태

    • 3계층 - 웹서버, WAS, DB

      3tierIMG

      웹서버

    • 사용자에게 파일을 전달해주는 계층 (어떤 처리도 하지 않고 요청받은 그대로 전달해준다.)

    • 웹 브라우저에 의해 실행되며, HTML,CSS,JS, react 등에 의해 개발되는 계층

    • 하드웨어 측면 - 웹서버가 설치된 컴퓨터를 의미

    • 소프트웨어 측면 - 웹 브라우저에서 HTTP 요청을 받아 HTML,CSS,JS, image 등과 같은 ‘정적인 파일’을 제공해 주는 프로그램

    • 정적인 파일 - 어느 사용자가 요청하든지 항상 동일한 콘텐츠를 담고 있는 파일

    • ex) Apache, Nginx, ..

      WAS

    • 데이터베이스 조회나 다양한 로직 처리를 요구하는 동적인 콘텐츠를 제공하기 위해 만들어진 앱 서버

    • 흔히, 비지니스 로직, 미들웨어, 백엔드라고 할때 보통 해당계층을 말하는 경우가 많다.

    • ex) Tomcat, JBoss, Jeus..

      DB

    • 데이터베이스에 접근을 해서 데이터를 읽거나 쓰는 것을 관리하는 계층

    • 주로 DBMS이 해당계층

    • ex) MySQL, MariaDB,Oracle..

      예시 ) 웹서버 & WAS

      사용자가 홈페이지에서 회원 가입을 하려고 하면 웹 사바에 회원가입 요청을 전달(동적인 콘텐츠 제공하기 위해)하고 웹서버는 WAS를 통해서 데이터베이스에 사용자의 아이디와 비밀번호 및 그 외 정보를 저장

  • 웹서버/WAS 를 사용하는 이유

    프로그램은 여러 사용자가 같이 사용하기 때문에 사용자들에게 콘텐츠를 제공하고 다양한 정보를 저장하고 조회할 수 있는 프로그램이 필요하다. 웹서버를 통해 사용자들에게 입력을 받고 정보들을 저장하고 요청을 처리할 수 있다. 웹서버는 상호작용을 하는 중추 역할을 한다

3Tier 장점

  • 업무를 분담하여 서버의 부하를 방지하기 위함.
    • 웹 서버는 정적 콘텐츠를 다루고,WAS는 다양한 로직을 처리하고 DB 조회를 처리하는 일에 집중할 수 있다.
  • 여러 대의 WAS를 둘 겨우, WAS가 처리해야하는 요청을 여러개의 WAS로 분산시켜 처리하도록 로드 밸런싱을 할 수 있다.
  • 보안측면 장점
    • 사용자로부터 동적콘텐츠에 대한 요청이 들어오면 실제 WAS를 외부에 노출하지 않고도 웹서버가 WAS로 연결해준다.(리버스 프록시)

3Tier 구성환경

  • 온프레미스 (On-premise) 클라우드 같은 원격환경이 아닌 자체적으로 서버를 설치하여 운영하는 방식 직접적으로 IT 자원을 관리하는 주체
  • 클라우드 (Cloud) 특정회사(aws,애저…)에서 운영하는 고성능 컴퓨터에 서버를 구축하는 방식 서비스에 필요한 인프라를 직접 보유하지 않고 필요할 때만 사용할 수 없을까?라는 질문에 답을 하기 위해 나온 기술

차이점 - “서비스를 제공함에 있어 사용하는 IT 자원을 누가 관리하느냐”

1. 비용

온프레미스

한번 확정이 된 시스템 사양을 바꾸기가 어렵기 때문에 불필요한 비용이 지속적으로 낭비

물리적인 구성에 필요한 절차 및 시간이 필요

클라우드

 서비스에서 제공되는 옵션을 통해 시스템 사양을 실시간으로 수정해 사용이 가능

클라우드 시스템은 상황에 따라 적절한 비용으로 시스템을 운용할 수 있도록 도와줌으로 불필요한 비용이 들지않음!

가상에서 시스템을 구성할 수 있어 불필요한 절차를 없애고 쉽게 프로젝트를 구성할 수 있도록 함 => 프로젝트 초기 구성시 드는 비용을 줄여주는 효과

2. 시스템 유지 보수

일반적으로 서버 인프라는 기본 지식으로만 응대하기 어려운 부분이라 인프라에 관한 전문가가 필요함

인프라는 단순히 서버 물리적인 위치 구성 뿐만 아니라 서버 간의 흐름, 역할에 맞는 서버 배치 및 보안 관리 이슈등 여러가지 관점에서 관리되어야 하는 분야이기 때문에 한 명의 전문가가 모든 일들을 처리할 수 없음

온프레미스

인프라를 직접 운영하고 관리하기 때문에, 현대와 같이 IT 인프라가 점차 복잡해지는 환경에서는 유지보수가 용이하지 못함.

모든 관리를 직접적으로 하기 때문에 인프라 전문들을 지속적으로 유지해야 하고 섭외하지 않은 분야의 문제가 생기는 경우 빠른 대처가 어려움. 특히 성능 이슈로 인해 서버의 증설 문제가 발생하는 경우 물리적인 시간 필요

클라우드

인프라에 관련된 전문가들이 항시 문제를 해결할 수 있도록 대기중이며, 어떤 이슈가 발생하더라도 응대할 수 있는 인원 및 체계가 갖춰져 있음.

또한 성능 이슈로 인한 서버 증설 문제의 경우 단 한번의 클릭으로 몇분, 몇 시간 내 해결 가능

AWS (클라우드 서비스 제공 예시)

AWS는 2006년 심플 스토리지 서비스로 IaaS 퍼블릭 클라우드 시장을 탄생시켰고 현재 클라우드 컴퓨팅의 선발 주자로 클라우드 컴퓨팅 서비스를 가장 성숙하게 제공하는 업체가 되었으며, 앞선 클라우드 기능 제공과 안정된 서비스를 특징으로 많은 고객에게 선택받고 있습니다. AWS는 글로벌 16개 지역에서 42개 리전을 운영하고 있습니다.

AWS는 아마존 EC2 가상 머신, EC2 컨테이너 서비스, 가상 프라이빗 서버, 람바다 서버리스 컴퓨팅 플랫폼 등 '컴퓨팅', S3와 일래스틱 블록 스토리지, 경제적인 아카이브인 글래시어 등 '스토리지, 관계형 데이터베이스인 오로라(Aurora)와 MySQL용 아마존 RDS, PostreSQL, 오라클, SQL 서버, NoSQL 데이터베이스인 다이나모 DB(DynamoDB) 등 데이터베이스까지 수많은 기능을 자랑합니다. 기술적인 측면에서 AWS는 계속 변화하고 발전을 도모하고 있습니다.

profile
하윙

0개의 댓글