우리는 IT 기술을 익히기 위해 인터넷에서 많은 정보를 다양한 형태로 얻을 수 있습니다. 그런데도 왜 책이라는 매개체로 IT 기술을 이해하려 할까요? 아마도 대부분의 IT 서적에는 현대의 특정 기술을 중심으로 저자의 경험과 생각이 체계적으로 정리돼 있으며, 이를 통해 단편적 기술이나 지식이 아닌 저자의 통찰력과 경험적 내용을 참고하고 싶기 때문일 것입니다.
이 책은 현대의 데이터 플랫폼의 구조를 저자의 경험 관점에서 다루고 있습니다. 데이터에 대한 기본적 지식을 필요로 하거나 기초를 다지기 위한 용도라면 적합하지 않습니다. 또한 실습 과정도 담고 있지 않습니다. 대신 논리적인 사고를 통해, 책을 읽으며 의식의 흐름대로 플랫폼을 상상하면서 이해하는 과정을 요구합니다. 실무에서 데이터를 다루고 있거나 과거에 데이터를 충분히 다뤄본 사람이라면 현대의 데이터 플랫폼이 어떤 기능과 구조를 갖는지, 그리고 자신의 경험과 현재 다루고 있는 데이터 플랫폼이 책에서 제시하는 아키텍처와 비교해 어떤 수준을 가지며 어떤 차이점이 있는지 참고하며 바람직한 방향으로 발전하기를 고민할 때 본 책이 의미가 있겠습니다. 또한 데이터 플랫폼을 설계할 계획이 있는 아키텍트라면 한 번은 꼭 읽기를 권합니다. 선진 사례를 참고해 반드시 고민해야 할 문제를 놓치지 않고 설계에 반영할 수 있기 때문입니다.
클라우드 환경이 보편화되고 기술이 발전하면서 데이터의 수집과 처리, 분석, 리포트 등 대량의 데이터를 처리하는 방식이 비약적으로 발전해오고 있습니다. 클라우드 서비스의 여러 사례는 현재도 계속 업데이트되기 때문에 출간 시의 시점과는 다를 수 있겠지만 기본적인 방향과 특성은 지속적으로 참조할 만합니다.
다시 말씀드리면 이 책은 중급 이상의 내용을 다루고 있으며 충분한 기술적 경험이 없다면 이해하기 어려운 부분도 있을 것입니다. 이런 부분은 실질적으로 데이터를 다루면서 경험해봐야 이해할 수 있을 것입니다. 이 책이 독자들이 식견, 견해를 넓히고 새로운 아이디어를 창출하는 기반이 되기를 바랍니다.
이 책의 저자인 코넬리아 데이비스를 알게 된 것은 '쿠베콘(KubeCon)' 행사의 강연에 참석하게 되면서였다. 저자는 피보탈의 부사장으로서 이 책을 출간하기 직전에 강연했는데, 주제인 클라우드 네이티브 패턴은 소프트웨어 아키텍처를 십수 년간 현장에서 적용하고 검증하는 것이 본업인 나에게 흥미로운 주제이기에 앞서, 본업을 위한 밑천이 되는 주제였다. 기업용 애플리케이션을 설계하고 개발하는 IT인들 중에 클라우드 환경에서 소프트웨어를 현대화(modernization)하고자 하는 사람이라면, 이 책의 내용이 큰 자산이 될 것이다.
수많은 IT 번역서가 있지만, 내 경험상 번역서의 한계를 극복하지 못한 책이 많았다. 사내 출간물을 위해 간헐적이고 부분적으로 번역을 경험해보기는 했지만, 출간 도서의 번역은 이번이 처음이라 이 책이 어떤 평가를 받을지 못내 걱정스럽다. 지금껏 독자의 입장에서 번역서를 바라보다가 직접 번역을 해보니 그동안 오만했던 나 자신을 다시 돌아보고 많이 성장할 수 있는 기회를 갖게 됐다. 아무튼 이 책의 독자를 위해 여기서 몇 가지를 밝혀둔다.
1. 영어권 고유의 사고방식에서 비롯되는 문장 표현은 가급적 우리에게 맞도록 번역했으나, 뉘앙스나 작가의 의도를 명확히 전달하기에는 역부족인 부분도 있을 것이다. 번역 작업을 할 때 가장 어려웠던 점이다. 특히 저자 특유의 유머나 감탄사, 문화 특성에 따른 문장이 있어 어색할 수 있겠지만, 독자의 의견을 받아서 지속적으로 개선할 것을 약속한다.
2. 이 책은 중급자 이상의 전문 서적이다. 기본적으로 최소 3년 이상의 IT 개발 경험이 필요하며, 주석이 없는 용어는 따로 검색해 공부하지 않으면 이해하기 어려울 수 있다. 예를 들어 이 책에서는 리팩토링(refactoring), 배포(deployment) 등의 용어를 별도의 설명 없이 그대로 사용했다. 특히 클라우드나 컨테이너 환경의 경험도 필요하며, 필요한 시점에 수시로 타기술 관련 기초 서적이나 인터넷 자료를 활용하는 것을 권장한다.
3. 이 책에는 실습할 수 있는 소스 코드와 스크립트가 포함돼 있다. 다시 한 번 말하지만 이 책에서 다루는 내용을 충분히 이해하려면 중급 이상의 개발 역량이 필요하며, 특히 클라우드 또는 최신 개발 환경에 익숙하지 않은 개발자라면 원하는 대로 실습을 진행하기가 어려울 수 있다. 왜냐하면 당연하고 묵시적인 진행 과정은 세밀하게 언급하지 않고 생략했기 때문이다. 그러나 실습을 통해 굳이 결과를 확인하지 않고 이 책을 정독하며 내용을 따라가는 노력만으로도 충분한 가치를 얻을 수 있다. 따라서 코드를 실행하는 데만 몰두하기보다는 아키텍처 전반을 이해하는 데 더 집중하길 바란다.
수차례 검토와 수정을 거쳤음에도 100% 완벽한 책이라고 장담할 수 없다. 그러나 핵심은 명확하다. 이 책에서 언급한 클라우드 네이티브의 특징과 그것을 구현하기 위한 아키텍처 사례들을 거시적 관점에서 이해할 수 있다면 독자는 목적을 충분히 달성한 것이다.
수차례 검토와 수정을 거쳤음에도 100% 완벽한 책이라고 장담할 수 없다. 그러나 핵심은 명확하다. 이 책에서 언급한 클라우드 네이티브의 특징과 그것을 구현하기 위한 아키텍처 사례들을 거시적 관점에서 이해할 수 있다면 독자는 목적을 충분히 달성한 것이다.
- 최철원
퍼블릭 클라우드 시장과 기술이 성숙한 후 많은 시간이 흘렸음에도 아직 국내의 많은 기업은 도입한 지 얼마 되지 않았거나 이제 고려하기 시작하는 경우가 많습니다. 그런데 클라우드 전환에 대해서는 새로운 시스템을 구축할 때의 기획이나 준비 작업에 쏟는 노력에 비하면 너무 주먹구구식이며 체계적이지 못한 것을 수차례 봐왔습니다.
이는 클라우드와 관련해 변화한 환경을 아직 제대로 이해하지 못했기 때문이라고 생각합니다. 클라우드 전환은 단순히 인프라의 위치 이동만을 의미하는 것이 아니라 문화와 기본 환경의 변화 관리를 동반하며, 이러한 관점의 변화를 제대로 수용하지 못하면 실패할 수밖에 없다고 저자는 여러 차례 언급하고 있습니다.
이 책은 아주 기초적인 내용을 다루고 있으며 현재 발전하고 있는 내용들에 비하면 정말 일부라고 생각합니다. 또한 이 책은 이론서가 아니며 실무 참고서입니다. 따라서 기업 또는 조직의 IT 부서장이나 의사결정자이면서 클라우드를 아직 도입하지 않았거나 도입을 고려한다면 개략적으로라도 반드시 읽어보기를 권합니다.
이 책에 언급된 단어나 개념들은 이미 IT 세계에서는 보편화되어 있기 때문에 모든 단어를 자세히 설명하지 않았습니다. 인터넷에서 추가 정보를 찾아보면 좋겠습니다. 이 책이 식견과 견해를 넓히고 새로운 아이디어를 창출하는 기반이 되기를 바랍니다.
최철원