Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

인프라 아키텍처 본문

DB 관련 지식/DB 연관 IT 개념

인프라 아키텍처

`O` 2021. 8. 13. 02:36
728x90
반응형

해당 페이지에서는 인프라 아키텍처에 대해서 다룬다.

 

참고 서적

 

그림으로 공부하는 IT 인프라구조 (제이펍)

 

 

 

 

아키텍처의 의의

 

인프라 시스템은 단순히 나열로 세워서 되는게 아니다. 건물을 지을 때, 어떤 계획없이 세우지 않고 설계를 한 후, 그에 따라 건물을 짓는 것 처럼 인프라 시스템도 어떠한 구성으로 만들지 설계가 필요하다. 이러한 시스템을 만들기 위해서 구상하는 혹은 구성된 구조를 아키텍처 (architecture) 라 한다.

 

잘못된 설계로 건물을 지으면 나중에 붕괴등의 문제로 대참사가 일어 나는 것 처럼, 인프라 시스템도 설계가 잘못되면 돌이킬 수 없는 서비스 장애를 겪을 뿐더러 부분적으로 문제를 해결하기가 어려워 처음부터 다시 뒤엎을 수도 있는 문제가 발생 할 수 있다. 

 

 

 

 

아키텍처의 종류

 

아키텍처는 아래와 같은 종류로 분류 된다.

 

 

집약형 아키텍처

 

단순히 하나의 서버에 모든 기능을 다 포함하여 서비스 운영을 하는 구조다. 또한 하나에 집약적으로 모든 기능을 포괄하는 것을 고려 하다 보니 보통은 매우 고성능의 서버를 도입한다. 단일 서버이기에 구조설계가 매우 간단하다는 장점이 있으나 고성능의 서버는 그에따른 유지비용도 많이 들 뿐더라 무엇보다 이후 서비스 수용 증가에 따른 서버 확장이 매우 어려운 단점이있다.

 

 

 

분할형 아키텍처

 

위의 집약형과 반대로 서버를 분할하여 각 서버에 기능을 나누어 관리하는 구조다. 장단점 또한 반대인데, 서버를 분할하여 다수개로 사용하다 보니 그에 따라 필요한 개별 서버 성능이 낮아도 되기에 서버 단위 개수당 비용이 낮고 확장이 쉽다는 장점이 있으나, 구조 설계 난이도가 복잡하고, 서버 한대가 down 되면 연결된 다른 서버들에도 영향을 미치는 단점이있다.

 

분할형 아키텍처는 구조가 복잡함에 따라 그에 따른 다양한 종류의 파생 아키텍처가 있다.

 

- 수직 분할형 아키텍처

 

서버 측면 에서 봤을 때, 역할이 위단, 아래단의 수직방향으로 나뉘어지는 구조일때 명명되는 구조다.

이에 속하는 아키텍처는 아래와 같다.

 

-- 클라이언트/서버형 아키텍처

단순한 화면 표시나 계산등은 사용자가 사용하는 장비 (클라이언트) 단에서 처리하고 복잡한 계산은 서버단에 넘겨서 처리하는 구조

 

-- 3계층형 아키텍처

말 그대로 3개의 계층으로 구성된 구조, 인프라 관점에서 3계층은 프레젠테이션 계층, 애플리케이션 계층, 데이터 계층으로 나뉜다. (참고 : 2021.08.05 - [DB 관련 지식/DB 연관 IT 개념] - 3 계층 (3 Tier) 구조 )

 

- 수평 분할형 아키텍처

 

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

 

위의 3계층형으로 구성된 수직 set 를 하나의 시스템으로 묶은 후 여러개의 시스템으로 다중화 한 상태에서 각 시스템별로 수평으로 나눈 상태를 뜻한다. 보통 각 지역에 시스템을 배정하여 나누는 것이 대표적인 예이며 이러한 수평분할을 샤딩 (sharding ) 혹은 파티셔닝 (partiitioning) 이라 한다.

 

-- 공유형 아키텍처

 

위의 단순 수평 분할 아키텍처는 데이터 계층 구조까지 수평으로 각각 분할하면 데이터가 일원화되지 않아 데이터 정합성이 맞지 않을 수 있는 단점이 있다. 이를 보완하기 위해 데이터 계층을 통합하여 모든시스템이 일원화하여 사용 할 수 있도록 구성하는 구조다.

 

- 지리 분할형 아키텍처

 

한 지역에만 시스템을 구성 했을 때, 이 지역에서 재난 상황이 발생하여 모든 시스템이 마비되어 사용 할 수 없게 된다면 이에 대한 복구 소요시간은 하루 이틀로 끝나지 않는다. 특히나 금융시스템같이 중요 시스템은 하루만 사용 할 수 없게 되어도 매우 치명적이면서 해당 금융회사가 천문학적인 배상금을 지불해야하는 상황까지 올 수 있다.

 

그렇기에 이에 대한 대비 상황으로 보통 중요시스템은 여러지역에 시스템을 구축하고 한 지역의 시스템을 사용 할 수 없을 때, 복구가 될 때 까지 임시로 다른지역의 시스템을 사용하도록 설계되어 있다. 이러한 설계 구조를 지리 분할형 아키텍처라 한다. (데이터센터를 여러 지역에 만들고 이에 따른 시스템을 구성하는 것을 생각해보면 이해하기 쉽다.)

 

-- 스탠드바이 (standby) 형 아키텍처

 

위의 지리분할 구조를 따르는 파생 구조중 하나로써, 보통 DB 계층을 다중화하여 Active Standby 구조로 사용한다. 이에 따라 구성된 구조를 H.A (고가용성 구조 - 참조 : 2021.06.08 - [DB 관련 지식/DB 연관 IT 개념] - 고가용성 (H.A - High Availability) ) 구조라 하며 이에 따라 운영중인 DB 계층이 문제가 생겨서 다른 서버 혹은 다른 센터로 넘어가는 것을 페일오버 (Failover) 라 한다. (실무에서는 절체라고도 한다.) Failover 과정은 사용되는 H.A 구조 혹은 솔루션에 따라 다양하다.

 

-- 재해 대책형 아키텍처

 

한 지역에서 시스템전체가 마비 되었을 때, 다른 지역에서 시스템을 사용 할 수 있도록 설계된 구조로써 DR (Disaster Recovery) 구조라고도 한다. 이구조는 위의 공유형 아키텍처를 쓰느냐에 따라 DB 계층의 데이터 정합성 이슈가 발생 할 수도 있기에 보통 이 구조를 설계시, 이에 대한 대비책도 같이 고려한다.

 

반응형
Comments