웹 엔지니어가 알아야 할 인프라의 기본

도서 리뷰에 앞서

IT/프로그래밍 관련 도서 리뷰를 하는 목적은 읽어야 할 것도 많고 알아야 할 것도 많은 엔지니어 분들이 책을 읽기 전에 조금이나마 자신이 생각했던 내용인지에 관한 정보를 주기 위함이다.

web_infra_book_1

책의 내용

책의 내용은 크게 웹을 기반으로 한 시스템의 1) 사전 설계, 2) 구축, 3) 모니터링, 4) 시스템 튜닝까지의 내용을 담고 있다.  4가지 주제를 보면 알겠지만 “웹 엔지니어가 알아야 할 인프라의 기본“은 웹 인프라의 기본부터 심화를 다루고 있지만 기본이라는 것이 어느 정도 웹기반 시스템에 대한 이해를 전제하고 있다. 2장 “인프라 기술의 기초 지식”에서 인터넷, URL, HTTP, 방화벽(보안), 암호화 등을 다루고 있지만 기본적인 이해가 있는 사람들이 환기 차원에서 읽을 수 있는 내용들이다.

 

내용에 따른 대상 독자

이 책은 웹서버와 HTTP 프로토콜과 늘상 붙어 있는 웹 개발업무 및 인프라 구축/모니터링 업무를 담당하는 사람들의 개발력에 잔근육을 키워줄 알찬 내공이 담겨있다. 반면, 책의 내용이 제목처럼 “기본”이라고 하기에 난이도가 있어서 5장 이후(모니터링, 튜닝) 주제는 개발경험이 많지 않은 입문자분들에게는 다소 실용성이 떨어질 수 있다.  하지만, 1~4장까지를 숲을 보는 목적으로 읽는다면 웹관련 기술에 대한 경험이 부재하거나 아직 많지 않은 학생들에게도 도움이 되는 내용으로 채워져 있다.

 

특히, 웹기반 스타트업을 하는 기획자나 운영자들도 1-4장까지는 중간 중간 이해 안되는 부분은 스킵하더라도 충분히 읽을만한 가치가 있다고 생각한다. 책의 초반에 아주 상세하게 인프라 구축을 위한 계획 및 절차에 대해서 상당히 꼼꼼히 다루고 있기 때문이다. 역으로, 개발업무를 하는 나는 이 부분이 다소 지루하게 느껴지기도 했지만 기획 및 운영 업무를 하는 사람들에게는 좋은 지침이 될 것이라고 생각이 들었다.

web_infra_book_2

이 책의 내용의 꽃은 5장부터 8장이다.

순전히 개발자 입장에서 본 이 책의 본록은 5장부터 8장이다. 5장과 6장에서는 리눅스기반 OS에서 사용가능한 각종 모니터링 툴과 Cacti사용에 대해서 상세하게 설명하고 있다. 5-6장을 보면서 이전에 웹서핑을 하면서 스크랩을 해 둔 80 Linux Monitoring Tools for SysAdmins 가 생각이 났는데, 이 블로그 글보다 상세하게 모니터링 도구들에 대한 사용법 및 해석방법을 설명하고 있다.

 

개인적으로는 7, 8장에 있는 튜닝 기법 중 아파치랑 MySQL 관련 내용이 좋았다. 기존에 아는 내용도 있었지만 간결하게 튜닝포인트를 찾아내는 이 내용은 웹개발자로서 초보의 발을 떼내는데 아주 큰 역할을 해줄 내용들이라고 생각을 한다. 혹 MySQL 의 퍼포먼스 관련해서 관심이 있는 사람이라면 MySQL 퍼포먼스 최적화 : 실무 예제로 다가가는 MySQL 쿼리 작성도 함께 읽어보면 좋다.

 

web_infra_book_3

기술의 생명주기가 짧은 곳 중에 하나인 곳이 웹 분야이다 보니 책을 사면 1-2년 지나면 무용지물이 되는 경우가 종종 있다. 그렇기 때문에 필요에 의해서 빌려볼 책과 사서 보관할 책을 잘 구분해야 하는데 적어도 이 책은 미력하나마 개인적인 식견으로는 5-10년은 곁에 두고 모니터링이나 Devops적인 측면에서 필요할 때마다 참조해서 내용을 환기하기에 좋은 책이라고 생각하기에 추천을 한다.

 

 

readers_emblem_250