IT 기술의 발전은 해를 거듭할 수록 그 변화의 폭을 예상할 수 없을 정도로 거세기만 하다. 이는 H/W 생태계 뿐만 아니라 S/W 환경에서도 예외가 될 수 없는 상황이다. S/W 개발 방법론에 있어서는 데브옵스(DevOps)가 애자일 문화와 더불어 거스를 수 없는 하나의 시대적 패러다임으로 온전히 자리를 잡아 가고 있는 위용을 보이고 있는 실정이다. 데브옵스는 기술이 아니라 문화 그 자체이기 때문에 그 문화의 속성을 명확히 뒷받침 해 줄 수 있는 또 다른 도구들이 필요하다. 바로 이 지점에서 클라우드 네이티브 애플리케이션을 쿠버네티스를 통해 데브옵스 기반으로 구현해 나가는 과정에 있어 실질적인 가이드 라인을 제공해 주는 책이 있으니, 이름하여 '쿠버네티스를 활용한 네이티브 데브옵스'가 되겠다. 오늘은 바로 이 책에 대한 서평을 작성하려고 한다.
기업 IT 환경은 온프레미스(On-premise)에서 클라우드로 거침 없이 전환 되고 있는 추세다. 클라우드로 전환 되는 과정에 있어, 레거시 환경의 애플리케이션을 그대로 이식하는 Lift and Shift 전략은 클라우드가 제공하는 확장성과 유연성을 온전히 활용할 수 없는 상황을 초래한다. 그렇기 때문에 컨테이너 환경을 통해 클라우드에 최적화 된 애플이케이션을 개발 가능한 '클라우드 네이티브(Cloud Native)'가 무엇보다 중요 할 수 밖에 없다.
컨테이너 환경을 구축하여 코드(Code)를 작성하고, 빌드, 테스트, 배포, 운영해 나가는 과정이 성공적이었다면 이제는 확장성을 고려하는 상황과 마주하게 된다. 수 십개의 컨테이너에서 많게는 수 백개, 수 천개의 컨테이너를 제대로 운영하고 관리하기 위해선 기존의 방식대로 운영팀이 일일이 수동으로 취해 왔던 것이 아니라 컨테이너 자체를 하나의 그릇에 담을 수 있는 도구가 필요하게 되는데, 바로 컨테이너 오케스트레이션(Orchestration)의 사실상 표준(De Facto) 플랫폼인 쿠버네티스를 찾게 된 순간이 도래하게 된다. '쿠버네티스를 활용한 클라우드 네이티드 데브옵스는' 위에서 열거한 상황들에 대한 여정을 시작하는데 있어 유용한 도움을 주는 지침서라 할 수 있겠다.
이 책은 첫 장은 현재 IT 기술의 '총아'로 일컬어지는 클라우드, 데브옵스, 컨테이너, 쿠버네티스, 클라우드 네이티브가 등장한, 아니 등장할 수 밖에 없었던 시대적 배경과 그 흐름, 그리고 이 기술들이 펼쳐 낼 앞으로의 미래상을 시사하는 것으로 서술되어 있다. 새로운 기술이 등장하고 기존의 기술을 어떻게 변화 시키고 그 기술들이 상호간에 어떠한 영향을 끼치는지에 대한 '역학' 구조를 이해하는 것은 굉장히 중요하기 때문에 결코 첫 장을 가볍게 여겨서는 안 될 것이다.
두번째 장에서는 본격적으로 쿠버네티와의 첫 만남이 시작 된다. 컨테이너를 실행하는 것에서 부터 데모 애플리케이션을 올리고 Minikube를 통한 쿠버네티스 설치 및 운영에 대해 다루고 있고, 이후 부터 쿠버네티스 구축, 쿠버네티스 상세 설정, 리소스 관리, 클러스터 운영, 쿠버네티스 관리 도구, 쿠버네티스를 통한 컨테이너 실행, Pod 관리, 보안/백업, 쿠버네티스를 통하 애플리케이션 배포, 개발 워크 플로우, 쿠버네티스 환경에서의 CD(Continuous Delivery), 쿠버네티스 모니터링, 쿠버네티스 메트릭 등을 기술하고 있다.
이 책은 쿠버네티스라는 기술 하나에 대해 심도있게 다루고 있는 책이 아니기 때문에 쿠버네티스에 대해 보다 깊이 있는 서적을 원한다면, 이 책은 좋은 선택지가 될 수 없다. 하지만 클라우드 네이티브 애플리케이션을 개발해 나가는 과정에 있어, 쿠버네티스가 데브옵스를 지원하는 훌륭한 도구로서 어떻게 기능하는지에 대한 궁금증을 해갈하기 위한 독자가 있다면 이 책은 그 소기의 목적을 달성 시켜 주기에 충분하다고 할 수 있겠다. 클라우드를 향한 여정에 데브옵스를 지원하는 도구를 등에 업고 클라우드 네이티브 애플리케이션을 개발할 준비가 되어 있지 않다면 이 책을 통해 첫 발을 떼어 보는게 어떨까?