본문 바로가기

study_IT/기타

[그림으로 공부하는 IT 인프라 구조] 제1장 인프라 아키텍처를 살펴보자

728x90
반응형

[ IT 인프라 공부를 시작하게 된 계기 ]

  ETA 프로젝트를 진행하며 내가 맡은 개발 구현 부분 외에 데브옵스 관리자를 담당하게 되었다. nCloud에서 VPC와 서버를 생성하여 도커 컨테이너와 젠킨스를 이용해 프로젝트를 배포해 보기도 하고, 서버에 Open SSL 인증을 받아보기도 했는데 현업에 있거나 어느 정도 네트워크 지식이 있는 사람이라면 하지 않았을 기초적인 실수들 때문에 시행착오를 겪으며 많은 시간을 잡아먹었다. 물론 실수와 실패의 시간은 꼭 필요한 것이지만 해당 분야에 대해 알면 알수록 실수를 줄일 수 있지 않을까 하는 생각이 들었고, IT 인프라에 대해 공부해보고 싶어 '그림으로 공부하는 IT 인프라 구조'라는 책을 구입했다.

  책에 머리말에는 IT 관련 일을 시작해서 5년 차까지의 엔지니어를 대상으로 하는 책이라고 소개하고 있다. 비전공자가 보기에는 용어 정리를 해가며 봐야 하지만 설명으로만 들었을 때 머릿속에 잘 그려지지 않았던 부분들을 그림으로 쉽게 파악할 수 있었고, IT 인프라 구조에 대해 아무것도 모르는 사람이 입문하기에 나쁘지 않은 책이다. 매일 조금씩 책을 보며 공부한 내용을 장 단위로 블로그에 정리할 계획이다. 이를 통해 IT 인프라 구조에 대한 내용을 전반적으로 파악하고 흥미가 생기는 부분은 더 깊게 공부해 볼 예정이다.

 

[ 제1장 인프라 아키텍처를 살펴보자 ]

1.1 인프라란 무엇일까?

- 생활을 지탱하는 바탕이나 토대

- IT 인프라란 IT의 기반이 되는 것

- IT 인프라 아키텍처는 IT 인프라의 구조이다.

- 궁극의, 최적의 아키텍처는 존재하지 않는다. -> 아키텍처나 설계 요소에는 반드시 장점과 단점이 공존하기 때문에 시스템의 가장 중요한 장점은 살리고, 단점은 최소화하는 것이 중요하다.

 

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

1.2.1 집약형 아키텍처

- 하나의 대형 컴퓨터(범용장비, 호스트, 메인프레임)로 모든 처리

- 장점 : 구성이 간단하다.

- 단점 : 도입 비용 및 유지비용이 비싸다. 확장성에 한계가 있다.

- 컴퓨터를 구성하는 주요 부품을 다중화(ex. CPU 이중화)하고, 유한 리소스 관리(하나의 처리가 다른 처리에 영향을 주지 않는다.)를 통해 안정성과 성능을 높일 수 있다.

- 은행으로 치면 기간 시스템, 계정 시스템에서 사용하는 구조이다.

 

1.2.2 분할형 아키텍처

- 여러 대의 컴퓨터를 조립해서 하나의 시스템 구축

- 다수의 소형 컴퓨터로 분할처리

- 표준 OS나 개발 언어를 이용하기 때문에 '오픈 시스템'이라고도 불린다.

- 여러 대의 컴퓨터를 연결해서 이용하기 때문에 '분산 시스템'이라고도 불린다.

- 장점 : 저가 장비를 이용하여 전체적인 비용을 줄일 수 있고, 확장성이 높다.

- 단점 : 관리 구조가 복잡하다. 서버 한 대가 망가지면 영향 범위 최소화를 위해 구조 검토가 필요하다.

 

1.3 수직 분할형 아키텍처

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

- 클라이언트 측에 전용 소프트웨어를 설치해야 한다. -> 이용자가 반드시 소프트웨어를 업데이트한다는 보장이 없기 때문에 시스템 위험 요소가 된다.

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

- 장점 : 클라이언트 측에서 많은 처리를 실행할 수 있어서 소수의 서버로 다수의 클라이언트를 처리 가능

- 단점 : 클라이언트 측의 소프트웨어 정기 업데이트 필요, 서버 확장성에 한계 발생

 

1.3.2 3 계층형 아키텍처

- 클라이언트-서버형을 발전시킨 것

- 프레젠테이션 계층 : 사용자 입력, 웹 브라우저 화면 표시

- 애플리케이션 계층 : 사용자 요청에 따라 업무 처리

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

- 장점 : 서버 부하 집중 개선, 클라이언트 단말의 정기 업데이트가 불필요, '처리 반환'에 의한 서버 부하 저감

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

 

1.4 수평 분할형 아키텍처

- 용도가 같은 서버를 늘려나가는 방식

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

 

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

- 수평 분할 -> sharding, partitioning

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

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

 

1.4.2 공유형 아키텍처

- 장점 : 수평으로 서버를 늘리기 때문에 확장성 향상, 분할한 시스템이 서로 다른 시스템의 데이터를 참조할 수 있다.

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

 

1.5 지리 분할형 아키텍처

1.5.1 스탠바이형 아키텍처

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

- High Availability 구성

 

1.5.2 재해 대책형 아키텍처

- 특정 데이터센터에 있는 상용 환경에 고장이 발생하면 다른 사이트에 있는 재해 대책 환경에서 업무처리를 재개하는 것

- 애플리케이션 최신화, 데이터 최신화, 사이트 간 동기 처리 필요

 

 
IT 인프라 구조(그림으로 공부하는)
[그림으로 공부하는 IT 인프라 구조]는 인프라 엔지니어, 애플리케이션 개발자, DB 관리자들을 위해 ‘IT 인프라’ 구조에 관해 설명하는 책이다. 시스템의 고도화, 복잡화가 이루어짐에 따라 인프라 전체 구조를 파악하기 어려워지고 있어 엔지니어들은 자신이 담당하는 업무 외의 영역에 대해 본질적인 구조를 이해할 기회가 없어졌다. 그러나 고성능, 안정성을 추구하는 시스템을 만들기 위해서는 전체를 파악한 후 담당 영역을 최적화해야 하므로 IT 인프라 구조가 중요할 것이다.
저자
야마자키 야스시, 미나와 요시코, 아제카츠 요헤이, 사토 타카히코
출판
제이펍
출판일
2015.07.20
728x90
반응형