IT 인프라 아키텍처

2018.05.21 07:00



인프라 아키텍처



1.1 인프라 아키텍쳐의 개념


인프라(infra) - infrastructure, '기반', '기반시설', '기간시설'

아키텍처(architecture) - '구조'


IT 인프라 아키텍처는 서버, 네트워크 등 하드웨어부터 소프트웨어까지 IT 운영에 필요한 제반 사항을 의미


IT 인프라 아키텍처는 구성 방식에 따라 '집약형'과 '분할형(수직분할, 수평분할, 지리분할)'로 나뉨




1.2 집약형과 분할형 아키텍처



1.2.1 집약형 아키텍처


하나의 대형 컴퓨터로 모든 처리를 하는 방식.


'범용 장비', '호스트', '메인 프레임' 등으로 불린다.


ㅇ 장점

한 대의 대형 컴퓨터만 있으면 되므로 구성이 간단하다.

대형 컴퓨터의 리소스 관리나 이중화에 의해 안정성이 높고 고성능이다.


ㅇ 단점

대형 컴퓨터의 도입 비용과 유지 비용이 크다.

확장성에 한계가 있다.




1.2.2 분할형 아키텍처


여러 대의 소형 컴퓨터를 조합해서 하나의 시스템을 구축하는 구조


표준 OS나 개발언어를 사용하기 때문에 '오픈 시스템'이라고 불리기도 하고, 여러 대의 컴퓨터를 연결해서 이용하기 때문에 '분산 시스템' 이라고도 부른다. 


ㅇ 장점

낮은 비용으로 시스템을 구축할 수 있다.

서버 대수를 늘릴 수 있어서 확장성이 높다.


ㅇ 단점

대수가 늘어나면 관리 구조가 복잡해진다.

서버가 망가졌을 때 영향 범위를 최소화하기 위한 구조를 검토해야 한다.



분할형 아키텍쳐에서 사용되는 컴퓨터를 '서버'라고 한다. 

서버는 원래 특정 역할에 특화된 것이라는 의미(웹서버, DB서버 등)

컴퓨터 자체를 가리킬 때는 '물리 서버'라고 부른다

특히 인텔의 x86서버는 인텔 아키텍쳐(Intel Architecure)를 채용하고 있어서 'IA 서버'라고 부른다




1.3 수직 분할형 아키텍처


분할형에서는 서버 분할 방식으로 고려해야 한다.

각각의 역할을 전혀 다르게 분담시킨다면 '수직 분할형', 같은 역할을 나눠서 한다면 '수평 분할형'이 된다. 



1.3.1 클라이언트-서버형(C/S) 아키텍처


업무 애플리케이션, 미들웨어, 데이터베이스 등의 소프트웨어를 '물리 서버' 상에서 운영하고, 이들 소프트웨어에 '클라이언트' 또는 '단말'이라 불리는 소형 컴퓨터가 접속해서 이용하는 형태.

Client/Server의 앞글자를 따서 'C/S'라고 부르기도


ㅇ 장점

클라이언트 측에서 많은 처리를 할 수 있어서 소수의 서버로 다수의 클라이언트를 처리할 수 있다.


ㅇ 단점

클라이언트 측의 소프트웨어 정기 업데이트가 필요하다.

서버 확장성에 한계가 발생할 수 있다.



1.3.2 3계층형 아키텍처


클라이언트-서버형을 발전시킨 것으로, '프레젠테이션 계층', '애플리케이션 계층', '데이터 계층'의 3층 구조로 분할되어 있다. 대부분의 인터넷/모바일 등 대부분의 시스템에서 3계층 구조를 채용하고 있다.

'3-티어(3-Tier) 방식'이라고도 한다 

(C/S 아키덱쳐를 2-티어 방식이라고도 한다)


ㅇ 프레젠테이션 계층

사용자 입력을 받는다.

웹 브라우저 화면을 표시한다.


ㅇ 애플리케이션 계층

사용자 요청(request)에 따라 업무 처리를 한다.


ㅇ 데이터 계층

애플리케이션 계층의 요청에 따라 데이터 입출력을 한다.




ㅇ 장점

서버 부하 집중 개선

클라이언트 단말의 정기 업데이트가 불필요

'처리 반환'에 의한 서버 부하 저감


ㅇ 단점

구조가 클라이언트-서버 구성보다 복잡하다.




1.4 수평 분할형 아키텍처


수직 분할형 아키텍처가 서버별로 다른 역할을 하도록 구성한 것이라면, 수평 분할형 아키텍처는 용도가 같은 서버를 늘려 안정성 및 성능을 향상시키기 위한 구조이다.


대부분의 시스템에서는 수직 분할형과 수평 분할형을 함께 사용한다.



1.4.1 단순 수평 분할형 아키텍처


같은 기능을 가진 복수의(독립된) 시스템으로 단순히 분할한 구조이다.

(서울지사 전용 시스템 + 부산지사 전용 시스템)


'sharding(샤딩)', 'partitioning(파티셔닝)'등으로 불린다.



ㅇ 장점

수평으로 서버를 늘리기 때문에 확장성이 향상된다.

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


ㅇ 단점

데이터를 일원화해서 볼 수 없다.

애플리케이션 업데이트는 양쪽을 동시에 해 주어야 한다.

처리량이 균등하게 분할돼 있지 않으면 서버별 처리량에 치우침이 생긴다.



1.4.2 공유형 아키텍처


단순 수평 분할형과는 달리, 3계층 중 '데이터 계층'이 서로 동기화가 되어 어느 쪽에서든 데이터를 참조할 수 있다.


ㅇ 장점

수평으로 서버를 늘리기 때문에 확장성이 향상된다.

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


ㅇ 단점

분할한 시스템 간 독립성이 낮아진다.

공유한 계층의 확장성이 낮아진다.




1.5 지리 분할형 아키텍처


업무 연속성 및 시스템 가용성을 높이기 위해 지리적으로 분할한 아키텍처를 말한다.


1.5.1 스탠바이형 아키텍처


'HA(High Availability, 고가용성) 구성', '액티브-스탠바이 구성' 등으로 불린다.


물리 서버를 최소 두 대를 준비하여 한 대에 장애가 발생하면 그 즉시 가동중인 소프트웨어를 다른 한 대로 옮겨서 운영하는 방식이다.


이때 소프트웨어 재시작을 자동으로 하는 구조를 '페일오버(failover)'라고 한다. 단, 페일오버 대상 서버가 놀고 있는 상태가 되기 때문에 리소스 측면에서 낭비가 발생한다.



1.5.2 재해 대책형 아키텍처


특정 데이터 센터(사이트)에 있는 상용 환경에 고장이 발생하면 다른 사이트에 있는 재해 대책 환경에서 업무 처리를 재개하는 것을 말한다. 단, 애플리케이션 최신화와 데이터 최신화가 문제가 될 수 있다.

'재해복구(Disaster Recovery)'의 약어로 'DR 시스템'이라고 부르기도 하고 데이터가 저장된 특정 데이터센터를 'DR 센터'라고 부르기도 한다. 




1.5.3 클라우드형 아키텍처


3계층형 시스템의 일부 또는 전부가 클라우드 서비스 제공자가 보유하고 있는 물리 서버에서 동작한다.


ㅇ SaaS(Software as s Service) 모델

서버, 애플리케이션을 포함한 업무 시스템을 클라우드 서비스 회사에서 제공.


ㅇ PaaS(Platform as a Service), IaaS(Infrastructure as a Service), DBaaS(Database as a Service) 모델

일반적인 3계층형 시스템을 구성하는 서버의 일부 혹은 전부를 클라우드 상의 리소스로 대체.




출처 : 야마자키 야스시외, 김완섭 옮김, 『그림으로 공부하는 IT 인프라 구조』, 제이펍, 2015년

또루아빠 IT 용어, Book , , , , , , ,

  1. 오 이렇게 정리된글을 보니 한방에
    이해가 싹 되버리네요
    개념이 확잡힙니다 감사합니다

  2. 댓글 감사합니다. 행복한 하루되세요. ^^

  3. Blog Icon
    바람의신

    관리자의 승인을 기다리고 있는 댓글입니다