간단한 웹사이트를 개발한 경험이 있거나 서버 관리자라면 NGINX를 사용하신 경험이 다들 한번 내지 다수 있으실 것입니다. NGINX란 웹서버용 오픈 소스 소프트웨어로 중소기업에서 대기업까지 웹사이트를 제작할때 대부분은 이 프로그램을 사용하며 현재는 4억 5000만 개 이상의 웹사이트가 NGINX를 통해 서비스 되고 있습니다. NGINX는 로드 밸런서, 웹 서버, 리버스 프록시 및 API 게이트웨이 기능을 가지고 있어 매우 빠르고 믿을 만함은 물론이고 콘텐츠 캐시, 웹 애플리케이션 방화벽(WAF), 콘텐츠 전송 네트워크(CDN)를 비롯하여 데이터를 다루는 대부분의 시나리오에서도 사용 가능합니다.
제가 이 책을 선택한 이유는 책 전반부에는 NGINX를 처음 접하는 사용자를 위해 NGINX와 NGINX PLUS 설치법과 기본 사용법 등 쉽게 NGINX 설치 방법과 다양한 활용 시나리오에 따른 설정 방법에 대해 후반부에는 NGINX을 이용한 부하분산, 트래픽 관리, 캐싱, 자동화, 디버깅, 트러블슈팅 등을 쉽게 따라 할 수 있으면서도 NGINX를 최대한 활용하는 방법을 보여주기 때문입니다.
이 책의 특성은 NGINX 애플리케이션을 사용자에게 전달하는 과정에서 발생하는 문제 상황을 쉬운 예제를 통해 보여주며 다양한 예제를 통해 NGINX가 제공하는 기능을 살펴보고 각 기능을 어떻게 사용하는지 배울 수 있다는 점입니다. 이 책에서는 무료로 제공되는 NGINX 오픈소스 버전뿐 아니라 상업용으로 판매 중인 NGINX PLUS와 NGINX Controller도 다루고 있으며 상업용 버전에서만 사용 가능한 기능과 지시자는 쉽게 식별할 수 있도록 제목에 별도로 표시되어 있고 NGINX PLUS는 무료 버전에 없는 ADC와 같은 고급 기능을 여럿 포함하고 있어 NGINX플랫폼을 이해하는데 중요하기 때문에 이러한 고급 기능을 강조해 설명하였습니다.
또한 요즘 시대에는 정보보안이 매우 중요하며 NGINX는 웹 트래픽을 전달하는 최초 접점이자 애플리케이션 계층 보안의 최전선이기 때문에 보안에 관해서 기본적이면서도 중요한 내용을 다루고 있습니다.
그뒤로 최신기술인 HTTP/2, 웹 소켓, 미디어 스트리밍, 클라우드, 컨테이너 환경을 NGINX에서 활용하는 방법과 전형적인 운영 업무와 관련된 모니터링, 디버깅, 성능, 운영 팁에 대해 설명하고 있고 마지막으로 NGINX Controller와 애플리케이션 중심의 관리 플랫폼을 소개하고 있습니다.
현대 시대는 사람들이 직접 마주하면서 거래하는 방식보다 웹사이트나 어플리케이션에서 제품을 살펴보고 금액을 전자적으로 통장으로 이체하는 거래 방식이 점차 늘고 있는 추세이며 코로나가 발생하면서 거의 모든 기업이 매장에서 키오스크 방식으로 거래를 하고 있습니다. 따라서 웹 서버의 중요성이 필수적으로 중요해졌으며 그로 인해 늘어나는 트래픽을 감당하고 소중한 사용자 정보를 효과적으로 보호하면서도 원하는 정보를 빠르게 제공하는 것도 더욱 더 복잡하고 어려워졌습니다. 그래서 모든 기업이 서버 관리자를 기존의 보유한 수보다 좀더 늘이거나 외주업체와 계약하여 전문적으로 관리하는 등 웹서버 관리에 많은 투자를 하고 있습니다.
구성
Chapter 1: NGINX 기초
Chapter 2: 고성능 부하분산
Chapter 3: 트래픽 관리
Chapter 4: 대규모 확장 가능한 콘텐츠 캐싱
Chapter 5: 프로그래머빌리티와 자동화
Chapter 6: 인증
Chapter 7: 보안 제어
Chapter 8: HTTP/2
Chapter 9: 정교한 스트리밍
Chapter 10: 클라우드 환경 배포
Chapter 11: 컨테이너와 마이크로서비스
Chapter 12: 고가용성 보장을 위한 설정
Chapter 13: 고급 활동 모니터링
Chapter 14: 디버깅과 트러블슈팅
Chapter 15: 성능 튜닝
Chapter 16: NGINX Controller
Chapter 17: 실전 운영 팁
파트별로 나누어 봤을때 1~5장은 NGINX 설치방법, 기본적인 기능설명 및 사용방법에 대해 설명하고 있고 6~8장은 정보를 보안할 수 있는 방법에 대해, 9~11장은 클라우드와 미디어 스트리밍에 NGINX를 적용하는 방법에 대해, 12~17장은 NGINX 고급 사용법 및 실전에서 사용하는 방법에 대해 설명하고 있습니다.
개인적인 생각으로 학습은 서버 관리자로 취업 및 이직을 희망하시는 분들이나 이제 막 관리자로 시작하시는 초보자이신 분들께서는 1장부터 시작하시면 좋을것 같고 어느정도 경험이 있으신 분들(서버 관리자 경력 3~n년차)부터는 1~5장은 쭉 한번 보시면서 구조 및 원리부분을 습득하시고 6장부터 시작을 하시는 것이 좋을것 같습니다.
그리고 개인적으로 약간의 단점이 어쩌면 욕심일수도 있는게 Chapter 17 "실전 운영 팁" 부분에 좀더 많은 실습 예제 및 조언이 담겨있으면 초보자분들이나 서버 관리자를 희망하는 분들한테 좀 더 도움이 될 수 있어서 더 좋았지 않았을까라는 아쉬움이 있습니다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."