본문 바로가기

book

그림으로 공부하는 IT 인프라 구조 (개정판)

워낙 유명했던, 책이였는데 개정판이 2020년에 개정판으로 출간되었습니다.

꾸준히 해당 분야에 대해서 사랑을 받고 있는 책입니다.

 

집에 개정판 전에 출간된 녹색 책도 있어서 개정판이 더 반가웠습니다.

살펴보니, 목차등은 거의 대부분 동일합니다. 가상화 및 몇가지 소소하게 목차를 비교해봤을때

차이점은 있지만, 크게 많은 변화는 없었습니다.

네트워크 기술이 많이 최신화 되면서, 최신 트랜드에 맞추어서 책이 개정되고 기존의 사항에서도 

조금더 효과적인 전달 방법으로 개정판이 구성된 것으로 보입니다.

"이번 개방판에서는 클라우드와 가상화 서버/메모리 등 최신 하드웨어에 대한 설명을 보강하였고, 다소 이해하기 어려웠던 문장에 대한 수정과 가필들 전반적인 재거모가 이루어졌습니다." by. 책 내용 언급

 

예전 책은 표지는 녹색이지만, 안에 내용은 모두 흑백 이였는데, 이번 개정판에서는 흑색/파란색이 함께 사용되어서, 

책에서 강조하고 싶은 부분이 조금 더 쉽게 강조되는 느낌이 들었습니다.

 

이 책은 저자분이 한분이 아니고, 총 4분이 공동 집필을 하셨습니다.

그러한 측면에서 자신의 전문분야를 담당하셨고, 그러한 부분이 이 책의 품질을 조금 더 높게 지식전달이 될 수 있지 않았나 생각합니다.

 

 

 

■ 책의 제목처럼 그림을 기반으로 설명하는 구조

· 어려운 주제를 대상으로 하지 않고, 처음부터 하나하나 설명되어 집니다. 예를들어 cpu, 보드 등 기본적인 용어도 언급되어 집니다.

· 네트워크, 인프라 부분은 주변에서 바로 경험해보고나, 테스트 하기 힘든 사이즈가 큰 개념이여서 글을 통해서만 이해하기

어려운 부분이 있습니다. 이러한 부분은 충분한 그림 및 설명이 있어야 하는데, 이책은 그러한 기본에 대해서 너무 충실한

책이라고 생각합니다.

· 인프라를 클라우드 환경에 구축한다고, 많은 부분이 자동화 된것 처럼 느끼지만, 재 생각에는 또다른 인프라시스템이라고 생각이 듭니다.

그렇기 때문에 AWS, GCP, Azure등에 대해서 자격등도 많이 활성화 되었습니다.

그 기반이 되는 인프라의 다양한 구성요소를 파악하고 개념을 잡는 부분은 매우 중요한 사항입니다.

앞으로도 계속 발전되는 기술은 인프라를 통해서 동작되고, 데이터 및 네트워크를 통해서 출발지, 목적지로 다양한 Device를 통해서

전송되기 때문에 그 중요도는 높아지고 있습니다.

 

· 책의 목차를 보면, 인프라 측면도 있지만 설명되어지는 인프라의 요소들이 그 환경을 활용하고 구축하기 위해서 프로그램적으로 구현되는 부분이 서로 연관되어 있는 점을 확인할수 있습니다. 예를 들어 직렬/병렬, 동기/비동기, 큐, 캐시, 폴링, 저널링, 압축 등에 대한 설명하는 부분은 인프라적인 측면도 살펴보면서, 개발적으로 구현할때 조금 더 동작방식을 이해하기 쉽고 문제 발생시 근본적인 원인을 찾을수 있는 

바탕이 됩니다.

 

대부분 아래와 같은 형태로, 전체적인 동작 흐름을 그림으로 설명을 합니다.

눈 앞에 보이지 않는 흐름에 대해서 쉽게 한눈에 들어와서 파악하고, 이해하기 편하게 구성되어 있습니다.

 

 

■ 물리적인 부분 및 이론적인 부분에 대한 설명

· 보통 서버..서버 라고 합니다. 요즘은 특히 클라우드 환경에서 작업을 많이 하다보니 물리적인 서버를 볼수 있는 경우가 적습니다.

그냥 단순히 PC보다는 큰 모습일꺼야 하는 것보다 조금 더 사진을 통해서 내용을 알수 있습니다.

 

· 프로세스와 쓰레드

해당 동작에 대해서 설명하면서, Oracle의 예시를 들어서 제시하는 부분이 좋았습니다. 

 

 

· OS 커널에 대해서 이야기도 하면서, 예시를 요즘 많이 사용하는 웹서버 구조로 설명하는 부분은 예시로 좋았습니다.

웹서버, WAS등 사용자 요청이 어떻게 도착하고, 처리되는지 시스템적으로 체크할 수 있습니다.

당연히 dns를 통한 도메일 처리 부터 시작하는 여정이 기록되어 집니다.

 

· 기본 이론

인프라를 구성하는 기본이론이라는 물음에 무엇이 있을까 생각보면, 딱 말하가 쉽지 않은거 같습니다.

물리적은 서버와 네트워크를 구성하면 좋은 환경 구성이 되었다고 생각 할 수 있을까요?

책에서는 아래와 같은 기술 요소를 기본 이론이라고 설명합니다. 서버들이 1대만 있으면 문제는 없지만,

다양하게 많은 서버들이 존재하기 때문에 공감가는 부분입니다.

- 직렬 / 병렬

- 동기 / 비동기

- 큐

- 베타적 제어

- 상태 저장 / 비저장

- 가변길이 / 고정길이

- 데이터구조 (배열과 연결리스트)

이렇한 내용에 대해서 http, db등 실제 인프라를 이용하여서 설명합니다.

 

· 응용 이론 /  캐시 /  I/O 크기 / 저널링 /  복제 / 압축 / 오류검출

인프라 구성시, 성능과 효율적인 서비스를 위해서 언급된 부분은 선택적이지만, 꼭 필요한 부분입니다.

 

 

■ 네트워크, 무정지 시스템

· 서버 및 인프라는 네트워크를 이용해서 연결을 합니다.  직접 peer to peer로 연결이 되는 경우는 많지 않기 때문에 어떠한

네트워크 구성으로 인프라 구성을 해야 하는지는 매우 중요합니다.

계층구조를 설명하기 위해서 대표적인 OSI 7Layer의 모델 및 그 이외의 네트워크 사항도 언급됩니다.

약속된 처리를 하기 위해서 프로토콜로 정의된 사항을 통해서 정보 전달 및 처리를 수행합니다.

아이피/라우팅 등 기본적으로 알아야 하는 사항 및 우리가 구성한 서비스가 지속적인 서비스를 제공하기 위해서

이중화 처리에 대한 부분도 서버, DB, 네트워크등 다양한 관점으로 설명되어 집니다.