1장 인프라 아키텍처
2023. 3. 10. 18:47
인프라란 무엇일까?
- 아키텍처의 직역은 '구조'
- 인프라 아키텍처는 IT 인프라의 구조를 의미함
집약형과 분할형 아키텍처
- IT 인프라는 컴퓨터로 구성되고 기본적 구성방식은 '잡약형'과 '분할형'이다.
- 집약형 아키텍처
- 주요 업무를 모두 한 대의 컴퓨터로 처리하는 방식이다.
- 주로 '기간 시스템'이라 불리는 기업 내 핵심 업무 시스템에 이용하는 경우가 많음
- 장점
- 한 대의 대형 컴퓨터만 있으면 되므로 구성이 간단함
- 대형 컴퓨터의 리소스 관리나 이중화에 의해 안정성이 높고 고성능이다.
- 단점
- 대형 컴퓨터의 도입 비용과 유지 비용이 비쌈
- 확장성에 한계가 있음
- 분할형 아키텍처
- 여러 대의 컴퓨터를 조합해서 하나의 시스템을 구축하는 구조
- 표준 OS나 개발 언어를 이용하기 때문에 '오픈 시스템'이라고도 부른다.
- 여러 대의 컴퓨터를 연결해서 이용하기 때문에 '분산 시스템'이라 부르는 경우도 있다.
- 장점
- 낮은 비용으로 시스템을 구축할 수 있다. (소형 컴퓨터는 대형 컴퓨터에 비해 저렴하다.)
- 서버 대수를 늘릴 수 있어서 확장성이 높다
- 단점
- 대수가 늘어나면 관리구조가 복잡해진다.
- 한 대가 망가지면 영향 범위를 최소화하기 위한 구조를 검토해야 한다.
- 물리 서버와 논리서버의 차이
- 분할형 아키텍처에서 이용되는 컴퓨터를 서버라고 부른다.
- 서버는 컴퓨터 자체(하드웨어)를 지칭하는 경우를 물리 서버라고 부름
- 컴퓨터에서 동작하고 있는 소프트웨어를 가리키기도 함, 이를 논리서버라 부름
수직 분할형 아키텍처
- 분할형에서는 서버 분할 방식을 고려해야함 (서버 각각의 역할 분담)
- 각각의 서버가 전혀 다른 업무를 할지, 비슷한 업무를 할지에 대한 관점이다.
- '수직'이라고 부른 이유는 서버 측면에서 봤을때 역할에 따라 '위'또는 '아래' 계층으로 나뉘기 때문
클라이언트 - 서버형 아키텍처
- 클라이언트 - 서버형은 수직 분할형의 한 예
- 업무 app, 미들웨어, db 등의 소프트웨어를 '물리 서버'상에서 운영
- 이들 소프트웨어에 클라이언트 혹은 단말이라 불리는 소형 컴퓨터(혹은 스마트폰)가 접속해서 이용하는 형태
- 클라이언트 측에 전용 소프트웨어를 설치해야한다.
- 장점
- 클라이언트 측에서 많은 처리를 실행할 수 있어서 소수의 서버로 다수의 클라이언트를 처리할 수 있음
- 단점
- 클라이언트 측의 소프트웨어 정기 업데이트 필요
- 서버에 처리가 집중되면 서버 확장성에 한계가 발생함
3계층형 아키텍처
- 클라이언트-서버형을 발전시킨 구조
- 프레젠테이션 - 애플리케이션 - 데이터, 총 3층 구조로 분할되어있음
- 프레젠테이션 계층 (View 역할, 웹서버)
- 사용자 입력을 받는다.
- 웹 브라우저 화면을 표시한다.
- 애플리케이션 계층 (업무 처리단, AP 서버)
- 사용자 요청에따라 업무를 처리함
- 데이터 계층 (DB 서버)
- 애플리케이션 계층의 요청에 따라 데이터 입출력을 한다.
- 장점
- 서버 부하 집중 개선
- 클라이언트 단말의 정기 업데이트가 불필요
- '처리 반환'에 의한 서버 부하 저감
- 단점
- 구조가 Client - Server 구성보다 복잡함
수평 분할형 아키텍처
- 용도가 같은 서버를 늘려가는 방식
- 수직 분할형과 수평 분할형은 배타적인 관계가 아니다, 대부분의 시스템이 이 두 가지 방식을 함께 채택함
단순 수평 분할형 아키텍처
- 수평 분할을 sharding(샤딩) 혹은 partitioning(파티셔닝)이라 부르기도 함
- 예를들어 서울 본점과과 부산 지사가 같은 업무를 하는경우 같은 형태의 3계층형 아키텍처 두개를 사용할 수 있다.
- 시스템이 두개로 독립되기 때문에 서로 영향을 미치지 않는다.
- 서울 측 시스템에 장애가 발생하더라도 부산 측 시스템에 영향을 주지 않아 독립성이 향상됨
- 장점
- 수평으로 서버를 늘리기 때문에 확장성이 향상됨
- 분할한 시스템이 독립적으로 운영되므로 서로 영향을 주지 않음
- 단점
- 데이터를 일원화하여 볼 수 없다.
- 애플리케이션 업데이트는 양쪽을 동시에 해 주어야 함
- 처리량이 균등하게 분할돼 있지 않으면 서벼별 처리량에 치우침이 생김
공유형 아키텍처
- 일반 기업에서는 일부 게층에서 상호 접속이 이루어지는 경우가 있다.
- 서울측에서 필요에 따라 부산 시스템에 접속할 수 있고, 반대의 경우도 가능하다.
- 데이터의 경우 한 곳에서 집중적으로 관리하는 것이 보안이나 관리상 유리한 경우가 있다.
- 장점
- 수평으로 서버를 늘리기 때문에 확장성이 향상된다.
- 분할한 시스템이 서로 다른 시스템의 데이터를 참조할 수 있다.
- 단점
- 분할한 시스템 간 독립성이 낮아짐
- 공유한 계층의 확장성이 낮아짐
지리 분할형 아키텍처
- 수직, 수평 분할 아키텍처를 조합하여 목적에 적합한 구성을 만들 수 있음
- 업무 연속성 및 시스템 가용성을 높이기 위한 방식이다.
스탠바이형 아키텍처
- 스탠바이 구성 = HA(High Availability) 구성 = 액티브-스탠바이 구성, 모두 같은 말이다.
- 물리 서버를 최소 두대를 준비하여 한 대가 고장나면 가동 중인 소프트웨어를 다른 한 대로 옮겨서 운영하는 방식
- 소프트웨어 재시작을 자동으로 하는 구조를 'Failover'라고 함 (= 페엘, F/O)
- 물리 서버 고장에 대처할 수 있지만 페일오버 대상 서버(스탠바이하고 있는 서버, 놀고있는 서버)에서 리소스 낭비가 발생 할 수 있음
- 스태바이를 따로 두지 않고 양쪽 서버를 교차 이용하는 경우도 많다.
- 가상화 서버를 이용할 경우 서버상의 소프트웨어 뿐만아니라 가상 서버별로 다른 물리서버에 페일오버하는 방식도 선택될 수 있음
재해 대책형 아키텍처
- 특정 데이터 센터에 있는 상용 환경에 고장이 발생하면 다른 사이트에 있는 재해 대책 환경에서 업무처리를 재개하는 구조
- 서버 장비를 최소 구성 및 동시 구성으로 별도 사이트에 배치한다.
- 그 후 소프트웨어도 상용 환경과 동일하게 설정
- 재해가 발생했을 때 전혀 다른 사이트에 있는 정보를 이용하게 됨
- 신경써야할 점은 애플리케이션과 데이터의 최신화이다.
'책 > 그림으로 공부하는 IT 인프라 구조' 카테고리의 다른 글
6장 시스템을 연결하는 네트워크 구조 (0) | 2023.03.15 |
---|---|
5장 인프라를 지탱하는 응용 이론 (0) | 2023.03.14 |
4장 인프라를 지탱하는 기본 이론 (0) | 2023.03.13 |
3장 3계층형 시스템을 살펴보자 (0) | 2023.03.13 |
2장 서버를 열어보자 (0) | 2023.03.11 |