VMware라는 키워드를 보고 이 책이 다소 오래되었음을 직감했다. 요즘 가상화는 Docker를 적극적으로 사용하는 편이니까. 확인해보니 초판은 2017년이었다. 그러나 Docker를 책 마지막 챕터로 다루고 있기 때문에, 저자가 최신 변화를 지속적으로 책에 반영하고자 노력하는 것 또한 느껴졌다. 다른 입문 서적들에 비해 설명도 자세하고, 각 이미지에서 무엇에 집중해야 하는지 모두 강조해두었기에 읽기 정말 편했다.
책 전반부는 실습 환경을 구축하는 작업이다. 설치 과정이 깔끔한 방식으로 자세하게 설명되어 있음을 느꼈다. 서버를 처음 구축하는 이들도 분명 쉽게 따라할 수 있도록 하나부터 열까지 모두 상세하게 적어두었다. 그리고 중간중간 개념에 대한 부연설명을 진행하기 때문에, 책 전반부는 순차적으로 술술 읽을 수 있었다. 그렇게 챕터 3까지 빠르게 읽고 넘겼다.
그렇게 설치 과정을 넘기면, 운영에 필요한 기본적인 지식을 Part 2에서 다룬다. 컴퓨터에서 수행하는 기본적인 설정 방법이나 알아두어야 하는 기본적인 지식들을 전수한다. 읽다보면 대학교 전공 기초, 정보처리기사 필기, 리눅스 자격증 공부하는 것과 같은 느낌이 든다. 차이점은 이 책은 해당 내용들을 실제로 실습할 수 있도록 지도하고, 그 결과에 대한 해석과 설명이 친절하게 적혀져있다는 것이다.
이후부터는 서버의 목적별로 나누어 시스템 내에서의 구조 및 역할을 설명하고, 어떻게 구축할 수 있는지 설명한다. 가령, 사설 메일 서버를 만든다면 SMTP/POP3/IMAP이 무엇인지 간단히 설명하고, 인트라넷에서 각 클라이언트와 어떤 방식으로 상호작용해야 하는지 도식과 함께 설명한다. 그리고 결과적으로 서로 다른 두 클라이언트에서 다른 도메인의 이메일 주소 간 메일 송수신을 구현한다. 이 과정을 모두 잘 정돈된 이미지와 함께 A부터 Z까지 해야할 것을 전달한다. 또한 단순히 이렇게 바꾸면 됩니다ㅡ라고 하는 것이 아니고, 이것이 무엇을 의미하는지, 왜 필요한 작업인지에 대해서도 설명한다.
정말 친절한 책…
읽는 내내 정말 가이드를 꼼꼼하게 자세하게 작성했다고 느꼈다. 아무것도 모르는 초등학생도, 내용 이해는 잘 모르겠지만, 실습을 따라하는 것에는 전혀 문제가 없을 정도의 수준이다. 가끔 기술 스택이 옛날 환경에 맞춰져 있는 것 아닌가 싶기도 했지만, 딱히 기술 자체가 중요한 작업은 아니기 때문에 전혀 문제가 아니다. 굳이 개선을 하자면, 이 책에서 제시하는 각 서버 구현을 Docker 이미지로 구성해봐도 괜찮겠다는 생각을 했다. 그러면 독자들이 오류를 해결하지 못하거나, 빠르게 결과물을 보고 싶을 때, 큰 도움이 될 것 같다.
Linux 커널 수준에서의 탐구는 다루지 않는다
맥락이 중요하긴 하겠지만 아무래도 Linux 책이라 하면, C로 작성된 Linux 커널 수준에서의 동작을 심도있게 풀어내는 책을 떠올리지 않을까? 하지만 이 책의 방향성은 Linux에 대한 깊이 있는 탐구가 아니라, Linux 환경에서의 기초적인 서버 운영에 초점이 맞추어져 있다. 따라서, 커널 단에서의 동작과 보안 취약점 탐구 등에 관심이 있다면, 이 책은 적합하지 않다.
마치며...
요즘에는 소프트웨어 수준에서 다양한 기능을 가진 서버를 구축하고는 하는데, OS 단에서의 동작 원리를 모르면 트러블슈팅이 안 되는 경우가 존재한다. 예를 들어, 예전에 WSL2 초기 설정할 때 hosts 파일을 수정해서 DNS를 명시하거나 로컬 호스트를 프록시로 사용하지 않아 인터넷 접속이 불가능했던 경험이 있다. 만약 이 책을 처음부터 끝까지 실습한다면, 에러 메시지를 읽고 어떻게 해결해야 할 지 쉽게 감을 잡을 수 있을 것 같다.
그리고 솔직히 좀 놀랐다. CLI 기반의 직접적인 서버 구축 과정은 기술 변화에 둔감해서인지, 모든 개선이 독자 UX에 맞춰진 것일까? 이 책에 얼마나 많은 시간이 갈렸을지 상상이 안 간다. 단순히 쉽게 따라할 수 있는 것을 넘어서, 꺠알 정보들이 적재적소에 배치된 것을 보고 이 책을 향한 저자의 애정이 느껴졌다. 좋은 책이라 생각하고, 후배들에게 백엔드 입문서로 추천하고 싶을 정도다.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다