IT 인프라 구조, 그림으로 쉽게 이해하기!
[그림으로 공부하는 IT 인프라 구조]는 인프라 엔지니어, 애플리케이션 개발자, DB 관리자들을 위해 ‘IT 인프라’ 구조에 관해 설명하는 책이다. 시스템의 고도화, 복잡화가 이루어짐에 따라 인프라 전체 구조를 파악하기 어려워지고 있어 엔지니어들은 자신이 담당하는 업무 외의 영역에 대해 본질적인 구조를 이해할 기회가 없어졌다. 그러나 고성능, 안정성을 추구하는 시스템을 만들기 위해서는 전체를 파악한 후 담당 영역을 최적화해야 하므로 IT 인프라 구조가 중요할 것이다.
저자 소개
저자 야마자키 야스시(山崎 泰史)_1장, 3장, 8장 집필
인프라 컨설턴트. 요코하마에서 태어났고 미국 텍사스에서 자랐다. 오라클 데이터베이스를 오른손에, 잔재주를 왼손에 들고서 IT 인프라 속에 사는 도깨비들과 매일같이 싸우고 있다. IT 관련 일에 종사하는 분들이 조금이라도 일찍 퇴근할 수 있도록 노력하고 있다.
목 차
목차
Chapter 1 인프라 아키텍처를 살펴보자 1
1.1 | 시작하며 2
Column 궁극의 아키텍처와 최적의 아키텍처 3
1.2 | 집약형과 분할형 아키텍처 4
1.3 | 수직 분할형 아키텍처 10
Column 웹은 클라이?언트-서버형을 대체할 수 있을까? 14
1.4 | 수평 분할형 아키텍처 14
Column 가상화 진행 상황 18
1.5 | 지리 분할형 아키텍처 19
Column 기술은 대물림되고 있다 23
Chapter 2 서버를 열어 보자 25
2.1 | 물리 서버 26
2.2 | CPU 31
2.3 | 메모리 33
2.4 | I/O 장치 36
Column 코드네임의 정체 36
Column 조립 PC 추천 43
2.5 | 버스 43
Column 불사조 InfiniBand 48
2.6 | 정리 49
Chapter 3 3계층형 시스템을 살펴보자 51
3.1 | 3계층형 시스템의 구성도 52
3.2 | 주요 개념 설명 53
Column 막대 인간의 모험 57
Column 커널은 결코 견고하지 않다 62
3.3 | 웹 데이터 흐름 63
Column 데이터와 함께 전달되는 당신을 향한 마음 71
Column RDBMS와 KVS의 소리 없는 전쟁 75
Column 높은 하늘을 날다 ― 조감도 78
Chapter 4 인프라를 지탱하는 기본 이론 79
4.1 | 웹 데이터 흐름 80
Column 병렬과 병행 86
4.2 | 동기/비동기 86
Column C10K 문제 93
4.3 | 큐 94
4.4 | 배타적 제어 101
Column 멀티 프로세서 시스템에서는 배타적 제어가 어렵다 106
4.5 | 상태 저장/상태 비저장 107
4.6 | 가변 길이/고정 길이 113
4.7 | 데이터 구조(배열과 연결 리스트) 119
4.8 | 탐색 알고리즘(해시/트리 등) 124
Chapter 5 인프라를 지탱하는 응용 이론 133
5.1 | 캐시 134
5.2 | 끼어들기 139
5.3 | 폴링 144
5.4 | 핑퐁 149
5.5 | 저널링 156
Column 변화는 항상 순식간에 일어난다 162
5.6 | 복제 163
5.7 | 마스터-슬레이브 168
5.8 | 압축 172
5.9 | 오류 체크/오류 수정 178
Chapter 6 시스템을 연결하는 네트워크 구조 185
6.1 | 네트워크 186
6.2 | 【기초】 계층 구조란? 187
6.3 | 【기초】 프로토콜이란? 191
Column 표준화 단체에 대해서 194
6.4 | TCP/IP를 이용하고 있는 현재의 네트워크 196
6.5 | 【레이어 7】 애플리케이션 계층의 프로토콜 HTTP 199
Column 한 번 잡으면 놓아주지 않는다 204
6.6 | 【레이어 4】 전송 계층 프로토콜 TCP 205
Column 인터넷의 주인은 누구? 207
6.7 | 【레이어 3】 네트워크 계층의 프로토콜 IP 216
Column IP 주소 고갈과 IPv6 221
Column IP 헤더에서 체크섬이 사라진 날 224
6.8 | 【레이어 2】 데이터 링크 계층의 프로토콜 이더넷 224
6.9 | TCP/IP를 이용한 통신 이후 231
Column NIC의 끼어들기와 패킷 처리 235
Chapter 7 무정지를 위한 인프라 구조 237
7.1 | 안정성 및 이중화 238
Column 장애 보호 240
7.2 | 서버 내 이중화 241
7.3 | 저장소 이중화 248
7.4 | 웹 서버 이중화 256
Column 장애 괴담 첫 번째 이야기, ‘벌써 시간이 다 됐어?’ 256
Column DSR(Direct Server Return) 264
7.5 | AP 서버 이중화 265
7.6 | DB 서버 이중화 270
Column 장애 괴담 두 번째 이야기, ‘진단 때문에 죽었다’ 279
7.7 | 네트워크 장비 이중화 279
Column 장애 괴담 세 번째 이기, ‘브로드캐스트 스톰’ 289
7.8 | 사이트 이중화 290
7.9 | 감시 293
7.10 | 백업 301
7.11 | 정리 305
Chapter 8 성능 향상을 위한 인프라 구조 307
8.1 | 응답과 처리량 308
Column 가장 중요한 응답 시간은? 311
8.2 | 병목 현상이란? 315
Column CAP 정리를 익혀서 초능력자가 되자 317
Column 병목 현상의 숙명의 적, 데이터베이스 321
8.3 | 3계층형 시스템 그림을 통해 본 병목 현상 321
Column 여유가 있는 노련한 시스템 324
Column C는 자바보다 빠르다? 333
Column 아이들을 공원에서 놀게 하자 341
Column ORDER(N) ? 일인분 나왔습니다 344
Column 대역이 가장 중요한 것일까? 347
8.4 | 정리 354
찾아보기 .... 355
출판사 서평
출판사 서평
IT 인프라 전반에 대한 상식을 그림으로 이해하자!
이 책은 시스템이 동작하기 위한 토대인 ‘IT 인프라’ 구조에 관해 설명하고 있다. 최근 들어 시스템의 고도화, 복잡화가 이루어짐에 따라 인프라 전체 구조를 파악하기 어려워지고 있다. 이런 상황에서 엔지니어는 자신이 담당하는 업무 외의 영역에 대해서 본질적인 구조를 이해할 기회가 거의 없다. 하지만 고성능, 안정성을 추구하는 시스템을 만들고자 한다면 전체를 파악한 후에 담당 영역을 최적화해야 한다.
이 책의 저자들은 현장에서 인프라 구축을 담당했던 컨설턴트들이다. 다양한...
IT 인프라 전반에 대한 상식을 그림으로 이해하자!
이 책은 시스템이 동작하기 위한 토대인 ‘IT 인프라’ 구조에 관해 설명하고 있다. 최근 들어 시스템의 고도화, 복잡화가 이루어짐에 따라 인프라 전체 구조를 파악하기 어려워지고 있다. 이런 상황에서 엔지니어는 자신이 담당하는 업무 외의 영역에 대해서 본질적인 구조를 이해할 기회가 거의 없다. 하지만 고성능, 안정성을 추구하는 시스템을 만들고자 한다면 전체를 파악한 후에 담당 영역을 최적화해야 한다.
이 책의 저자들은 현장에서 인프라 구축을 담당했던 컨설턴트들이다. 다양한 환경에서 체득한 인프라 기술의 핵심을 포함해서 어떤 식으로 이 책을 집필해야 독자들이 이해하기 쉬울지에 주안점을 뒀다. 이 책의 내용을 이해해 두면 몰랐던 영역이나 새로운 기술을 접하더라도 그 원리를 쉽게 이해할 수 있을 것이다. 또, 시스템 전체 구성을 파악하기 쉬워져서 업무 능력 향상에도 도움이 될 것이다.
인프라 엔지니어를 포함해 애플리케이션 개발자, DB 관리자에게 적극 추천한다.