해당 리뷰는 “한빛미디어”에서 제공하는 도서를 이용하여 리뷰를 진행하였습니다.
딱 책을 받았을 때의 첫 느낌은… “어렵겠다” 였습니다. 일단 목차만 봐도 실제로 굉장히 많은 내용을 담고 있는 것으로 보이고, 저자가 구글에서 “Site resilience Engineer” 로 일했기 때문에, 구글 내부의 특별한 기술들을 가지고 있지 않을까 생각했습니다.(외국은 업무에 따라서 부르는 명칭이 많이 다른데, 위의 직종은 시스템이 장애가 나더라도 잘 운영될 수 있도록 하거나, 서비스의 확장에 무리없도록 해주는 서버 엔지니어를 말합니다. – DevOps 쪽 역할이라고 할수 있습니다.)
일단 내용 자체는 첫 느낌 그대로 방대하고 어렵습니다입니다. 저 역시 서버 엔지니어로 경력이 조금 있긴 하지만, 한번에 제대로 이해하기는 어려운 내용들이었습니다.(실제 내용이 Software Engineer 보다는 System Engineer 쪽에 좀 더 취중해 있는 내용이라, 어떻게 보면 모르는게 당연합니다.)
Global DNS 시스템을 구성하는 방법이라든지…(Kakao의 Anycast 와 유사합니다. http://tech.kakao.com/2014/05/29/anycast/) 또는 소프트웨어 로드 밸런서가 좋을지 하드웨어 로드 밸런서가 좋을지 등등 굉장히 여러부분을 다루고 있습니다.
이쪽 계통에서 일을 하고 있는 사람이나, 관심이 있는 사람이나 충분히 읽어보면 꽤 도움이 될만한 서적입니다.(초급자보다는 어느정도 지식이 있는 사람들에게 좀 더 좋을듯 합니다.) 다만, 워낙 많은 내용을 다룰려고 하다보니, 아주 상세한 내용보다는, 이런것들을 이런데 쓴다 정도의 개념만 설명하고 넘어가는 경우가 많습니다.
읽다보면 “사례 연구” 라고 해서 회색으로 표시된 부분들이 있는데, 자세히 읽어보고 넘어가시는게 좋습니다. 실제로 대규모 서비스를 운영하는 곳에서, 어떤 문제들이 있는지에 대해서 아주 가볍게 말하고 넘어가는데… 꼭 알아두어야 하는 부분들이지만, 반대로… 왜 그런가에 대한… 이유가 충분히 나오지는 않는… 경우도, 또한 구글의 엔지니어였기 때문에, 구글 수준에서는 쉽게 해결할 수 있겠지만, 일반적인 경우에는 해결하기 어려운 문제들도 꽤 있습니다.
결론적으로 내용이 방대하고 어려운부분(기반지식이 없다면…) 이 이 책의 장점이자, 단점이지 않을까 싶습니다. 그러나, 실제로 이정도 규모의 서비스를 경험해보기가 쉽지 않기 때문에, 그리고 이정도로 방대하게 풀어낸 책은 아직 없는듯 합니다. 꼭 이해하지 못하더라도 한번 읽어보고, 이해할려고 노력해보는 것이 필요한 책입니다.