데브시스터즈에서 데브옵스 엔지니어로 일하고 있으며, 사내에서 개발되고 있는 윈도우 서버 애플리케이션 기반의 게임 서버를 클라우드 네이티브 기반의 인프라에서 실행할 수 있도록 기술 개발과 지원하는 일을 했다.
2009년부터 2022년까지 마이크로소프트 MVP로 활동하고 있으며, 닷넷 개발자들을 위한 커뮤니티인 닷넷데브, WSL 사용자들을 위한 커뮤니티인 한국 WSL 사용자 그룹 커뮤니티를 운영하고 있다.
컨테이너 기반의 기술은 이제 업계에서 사실상의 표준이자 기본 기술이 됐다. 최신 기술을 다루거나, 최신 기술에 관심이 있는 사람이라면 누구나 기본적인 내용으로 학습하고 인지하는 기술이 됐다. 그리고 이런 컨테이너를 가장 활용하기 쉽고 편리하게 만들어주는 도구는 단연 도커라는 것을 부정하는 사람이 없다.
컨테이너 기술 덕분에, 그 결과 이전에는 찾아볼 수 없었던 수준의 강력함과 유연성을 이뤄내며, IT 업계에 새로운 가능성과 비전을 제시하고 있다. 한 서버에서 호스팅할 수 있는 애플리케이션의 수를 크게 늘려 더 많은 애플리케이션을 동시에 효율적이면서도 체계적으로 호스팅할 수 있도록 해주고, 동일 운영 비용 대비 더 많은 작업과 서비스를 가능하게 만들었다.
도커는 리눅스를 기반으로 개발돼 온 기술이다. 시대의 흐름에 맞춰 윈도우를 개발하는 마이크로소프트 역시 이런 도커의 흥미로운 움직임을 적극적으로 운영체제에 수용해 윈도우에서도 컨테이너 런타임의 이점을 충분히 누릴 수 있도록 새로운 기술 스택을 추가했고, 그것이 바로 이 책에서 다루는 윈도우 컨테이너 기술이며, 도커 역시 리눅스 컨테이너뿐 아니라 윈도우 컨테이너를 호스팅하거나 윈도우 컨테이너 이미지를 빌드할 수 있도록 기능을 제공하고 있다.
안타까운 점은, 도커가 리눅스에 국한된 기술이라고 굳게 믿게 할 만한 현실적인 제약 사항이 꽤 강력하게 작용한다는 것이다. 리눅스 컨테이너처럼 쉽게 개발자의 컴퓨터에 설치해서 쓸 수 없거나, 기대한 성능을 이끌어내기 위해 알아야 할 사전 조건이 까다로운 편이다. 그리고 윈도우의 상징처럼 여겨지는 GUI 애플리케이션을 컨테이너화할 수 없다는 것 때문에 금새 흥미를 잃는 경우도 많을 것이다. 그러나 이는 도커의 태생과 방향성을 생각해보면 당연한 것이며, 다른 한편으로 윈도우 기반 애플리케이션의 입장에서는 불공평한 면도 있다.
하지만 컨테이너 런타임을 들여와 얻을 수 있는 이점은 이런 불공평함을 가볍게 뛰어넘고도 남을 정도로 매력적이고 강력하다. 필자는 데브시스터즈에서 데브옵스 엔지니어로 일하면서, 윈도우 컨테이너를 지원하는 쿠버네티스로 개발 환경 전체를 효율화하고, 동시에 프로덕션 환경에서 윈도우 컨테이너로 게임 서비스를 구동할 수 있도록 인프라를 구축해서 성공적으로 게임 서비스를 호스팅하는 경험을 얻을 수 있었다.
컨테이너 런타임을 도입해서 관리할 수 있다면 설치와 배포 과정에서 발생하는 인적 오류를 원천 봉쇄할 수 있을 뿐 아니라, 문제가 발생할 경우에는 언제든 컨테이너를 다시 시작하거나 재배포하는 것만으로 빠르게 문제를 복구하고, 중단 시간을 최소화할 수 있는 방법을 제공한다. 그러면서도 기존 윈도우 서버 애플리케이션의 이점은 약간의 주의를 기울이는 것 만으로도 얼마든지 호환성을 맞춰 대응할 수 있으니 적극적으로 고려해 볼만한 매력적인 기술이라고 자신 있게 말할 수 있다.
실무에서 윈도우 컨테이너를 도입하기를 원하거나, 자세한 내용을 알기 원하는 모든 이에게 이 책은 좋은 시작점이 될 것이다. 하지만 윈도우 컨테이너를 도입하면서 익숙해지려면 실제로는 알아야 할 내용이 적지 않은 것 또한 사실이다. 그래서 원서에서는 자세히 다루지 않았으나, 필자가 실무에서 윈도우 컨테이너를 도입하면서 경험했던 실수하기 쉬운 내용들을 따로 담아 약간의 가이드를 추가했으니, 시작 단계에서 발걸음을 떼지 못한 독자는 꼭 읽어 보기를 권한다.