IT 인프라 아키텍처

temp·2022년 9월 30일
0

etc.

목록 보기
6/7

텍스트AWS 스파르타 강의 내용 중 모르는 개념 정리


정의


IT 인프라를 어떻게 구성할지에 대한 구조 (IT 인프라는 IT 의 기반이 되는 기초적인 시스템 및 시설으로 컴퓨터로 구성된다.)



집약형 아키텍처

IT 시스템의 여명기에는 범용장비, 호스트, 메인 프레임 등으로 불리는 대형 컴퓨터를 이용하여 모든 업무를 처리하였다. 컴퓨터 한 대로 주요 업무를 처리하기 때문에 장비 고장 등으로 업무가 중단되지 않도록 다중화 기법을 적용한다. 대형 컴퓨터를 구성하는 주요 부품을 여러대 두어서 한 대가 고장나더라도 다른 장비가 동작하며 중단되지 않도록 하는 기법이다. 또 다수의 서로 다른 업무를 동시에 처리하기 위해 유한 리소스 관리를 하여 고부하 처리가 다른 처리에 영향을 주지 않도록 되어 있다.

  • 장점
    • 한 대의 대형 컴퓨터만 있으면 되므로 구성이 간단하다.
    • 대형 컴퓨터의 다중화, 리소스 관리에 의해 안정성이 높고 고성능이다.
  • 단점
    • 대형 컴퓨터 추가 도입 및 유지 비용이 비싸다.
    • 따라서 확장성에 한계가 있다.



분할형 아키텍처

다수의 소형 컴퓨터를 연결하여 대형 컴퓨터가 했던 업무를 분할 처리하는 구성이다. 다중화처럼 한 대가 고장나도 다른 컴퓨터를 이용해 안정성을 담보하고 있다. 또 대형 컴퓨터는 특정 OS나 개발 언어를 사용하지만, 소형 컴퓨터는 표준 OS나 개발 언어를 사용하기 때문에 오픈 시스템 이라고도 부르고, 여러 대의 컴퓨터를 연결했다는 의미에서 분산 시스템 이라고도 부른다.

분할형 아키텍처에서 이용되는 소형 컴퓨터를 서버라고 한다. 서버는 컴퓨터 자체를 가리키거나 이 컴퓨터에서 돌아가는 소프트웨어를 가리키는 경우도 있다. 컴퓨터 자체를 가리키는 경우를 물리 서버, 소프트웨어를 가리키는 경우를 논리 서버라고 한다.

  • 장점
    • 낮은 비용으로 시스템을 구축할 수 있음. (많게는 100배 차이가 난다고 함.)
    • 따라서 서버 대수를 쉽게 늘릴 수 있으니 확장성이 높다.
  • 단점
    • 대수가 늘어나면 관리구조가 복잡해진다.
    • 전부 연결되어 있으므로 한 대가 망가지면 영향 범위를 최소화하기 위한 서버별 역할 및 구조를 검토해야 한다.

클라이언트-서버형 아키텍처 (2-tier)

수직분할형의 한 예로 업무 애플리케이션, 미들웨어, 데이터베이스 등의 소프트웨어가 물리 서버 상에서 운영되고 클라이언트 또는 단말이라고 불리는 소형 컴퓨터가 이 서버에 접속해 이용하는 형태다. 클라이언트에는 PC, 스마트폰, 태블릿 등이 있다.

클라이언트는 서버에 접속하기 위해 전용 소프트웨어를 설치해야 한다. 추후 업무 애플리케이션이 업데이트될 때마다 이 소프트웨어도 업데이트해야한다. 이용자 측면에서도 불편하고, 이용자가 반드시 업데이트한다는 보장이 없으니 서버 측에서도 위험 요소가 될 수 있다. 또 서버에 처리가 집중되므로 확장성에 한계가 발생할 수 있다. 이를 개선한 것이 3계층형(3-rier) 이다.

  • 장점
    • 클라이언트 측에서 많은 처리를 실행할 수 있어 소수의 서버로 다수의 클라이언트를 처리할 수 있다.
  • 단점
    • 클라이언트 측의 소프트웨어 정기 업데이트가 필요하다.
    • 서버에 처리가 집중되므로 서버 확장성에 한계가 발생할 수 있다.



3계층형 아키텍처 (3-tier)

수직 분할형의 한 예로 클라이언트-서버형의 단점을 개선한 것이다. 프레젠테이션 계층, 애플리케이션 계층, 데이터 계층으로 분할되어 있다.

프리젠테이션 계층
사용자의 입력을 받고 화면을 표시 (웹 서버)


애플리케이션 계층
사용자 요청에 따라 업무 처리 (AP 서버)


데이터 계층
애플리케이션의 요청에 따라 데이터 입출력 (DB 서버)

3계층에서 사용자는 웹 브라우저를 통해 시스템에 접속한다. 웹 브라우저의 요청을 웹서버에 먼저 전달하고, 웹서버는 별도의 업무 처리가 필요하다면 AP 서버에 요청한다. AP 서버는 업무 처리에 필요한 데이터가 있다면 DB 서버에 입출력을 요청한다.

만약 이미지 파일 등의 정적 파일만 요청한 경우라면 웹 서버만으로 처리를 완료할 수 있어 모든 처리가 AP서버나 DB 서버를 이용하지 않아도 된다. 즉, 다른 서버에 부하를 주지 않는다. 이런 식으로 서버의 역할을 분할하여 특정 서버에 부하가 집중되는 문제가 해결된다. 또 사용자는 웹 브라우저만 이용하면 되기 때문에 사용자 업데이트를 할 필요가 없다.

인터넷 사이트, 사내 업무 시스템 등 대부분 3계층 구조를 채용하고 있다.

  • 장점
    • 서버 부하 집중 개선
    • 사용자 정기 업데이트 불필요
    • 처리 반환에 의한 서버 부하 저감
  • 단점
    • 클라이언트-서버 구성보다 구조가 복잡함



단순 수평 분할형 아키텍처

같은 용도의 시스템을 단순히 독립적인 두 개의 시스템으로 분할한 방식이다. 예를 들어, 3계층형 시스템을 부산 지사에 하나 서울에 하나 둔 것을 떠올리면 된다. 만약 서울 지사에서 부산 지사의 정보가 궁금하다면 부산 지사의 시스템에 접속하면 된다. 이렇게 수평 분할하는 것을 Sharding(샤딩) 이나 Partitioning(파티셔닝) 이라고 한다.

시스템이 시스템 전체 처리 성능이 두배로 향상되지만, 만약 한 시스템에 치우침이 생긴다면 해당 시스템에만 과부하가 걸리고 다른 시스템은 놀고 있게 되므로 성능이 향상됐다고 보기 어렵다. 예를 들어, 다들 서울 지사 시스템에만 접속하면 부산 지사 시스템은 놀고 있게 된다. 따라서 이 구조는 거래상으로 멀리 떨어진 시스템이나 공장처럼 각 거점이 완전히 독립된 운영을 하는 곳에 주로 사용된다.

장점

분할한 시스템이 독립적으로 운영되므로 서로 영향을 주지 않음

단점

데이터마저 독립적이므로 일원화하여 볼 수 없음
두 시스템 모두 같은 애플리케이션을 이용하고 있다면 양쪽 다 동시에 업데이트 해줘야 함
각 시스템의 처리량이 균등하게 분할되어 있지 않으면 서버별 처리량에 치우침이 생김



공유형 아키텍처

단순 분할형과 달리 일부 계층에서 상호 접속이 일어난다. 예를 들면, 서울 지사와 부산 지사의 데이터 계층에서 데이터를 동기 처리하는 것이다. 데이터가 각지에 흩어져있는 것보다 한 곳에 두면 관리나 보안 상 유리하고 모든 데이터를 모아 참조할 수 있다.

장점
분할한 시스템이 서로 다른 시스템의 데이터를 참조할 수 있음

단점
분할한 시스템 간 독립성이 낮아짐
공유한 계층의 확장성이 낮아짐



스탠바이형 아키텍처

수직, 수평이 아니라 업무 연속성 및 시스템 가용성을 높이기 위해 지리적으로 분할한 방식이다. 물리 서버를 최소 두 대를 준비하여 한 대가 고장나면 가동 중인 소프트웨어를 다른 서버로 옮겨서 운영하는 방식이다. 이때 해당 소프트웨어를 다른 서버에서 자동으로 재시작하는 구조를 페일오버(Failover) 라고 한다. 평소에 돌아가는 쪽을 액티브 측, 페일오버 대상 서버를 스탠바이측이라 부르며 이런 구조를 스탠바이 구성 또는 HA(High Availability), 액티브-스탠바이 구성 등으로 부른다.

이 구조는 물리 서버 고장에 대처할 수 있지만 보통 때는 페일오버 대상 서버가 계속 놀고 있는 상태가 되므로 리소스 측면에서 낭비가 발생한다. 때문에 양쪽 서버를 교차 이용하기도 한다.



재해 대책형 아키텍처

스탠바이형 아키텍처처럼 지리적으로 분할한 방식이다. 여기서 재해란 IT 인프라가 실제 재난 재해 및 해킹, 시스템 결함 등의 내/외부 위험 요소로 중단되는 현상을 말하며 재해 발생 시 다시 정상적으로 회복시키는 작업을 재해 복구(Disaster Recovery) 라고 한다. 재해 대책형 아키텍처는 이러한 재해에 대비하여 재해 복구 구성을 취한 것이다.

서버 장비를 별도 사이트에 배치하고 소프트웨어도 상용 환경과 똑같이 설정한다. 상용 사이트에 재해가 발생하면 다른 사이트의 재해 대책 환경에서 업무 처리를 대신한다. (미러사이트) 이때 애플리케이션 최신화와 데이터 최신화를 고려하여 동기 처리를 해야 한다.



[출처] https://anywaydevlog.tistory.com/65#%EC%A-%--%EC%--%BD%ED%--%--%--%EC%--%--%ED%--%A-%ED%--%-D%EC%B-%--

profile
공부한 내용 정리중...

0개의 댓글