본문 바로가기
BOOKS BOOKS BOOKS

그림으로 공부하는 IT 인프라 구조 ( 개정판 ) - 제이펍

by 19810721 2021. 5. 3.

그림으로 공부하는 IT 인프라 구조 ( 개정판 ) - 제이펍

 

예전에는 프로그래머가 프로그램을 작성하는 일에 집중할 수 있었다. 프로그램이 수행하게 될 역할 또는 논리를 잘 풀어 코드에 담아내는 일을 잘하면 프로그래머로서 자격이 충분했다. 아울러 한정된 자원(CPU, Memory)을 최소한으로 사용할 수 있도록 할 수 있다면 훌륭한 프로그래머라 할 수 있었다. 그러나 최근에는 하드웨어 성능에 전적으로 의존했던 서버의 영역과 데이터베이스의 영역이 놀라울 만큼 빠르게 발전한 하드웨어와 그 하드웨어에서 구동되는 다양한 가상화 기술로 인해 SW로 얼마든지 성능과 규모를 늘리고 줄일 수 있게 되었다. 소프트웨어 개발자들은 이제 하드웨어의 제약에서 벗어나 웹서버와 DB서버를 자유자재로 활용할 수 있게 되었다. 심지어 DB 서버에 대한 전문적인 지식을 지녀야 유지 할 수 있던 DB 서버조차도 쉽게 만들 수 있는 시대가 되었다.

 

 

프로그래머, 엔지니어라면 꼭 갖고 있어야 하는 필독서. 제이펍은 개발자에게 보물섬이다.

시대의 흐름에 맞추어 당대 기술자들이 꼭 알아야 할 내용을 책 한 권에 담아 책으로 출간해주는 제이펍은 프로그래머에겐 보물섬과 같다. 이번에 소개할 책은 제이펍에서 개정판으로 재 출간한 그림으로 공부하는 IT 인프라 구조 개정판이다. 이 책은 동 제목의 책이 5년여만에 개정되어 출간된 책이다. 1 년이면 너무나 많은 변화가 생기는 IT 업계에서 5년의 시간은 결코 짧지 않으나 내용면에서 최신의 내용을 충실하게 담으려는 노력을 확인할 수 있었다.

 

IT 관련 책 수요가 한정되어 있어 무한정 책을 찍어낼 수는 없는 터, 그러한 환경에서 명서들은 업계에서 소문이 나기 시작하면서 늦게 책을 구하려는 경우가 생긴다. 그러나 절판 이후에는 서점에서 더 이상 구할 수 없는 안타까운 경우가 종종 생긴다. 대표적으로 제이펍에서 10 여 년 전 출간한 대규모 서비스를 지탱하는 기술이라는 책은 현재 중고 서점 시세가 무려 십 수 만원에 달해 책 가격의 5배가 넘는 가격으로 형성되어 있다. 이제는 소프트웨어와 하드웨어 기술자가 별도로 나뉘지 않고 모든 영역을 알아야 서비스가 운영되는 터, 이 글을 읽게 된다면 만들고 운영하게 될 인프라에 대한 모든 항목이 바이블처럼 담긴 이 책을 꼭 서재 한 켠에 담아두기를 바라는 바이다.

 

아무리 프로그램을 잘 만들어 내는 프로그래머도 그 프로그램을 운영하고 서비스를 제공할 수 있도록 인프라 위에서 작동되는 시스템으로 만들어 낼 수 없다면 엔진은 만들었으나 자동차를 만들어 낼 수 없는 기술자와 다를 바 없게 된다. 또한 인프라에 대한 각각의 레이어 (이 책에서는 사용자, 웹서버, 어플리케이션 서버, DB서버, 저장소로 분리하였다.) 별로 기본적으로 알고 있어야 할 내용들로 채워져 있으므로 막연히 해당 레이어의 전문가가 해결해 주길 바라기 보다 스스로 관련 용어와 기술 스택을 익혀 충분히 감당해 볼 만한 영역으로 만들어 낼 수 있게 되기를 기대해본다.

 

아키텍쳐에 대한 이론과 실체를 동시에 보여주면서도 데이터의 흐름을 시각적으로 보여주는 이미지 자료들로 하여금 독자의 이해를 돕는다. 또한 물데네전세표응이라고 외우기만 했던 OSI 7 Layer 를 기반으로 각 계층별 데이터의 이동과 실전에서의 대응 방법을 자세히 담아냈다. 사실 이 책 혼자만 보고 싶은 생각도 들 정도이니 혹시 이런 리뷰 기회가 없어 절판 이후에 책의 존재를 알게 되었다면 어찌 되었을지 생각만해도 아찔하다.

 

IT 업계에서 일을 하게 되면 흔히 시스템이 다운되었다고 표현되는 서비스 중단 사태가 얼마나 큰 일로 다가오는지 생각만해도 끔찍할 것이라 생각한다. 후반부에서는 흔히들 말하는 무중단 서비스를 위해 어떤 인프라를 갖추어야 하는지에 대해 상세히 담아냈다. 개발자는 시스템의 성능과 안정성을 늘 생각해야 하는데, 시스템 유지에 가장 원초적인 전원 공급에서부터 물리적인 서버, 저장소, 웹 서버, 어플리케이션 서버, 그리고 네트워크 장비와 사이트의 이중화, 마지막으로 상태 확인을 위한 감시와 사고를 대비한 백업 부분까지 설명한다. 그리고 마지막으로는 성능을 향상할 수 있는 팁을 소개한다.

 

막연하게 알고 있는 인프라에 대해 명확하게 알기 바라고  문제가 발생했을 때 바로 문제되는 부분에서 대처가 가능할 수 있도록 지식을 쌓는 가장 쉬운 방법이 이 책이지 않을까 싶다. 최근의 추세는 가상화 또는 클라우드에서 모든 서비스를 제공하는 경우가 워낙 많다. 그러나 물리적이지 않다 한들 서버와 그 인프라를 구성하는 요소들도 결국은은 이전과 같거나 비슷한 구성으로 확장, 유지되고 있기에 필요한 지식 기반과 명령어, 관리, 통제에 대한 경험은 늘 필요하고 익혀야 한다 생각한다.

 

아직 프로그램의 문법 단계이거나 인프라를 구성하는데 관여하지 않는 신입 개발자라면 이 책을 통해 서비스가 어떤 인프라 구축을 통해 제공되는지 학습하는 계기가 되길 바라고, 시스템을 구축하고 서비스를 제공하는 경험이 풍부한 개발자라면 인프라를 개선하고 근래의 경향을 파악할 수 있는 기회를 얻기를 바라는 마음이다.

 

다시 말하지만, 프로그래머는 프로그램만 잘 작성한다고 완성되지 않는다 생각한다. 어쩌면 비교적 덜 대중적인 인프라와 서비스 분야에도 이렇게 책이 출간되는 것에 안도감을 느낀다. 문법 책 10 권 보다 이 책 한 권이 더 나을 수 있다. 10 년 뒤에 보자.

 

"제이펍(Jpub) <IT 전문서 리뷰어활동을 목적으로 책을 제공받아 작성된 서평입니다."