코드로 인프라 관리하기 - 8점
키프 모리스 지음, 강재준 옮김/한빛미디어
도서 상세 정보 - 한빛미디어

최근 몇년간 IT업계의 화두이자 관심사 중 하나로 '클라우드'와 '가상화'를 꼽는 사람은 나 뿐만은 아닐 것이다. 아마존이나 구글의 사업 영역을 예로 들자면, 아마존은 이미 자사의 웹서비스의 유휴 자원을 AWS라는 플랫폼으로 만들어 판매한지 오래이고, 구글도 자사의 플랫폼을 가상화 서버로 관리하여, 다양한 사내 요구(연구, 개발, 서비스 등)를 충족하는 한편 직접 클라우드 판매를 하는 데에도 나서고 있다. 


이러한 경향은 국내의 유력한 B2C 업계나 B2B 업계를 가리지 않고 나타나고 있어서, 업계의 인프라 엔지니어들은 대중화된 서비스를 이용하거나(AWS, Azure 등) 자사에 직접 구축(openstack, VMWare vCenter 등)하기도 한다.


또한, 5-6여년 전부터 입에 오르내리는 'DevOps' 라는 용어와 최근에 회자되는 'fullstack 개발자' 는 운영자와 개발자간 경계를 넘어 서로의 고유한 업무를 흐리게 하는 데까지 이르고 있다.


이번에 읽게된 '코드로 인프라 관리하기(Infrastructure as Code)'는 위에서 언급한 '클라우드'와 '가상화' 시대에 인프라 엔지니어로써 'DevOps'가 되는데 필요한 인프라 관리 '자동화'를 깊게 다루는 전문서적이다.


사실 이 책을 리뷰하는 나는 하드웨어에 탑재되는 펌웨어를 개발하는 '개발자'로 '인프라 엔지니어'의 세계에 초보라 책의 내용이 아주 깊게 이해되지는 않았다. 즉 'DevOps'를 지향하기 보다는 'fullstack' 개발자를 지향하는 측인데, 어쨋든 이 책이 개별 플랫폼이나 코드를 소개하기 보다는 인프라 자동화를 위한 '원칙', '패턴', '관례', '지침' 등에 중점을 두고 있기 때문에 나 같은 초보자가 시작하기에도 무난하다. 다만, 인프라를 자동화하는 전문적인 방법을 다루는 책의 후반부는 전반부에 비해 난이도가 급격히 올라가는 듯한 느낌이 든다.


책은 총 3부로 나뉘어져 1부에서는 가상화 확산 등 현재 인프라 관리의 문제점을 설명하고, '동적 인프라 플랫폼', '인프라 정의 도구', '서버 구성 도구'를 각각 나누어 설명하고 이를 사용하는 '활용예'를 설명하고 있다. 일종의 '개론' 또는 '총론'인 셈.

2부에서는 실제 '코드로써의 인프라'를 활용하는 패턴을 설명하고 있는데, '안티패턴'을 함께 소개해서 셜명해서 좋은 예와 나쁜 예를 비교하며 볼 수 있게 되어 유용하다. 

마지막 3부에서는 품질(10장)과 자동 test(11장), CI(12장) 등 개발의 여러 단계를 차용하여 코드로써의 인프라를 설명한다. 13-14장은 코드로써의 인프라를 대하는 엔지니어의 자세를 안내하고 15장에서는 조직 측면에서 코드로써의 인프라를 설명한다.


핵심 주제로 '자동화'를 기반에 두고 있는데, '코드로써의 인프라'가 인프라 관리/운영을 '코드'같이 작성하고 실행하며, 업데이트 하는 방식을 의미하니 각 부분에 '자동화'하지 않은 툴이나 외부 접근이 어려운 플랫폼은 피하라고 조언하기도 한다. 'GUI'보다 'CLI'를 선호하는 것도 같은 이유이다.


이 책은 인프라 관리자로 오랜동안 일한 필자가 쓰고, 역시 오랜동안 현업에서 근무한 역자가 번역했다. 용어의 선택에 약간의 어색함 - 예를 들면, 곳곳에 '팀은', '팀이' 등의 표현이 있는데, 그냥 '팀'이 아니라 역할이 드러나도록 개발팀, 인프라팀 등으로 표현하거나 '조직'으로 바꿔 썼으면 어떨까 하는 생각이 들었다. 


또한, 각주와 역주를 섞거나 참조URL을 본문에서 현지화(연결이 가능한 경우 en -> ko로 변경)하는 등 일관성이 떨어져 원문과 비교시 어렵지 않을까 했는데, 역자의 경력과 번역품질을 볼 때 굳이 원서를 사서 비교해 볼 필요까진 없지 않겠나 생각한다.


'클라우드'와 '가상화' 뿐 아니라 '인공지능' 등 기존의 방식으로는 효율이 떨어지거나 어려운 업무가 늘고 있다. 책 '코드로 인프라 관리하기'는 기존의 방식을 탈피하여 일을 하는 새로운 방식을 제시하는 좋은 책이라고 본다.

+ Recent posts