그동안 여러 곳에서 콘퍼런스 강연이나 워크숍 운영, 교육 프로그램 운영, 컨설팅을 해 왔지만 모든 사람에게 추천할 수 있는 책이 없어서 아쉬웠다. 시중에 좋은 도커(Docker) 서적이 많이 나와 있지만, 특정 기술 스택이나 배경지식을 필요로 하는 것이 많았다. 개발 팀 출신인지 또는 운영 팀 출신인지에 상관없이 리눅스와 윈도 사용자도 모두 아우를 수 있는 책. 이 책은 이러한 책을 쓰고 싶었던 노력의 결실이다.
컨테이너는 소프트웨어를 실행할 새로운 방법이다. 컨테이너는 효율적이고 보안성과 이식성이 뛰어나며 윈도우 애플리케이션을 도커에서 코드 변경 없이 실행할 수 있다. 도커는 매우 어려운 주제인 레거시 애플리케이션의 현대화, 애플리케이션 빌드, 클라우드로의 이동, 데브옵스 도입, 지속적 혁신과 같은 일을 이루게 도와줄 것이다.
이 책은 윈도우에서 도커를 사용할 때 필요한 모든 것을 기초부터 프로덕션에서 항상 사용 가능한 상태를 보장하기 위해 알아야 할 내용까지 모두 다룬다. 윈도우의 컨테이너에 있는 .NET Framework 및 .NET Core 애플리케이션의 주요 개념과 간단한 예제부터 시작해 도커로의 여정을 안내할 것이다. 그런 다음 도커를 사용해 기존 아키텍처를 어떻게 현대화하고 전통적인 ASP.NET과 SQL 서버 애플리케이션을 개발할 수 있는지를 배울 수 있다.
이러한 예제에서는 레거시 단일 애플리케이션을 분산된 애플리케이션으로 분할해 클라우드의 클러스터링된 환경에 배포하는 방법을 보여주며 로컬에서 실행할 때 사용하는 것과 같은 결과물을 사용한다. 그리고 도커를 사용해 애플리케이션을 컴파일, 패키지, 테스트, 배포하는 CI/CD 파이프라인을 구축하는 방법을 확인할 수 있다. 안심하고 프로덕션 환경으로 전환할 수 있도록 도커 보안, 관리, 지원 방법을 알아본다.
사내 소규모 애플리케이션부터 애저에서 실행되는 대규모 애플리케이션에 이르기까지 도커 구현의 실제 사례를 알아본다.