본문 바로가기
IT 기술/인프라

인프라 아키텍처 들어가기

by Chacha2211 2023. 12. 10.

 

1. IT  인프라(Infra)

Infra : 기반

 

IT 인프라는 컴퓨터 시스템, 네트워크, 데이터 센터, 서버, 소프트웨어, 저장 시스템 등과 같은 기술적인 구성된 기반 시설로, 조직의 정보처리 및 비즈니운영을 지원한다. IT 인프라는 조직의 정보처리 및 비즈니스 운영에 필수적이며, 안정성과 성능을 유지하기 위해 지속적인 유지 보수 및 업그레이드가 필요하다.

 

 

2. IT 인프라 아키텍처

IT 인프라 아키텍처는 IT 인프라의 체계적인 계획과 구조를 의미한다.

 

다양한 인프라 구성방식

 

 

 

집약형과 분할형 아키텍처

 

1. 집약형 아키텍처

하나의 대형 컴퓨터로 모든 처리를 하는 형태를 말한다.

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

(*대형컴퓨터: 범용장비, 호스트, 메인 프레임 등)

대형 컴퓨터의 도입 비용과 유지 비용이 비싸고, 확장성에 한계가 있다.

 

대형 컴퓨터에 대한 고민

주요 업무를 모두 한 대로 처리하기 때문에 장비 고장 등으로 업무가 멈추지 않도록 컴퓨터를 구성하는 주요 부품을 다중화 한다. 또, 복수의 서로 다른 업무 처리를 동시에 실행할 수 있도록 유한 리소스 관리를 한다.

 

 

2. 분할형 아키텍처(= 오픈 시스템, 분산 시스템)

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

여러대의 컴퓨터를 이용해 한 대가 고장 나도 안정성을 담보하고 있다.

낮은 비용으로 시스템을 구축할 수 있다. 서버 대수를 늘릴 수 있어서 확장성이 높지만, 서버 대수가 늘어나면 관리 구조가 복잡해 진다.

한 대가 망가지면 영향 번위를 최소화 하기 위한 구조를 검토해야 한다.

 

물리 서버와 논리 서버의 차이

분할형 아키텍처에서 이용되는 컴퓨터를 '서버'라고 한다. 서버라는 용어는 컴퓨터 자체(하드웨어)를 가리키는 경우도 있고 (=물리서버) , 컴퓨터에서 동작하고 있는 소프트웨어(=논리서버)를 가리키는 경우도 있다.

 

 

 

 

 

수직 분할형 아키텍처

서버별로 다른 역할을 담당한다.

(수직형이라고 표현하는 것은, 특정 서버 측면에서 봤을 때 역할에 따라 '위' 또는 '아래'계층으로 나뉘기 때문)

 

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

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

클라이언트 측에 전용 소프트웨어를 설치해야 한다. 소프트웨어 정기 업데이트가 필요하다.

서버에 처리가 집중되면  확장성에 한계가 발생할 가능성이 있다.

 

 

2. 3계층형 아키텍처

클라이언트-서버형 서버에 처리가 집중되면  확장성에 한계가 발생할 가능성을 개선하려고 한 아키텍처

'프레젠테이션 계층', '애플리케이션 계층', '데이터 계층'3층 구조로 분할되어 있고, 각 계층의 역할을 명확하게 구분돼 있다.

3계층 서버의 역할 분담

 

3계층 시스템에서는 사용자가 웹 브라우저를 통해 시스템에 접속한다. 또한, 업무 애플리케이션 갱신에 따른 클라이언트 업데이트가 필요 없으며, 사용자는 웹 브라우저만 준비하면 된다. '처리 반환'에 의한 부하가 저감된다.

구조가 클라이언트-서버 구성보다 복잡하다. 대부분의 서비스에서 채용하고 있는 구조이다.

 

 

 

 

수평분할형 아키텍처

용도가 같은 서버를 늘려가는 방식이다. 서버 대수가 늘어나면 한대가 시스템에 주는 영향력이 낮아져서 안정성이 향상된다. 또한, 처리를 담당하는 서버 대수가 늘어나면 전체적인 성능 향상도 실현할 수 있다.

 

수직 분할형수평 분할형은 배타적인 관계가 아닌다. 대부분의 시스템이 이 두 가지 방식을 함께 채택하고 있다.

 

 

1. 단순 수평 분할형 아키텍처

수평 분할에서는 서울 본사와 부산 지사 시스템이 완전 분할돼 있다. 서울에서 부산 지사 정보를 알고 싶으면 부산 지사 측 시스템에 접속하면 된다. 수평 분할을 'Sharding(샤딩)'이나 'Partitioning(파티셔닝)'이라 부르기도 한다.

같은 기능을 가진 복수의 시스템으로 단순 분할한다.

 

수평으로 서버를 늘리기 때문에 확장성이 향상된다. 분할한 시스템이 독립적으로 운영되므로 서로 영향을 주지 않는다.

데이터를  동시에(일원화해서) 이용할 수 없다. 애플리케이션 업데이트는 양쪽을 동시에 해 주어야 한다. 처리량이 균등하게 분할돼 있지 않으면 서버별 처리량에 치우침이 생긴다.

 

 

 

2. 공유형 아키텍처

공유형 에서는 단순 분할형과 달리 일부 계층에서 상호 접속이 이루어진다.

데이터 계층을 상호 접속한다.

 

서울 측 시스템에서도 필요에 따라 부산 시스템의 데이터에 접속할수 있다 (반대도 가능) . 데이터를 한곳에서 집중적으로 관리하는 것이 보안이나 관리상 유리한 경우가 있다. 또한 이 구성에서는 데이터를 모아서 참조할 수 있다. 수평으로 서버를 늘리기 때문에 확장성이 향상된다. 분할한 시스템이 서로 데이터를 참조할 수 있다.

분할한 시스템 간 독립성이 낮아진다. 공유한 계층의 확장성이 낮아진다.

 

 

 

 

 

지리 분할형 아키텍처

업무 연속성 및 시스템 가용성을 높이기 위한 방식

 

1. 스탠바이형 아키텍처

물리 서버를 최소 두 대를 준비하여 한 대가 고장 나면 가동 중인 소프트웨어를 다른 한 대로 옮겨서 운영하는 방식이다. 이때 소프트 웨어 재시작을 자동으로 하는 구조를 '페일오버(Failover)'라고 한다. '페일' 또는 'F/O'라고 부르기도 한다.

물리 서버 고장에 대처할 수 있지만 리소스 측면에서 낭비 발생 (이 문제를 해결하기 위해 스탠바이를 따로 두지 않고, 양쪽 서버를 동시에 교차 이용(한쪽이 고장 나면 다른 한쪽이 양쪽을 처리)하는 경우도 많다.

스탠바이 구성, HA(High Availability), 엑티브-스탠바이 구성

 

물리 서버가 아닌 가상화 서버를 이용하고 있는 경우는 서버상의 소프트웨어뿐만 아니라 가상 서버로 다른 물리 서버에 페일오버하는 방식도 선택될 수 있다.

 

 

 

2. 재해 대책형 아키텍처

재해 복구(Disaster Recovery) 구성특정 데이터 센터(사이트)에 있는 상용 환경에 고장이 발생하면 다른 사이트에 있는 재해 대책 환경에서 업무 처리를 재개하는 것을 가리킨다.

평상시의 재해 대책 사이트 데이터 반영

 

 

재해 발생 시의 이용

 

 

여기서 문제가 되는 것은 애플리케이션 최신화와 데이터 최신화다. 저장소 장비 기능, OS 기능, 데이터베이스 기능 등 동기 처리를 위한 방법은 여러 가지가 있다.

'IT 기술 > 인프라' 카테고리의 다른 글

[HTTP 기초] CTN(Contents Delivery Network)  (0) 2024.01.20
데이터 베이스 샤딩(Sharding)  (0) 2024.01.05
데이터 오류 검출 방식  (1) 2023.12.24

댓글