2015. 9. 1. 21:09 독서 영역/Hanbit Readers
728x90



인프라의 기본

저자
바바 토시아키 지음
출판사
한빛미디어 | 2015-07-01 출간
카테고리
컴퓨터/IT
책소개
이 책에서는 웹 시스템의 인프라를 중심으로 설계부터 구성, 감시...
가격비교 글쓴이 평점  


이번에 리뷰하게 될 책은 "웹 엔지니어가 알아야 할 인프라의 기본"이라는 제목이라는 책이다.
표지부터 아주 상콤한 느낌이 들며 편집 부분도 매우 마음에 드는 책이다.



이 책 누가 읽어요??

일단 나는 책의 제목에서 볼 수 있는 웹 엔지니어가 아니다.
웹과는 거리가 아주 먼? 시스템 프로그래밍을 하는 사람이다.

최근들어 인프라에 대하여 관심을 가지게 되었고 또한 정보가 필요한 시기였기 때문에 이 책을 선택하게 되었다.

어느정도 웹에 기반지식이 있는 사람 또는 리눅스에 친숙한 사람이라면 전체적으로 무난하게 읽을 수 있는 것 같다. 특히 초반부는 아무런 지식이 없는 사람도 관심만 있다면 재미있게 이해하면서 읽을 수 있을 것 같다. 내용 구성에 글과 함께 플로우 차트나 설명에 관한 이미지들이 많아서 읽는데 큰 도움이 되는 것 같다.




어떤 정보를 얻을 수 있을까요??

이 책에서는 인프라의 대한 설계부터 구성, 감시, 튜닝 포인트까지 가이드를 하고 있다.
일단 책의 구성은 인프라의 문외한인 내가 보았을 때는 매우 알차게 구성되어 있는 것 같다.

  • 인프라의 역할
  • 인프라의 기초 지식
  • 웹 서비스 구성 지식
  • 웹 서비스 운용 지식(시스템 감시, 상태 모니터링, 장애 대응)
  • 웹 서비스 튜닝 지식(보틀넥 찾기, 튜닝 포인트 찾기)


인프라의 기초 지식웹 서비스 구성 지식 파트를 통해서
직접 인프라를 구축해야 한다면 어떻게 구성해야 하는지 큰 틀을 알게되었다.
향후 서버 선택에 있어서 CPU, Memory, Disk 등의 스펙을 확인해보고 선택기준을 안내하고 있고 네트워크 스택관련하여도 주요기능들에 대하여 나열하고 있다.

웹 서비스 운용 지식에서는 시스템 감시와 모니터링 방법에 대해서 다양하고 상세하게 그래프 읽는 법과 리눅스 명령어 사용법을 안내하고 있다.
감시와 모니터링에 있어서 여러가지 툴에 대한 특징 및 사용법을 안내하고 있다.

  • 감시툴
    • Nagios : 감시 기능에 특화
    • Zabbix : 감시 기능 외에 그래프화 기능도 있음
  • 모니터링 툴
    • Cacti : 사용자 관리 기능이 있음, 풀형 데이터 수집
    • Mackerel : SaaS형 서비스 감시도 가능
    • Munin : 간단함, 사용자 관리 기능은 없음, 풀형 데이터 수집
    • GrowthForecast : 간단함 사용자 관리 기능은 없음, 푸시형 데이터 수집


그리고 리눅스 명령어를 통하여 모니터링 하는 부분에 대하여 친절하게 설명하고 있다.


개인적으로 장애 대응 부분을 읽으면서 저자의 마음이 고스란히 느껴지는 부분이 있었다.
저자는 장애 대응에 있어서 인력관리가 매우 중요하다고 서술하고 있는 부분에서 매우 공감했다.

담당자의 피로도가 매우 중요하다고 이야기 하고있으며 휴식시간을 충분히 가지고 단 음식을 섭치하라고 안내하고 있다.
참으로 인간미가 넘치는 재미있는 가이드인 것 같다.



네트워크 트러블 슈팅관련해서는 tcpdump 유틸리티를 소개하고 있다.
tcpdump는 참으로 유용한 네트워크 패킷 캡쳐 툴이다. 나 같은 경우 네트워크 드라이버를 개발하다보니 네트워크 패킷의 손실 유무 등을 확인할 경우가 있는데 그때 꼭 필요한 툴이다.

참고로 Windows 환경에서는 GUI 환경을 제공하는 Wireshark(https://www.wireshark.org/)라는 네트워크 패킷 캡쳐 툴이 무료로 제공되고 있다.

네트워크 공부를 하시는 분들이라면 한번쯤 설치해서 패킷 캡쳐를 해보았을 것이라 생각한다. 이런 툴만 잘 사용하더라도 상당한 트러블슈팅을 할 수 있을 것이다. 


웹 서비스 튜닝 지식에 대하여는 아래의 3가지 정도 내용이 있다.
처음 들어보는 용어들인데 알고나니 왠지 아는척 하고 싶어지는 내용들이다. 

  • 기능 분할
    • 기능(역할)별로 서버를 분류함으로써 각 서버를 각각의 역할에 집중 시키고 기능별 처리 능력을 향상 시킴
  • 스케일 업
    • 서버 처리 성능 자체를 향상 시킴
    • 예로 CPU 클러 수를 높이거나 코어 수를 늘리는 방법
  • 스케일 아웃
    • 서버를 여러대 준비함으로써 처리를 분산함으로써 향상 시킴

책을 한번 훑고 나니 ... ?

책을 한번 쭈욱 보고나니 전체적인 인프라의 구축에 대한 윤곽이 잡히긴 하는 것 같다.
이 책 한권으로 인프라의 모든 것을 알 수 있는 것은 절대 아니다. 책 제목이 그러하듯!
향후 사내에서 인프라 구축을 해야 할 경우가 있다면 이번에 습득한 정보들을 토대로 조금 더 심도 있는 스터디를 진행해야 할 것 같다.
그때는 인프라의 기본이 아닌 인프라의 심화책이 나왔으면 하는 바람이다.

아쉬운게 있다면??
  1. 생각보다 클라우드를 사용하는 방법에 대한 설명이 매우 부족했다.
    • 책 내용에도 물리적으로 서버를 직접 구축하는 것보다 클라우드를 사용하는게 더 좋을 것이라는 이야기정도로만 나여된 점이 아쉽다. 조금 더 심도있는 내용들이 있었다면 좋았을 것 같다.
  2. 시스템 감시 툴이나 모니터링 툴을 설치하는 설명에 있어서 CentOS 기준으로만 되어있고 Ubuntu 기준은 생략된점이 아쉽다.
    • 책에서는 항상 Ubuntu에 대한 설명도 같이하고 있지만 정작 설치 명령어를 제공하지 않았던 점이 아쉽다.

"이 리뷰는 한빛리더스 시즌2 활동의 일환으로 작성되었습니다."




728x90
posted by acedon