책소개
IT에 종사하는 사람이라면 반드시 읽어야 할 책!
IT 인프라 전반에 대한 상식을 그림으로 쉽게 이해한다!
이 책에는 다양한 환경에서 저자들이 직접 체득한 인프라 기술의 핵심을 포함해 아키텍처나 네트워크, 서버, 프로세스 등과 같은, 이른바 기반 기술을 어떻게 하면 독자들이 쉽게 이해할 수 있을지에 대한 저자들의 고민이 잘 녹아 있다. 따라서 시스템 각 부분의 공통된 원리(구조)를 올바로 이해할 수 있으며, 그럼으로써 새로운 기술이 나와도 곧바로 적응할 수 있는 기초 능력을 키울 수 있을 것이다. 또한, 원리를 설명하는 풍부한 그림은 실무 경험이 적은 독자라도 손쉽게 전체 구조를 이해하는 데 도움이 될 것다.
저자소개
저 : 야마자키 야스시
오라클에서 사이트 신뢰성 엔지니어(Site Reliability Engineer)로 근무하고 있다. 셸 스크립트로 세계를 정복하려고 한다.
저 : 미나와 케이코
스윔웨어 주식회사 프로페셔널 서비스 통합 본부에서 비즈니스 솔루션 기획자로 근무하고 있다. 가상화 기반 및 퍼블릭 클라우드 활용을 위한 IT 중장기 계획이나 주부로서의 감각을 살린 ROI 시뮬레이션, 시스템 아키텍처 설계 등을 담당하고 있다. 최근에는 디지털 전환(Digital Transformation) 시대의 인프라 본질에 대해 컨설팅하고 있다.
저 : 아제카츠 요헤이
아마존 웹 서비스 재팬에서 빅데이터 컨설턴트로 근무 중이다. 인터넷 벤처기업에서 개발 및 인프라 운영 등 폭넓게 경험을 쌓은 후 금융 시스템 엔지니어로 일했으며, 주식회사 도완고(DWANGO)에서 DBA 및 개발팀 관리자로 일했다. 전 직장인 일본 오라클에서는 데이터베이스 컨설턴트로 금융기관의 핵심 시스템을 설계 및 운용했다. 2017년 4월부터 현 직장인 아마존 재팬에서 근무하고 있다.
저 : 사토 타카히코
클라우데라(Cloudera)에서 솔루션 엔지니어로 근무 중이다. 애플리케이션이 좋아서 나라 첨단과학기술 대학원대학(NAIST)에서 네트워크를 전공했고, 오라클에서 배운 데이터베이스로 인프라의 매력에 빠졌다. 최근에는 데이터 자체에 대한 관심을 가지고 있다.
역 : 김완섭
네덜란드 ITC에서 Geoinformation for Disaster Risk Management 석사 학위를 취득했다. 약 9년간 일본과 한국의 기업에서 IT 및 GIS/LBS 분야 업무를 담당했으며, 일본에서는 세콤(SECOM) 계열사인 파스코(PASCO)에서 일본 외무부, 국토지리정보원 같은 정부기관을 대상으로 한 시스템 통합(SI) 업무를 담당했다. 이후 야후 재팬으로 직장을 옮겨 야후맵 개발 담당 시니어 엔지니어로 근무했으며, 한국으로 돌아와 SK에서 내비게이션 지도 데이터 담당 매니저로 근무했다. 현재는 싱가포르에 있는 일본계 회사에서 은행 관련 IT 프로젝트를 담당하고 있다. 저서로는 『나는 도쿄 롯폰기로 출근한다』가 있으며, 역서로는 『알고리즘 도감』, 『처음 만나는 HTML5 & CSS3』, 『인공지능 70』, 『처음 만나는 자바스크립트』, 『다양한 언어로 배우는 정규표현식』, 『그림으로 공부하는 IT 인프라 구조』, 『그림으로 공부하는 시스템 성능 구조』 등 40여 종이 있다. 블로그를 통해 IT 번역 관련 이야기와 싱가포르 직장 생활을 소개하고 있다.
감수 : 오다 케이지 (小田圭二)
일본 오라클 주식회사에서 컨설팅서비스사업 총괄 디렉터로 근무하고 있다. 관리자로 일하면서 IT 노하우 공유와 엔지니어 육성에 힘을 쏟고 있다. 주요 저서로 『그림으로 공부하는 시스템 구축을 위한 오라클 설계』, 『그림으로 공부하는 오라클 구조』, 『그림으로 공부하는 OS/저장소/네트워크』, 『44개 안티 패턴으로 배우는 DB 시스템』, 『신 비장의 오라클 현장 기술』 등이 있다.
일본 오라클의 컨설팅 서비스 사업 총괄 부문 소속의 디렉터다. 현장에서 프로젝트를 담당했던 시기에 이 책을 집필했다. 지금은 매니저 직급으로서 관리하는 입장이 되었다. 취미는 트라이애슬론이다. 주요 저서로는 『그림으로 공부하는 시스템 성능 구조』(제이펍), 『나만 알고 싶은 오라클 실무 테크닉』(제이펍) 등이 있다.
목차
제1장 인프라 아키텍처를 살펴보자
1.1 인프라란 무엇일까?
1.2 집약형과 분할형 아키텍처
1.3 수직 분할형 아키텍처
1.4 수평 분할형 아키텍처
1.5 지리 분할형 아키텍처
제2장 서버를 열어 보자
2.1 물리 서버
2.2 CPU
2.3 메모리
2.4 I/O 장치
2.5 버스
2.6 정리
제3장 3계층형 시스템을 살펴보자
3.1 3계층형 시스템의 구성도
3.2 주요 개념 설명
3.3 웹 데이터 흐름
3.4 가상화
제4장 인프라를 지탱하는 기본 이론
4.1 직렬/병렬
4.2 동기/비동기
4.3 큐
4.4 배타적 제어
4.5 상태 저장/상태 비저장
4.6 가변 길이/고정 길이
4.7 데이터 구조(배열과 연결 리스트)
4.8 탐색 알고리즘(해시/트리 등)
제5장 인프라를 지탱하는 응용 이론
5.1 캐시
5.2 끼어들기
5.3 폴링
5.4 I/O 크기
5.5 저널링
5.6 복제
5.7 마스터-워커
5.8 압축
5.9 오류 검출
제6장 시스템을 연결하는 네트워크 구조
6.1 네트워크
6.2 계층 구조
6.3 프로토콜
6.4 TCP/IP를 이용하고 있는 현재의 네트워크
6.5 [레이어 7] 애플리케이션 계층의 프로토콜 HTTP
6.6 [레이어 4] 전송 계층 프로토콜 TCP
6.7 [레이어 3] 네트워크 계층의 프로토콜 IP
6.8 [레이어 2] 데이터 링크 계층의 프로토콜 이더넷
6.9 TCP/IP를 이용한 통신 이후
제7장 무정지를 위한 인프라 구조
7.1 안정성 및 이중화
7.2 서버 내 이중화
7.3 저장소 이중화
7.4 웹 서버 이중화
7.5 AP 서버 이중화
7.6 DB 서버 이중화
7.7 네트워크 장비 이중화
7.8 사이트 이중화
7.9 감시
7.10 백업
7.11 정리
제8장 성능 향상을 위한 인프라 구조
8.1 응답과 처리량
8.2 병목 현상이란?
8.3 3계층형 시스템 그림을 통해 본 병목 현상
8.4 정리