https://www.gitbook.com/download/mobi/book/dzfweb/microsoft-microservices-book
https://www.gitbook.com/download/epub/book/dzfweb/microsoft-microservices-book
https://www.gitbook.com/book/dzfweb/microsoft-microservices-book/details
다운로드 가능: https://aka.ms/microservicesebook
게시자:
Microsoft 개발자 부서, .NET 및 Visual Studio 제품 팀
Microsoft Corporation의 사업부
하나의 Microsoft Way
워싱턴 주 레드몬드 98052-6399
저작권 © 2017 by Microsoft Corporation
모든 권리 보유. 출판사의 서면 허가 없이는 이 책의 내용 중 어떤 부분도 어떠한 형태나 수단으로도 복제하거나 전송할 수 없습니다.
이 책은 "있는 그대로" 제공되며 저자의 견해와 의견을 표현합니다. URL 및 기타 인터넷 웹사이트 참조를 포함하여 이 책에 표현된 견해, 의견 및 정보는 예고 없이 변경될 수 있습니다.
여기에 설명된 일부 예는 단지 설명을 위해 제공된 것이며 허구입니다. 실제 연관성이나 연결을 의도하거나 추론해서는 안 됩니다.
Microsoft 및 http://www.microsoft.com의 "상표" 웹페이지에 나열된 상표는 Microsoft 그룹 계열사의 상표입니다.
Mac 및 macOS는 Apple Inc.의 상표입니다.
Docker 고래 로고는 Docker, Inc.의 등록 상표입니다. 허가를 받아 사용되었습니다.
기타 모든 마크와 로고는 해당 소유자의 재산입니다.
공동 저자:
Cesar de la Torre , 수석 PM, Microsoft Corp. .NET 제품 팀
Bill Wagner , 수석 콘텐츠 개발자, C+E, Microsoft Corp.
Mike Rousos , Microsoft DevDiv CAT 팀 수석 소프트웨어 엔지니어
편집자:
마이크 포프
스티브 호그
참가자 및 검토자:
Jeffrey Ritcher , 파트너 소프트웨어 엔지니어링, Azure 팀, Microsoft
지미 보가드(Jimmy Bogard) , Headspring의 수석 건축가
우디 다한 (Udi Dahan) , 특정 소프트웨어 창립자 겸 CEO
지미 닐슨(Jimmy Nilsson) , Factor10의 공동 창립자 겸 CEO
Glenn Condor , 선임 프로그램 관리자, ASP.NET 팀
Mark Fussell , Microsoft Azure Service Fabric 팀 수석 PM 리드
Diego Vega , Microsoft Entity Framework 팀 PM 리드
Barry Dorrans , 수석 보안 프로그램 관리자
Rowan Miller , 수석 프로그램 관리자, Microsoft
Ankit Asthana , Microsoft .NET 팀 수석 PM 관리자
Scott Hunter , Microsoft .NET 팀 파트너 이사 PM
Dylan Reisenberger , Polly의 설계자 겸 개발 책임자
Steve Smith , ASPSmith Ltd.의 소프트웨어 장인 및 트레이너
Ian Cooper , Brighter의 코딩 설계자
Unai Zorrilla , Plain Concepts의 설계자 겸 개발 책임자
Eduard Tomas , Plain Concepts의 개발 책임자
Ramon Tomas , Plain Concepts 개발자
David Sanz , Plain Concepts 개발자
Javier Valero , Grupo Solutio의 최고 운영 책임자(COO)
Pierre Millet , 수석 컨설턴트, Microsoft
Michael Friis , Docker Inc 제품 관리자
Charles Lowell , Microsoft VS CAT 팀 소프트웨어 엔지니어
기업에서는 컨테이너를 사용하여 점점 더 비용 절감을 실현하고 배포 문제를 해결하며 DevOps 및 생산 운영을 개선하고 있습니다. Microsoft는 Azure Container Service 및 Azure Service Fabric과 같은 제품을 만들고 Docker, Mesosphere 및 Kubernetes와 같은 업계 리더와 협력하여 Windows 및 Linux용 컨테이너 혁신을 출시해 왔습니다. 이러한 제품은 기업이 선택한 플랫폼이나 도구에 관계없이 클라우드 속도와 규모로 애플리케이션을 구축하고 배포하는 데 도움이 되는 컨테이너 솔루션을 제공합니다.
Docker는 Windows 및 Linux 에코시스템에서 가장 중요한 공급업체의 지원을 받아 컨테이너 업계에서 사실상의 표준이 되고 있습니다. (Microsoft는 Docker를 지원하는 주요 클라우드 공급업체 중 하나입니다.) 미래에는 Docker가 클라우드나 온프레미스의 모든 데이터 센터에서 어디에나 존재하게 될 것입니다.
또한 마이크로서비스 아키텍처는 분산형 미션 크리티컬 애플리케이션을 위한 중요한 접근 방식으로 떠오르고 있습니다. 마이크로서비스 기반 아키텍처에서 애플리케이션은 독립적으로 개발, 테스트, 배포 및 버전 관리가 가능한 서비스 모음을 기반으로 구축됩니다.
이 가이드는 마이크로서비스 기반 애플리케이션을 개발하고 컨테이너를 사용하여 이를 관리하는 방법을 소개합니다. .NET Core 및 Docker 컨테이너를 사용한 아키텍처 설계 및 구현 접근 방식에 대해 설명합니다. 컨테이너와 마이크로서비스를 더 쉽게 시작할 수 있도록 이 가이드에서는 탐색할 수 있는 컨테이너화된 참조 애플리케이션과 마이크로서비스 기반 애플리케이션에 중점을 둡니다. 샘플 애플리케이션은 eShopOnContainers GitHub 리포지토리에서 사용할 수 있습니다.
이 가이드에서는 주로 Docker와 .NET Core라는 두 가지 기술에 중점을 두고 개발 환경 수준의 기본 개발 및 아키텍처 지침을 제공합니다. 우리의 의도는 귀하가 프로덕션 환경의 인프라(클라우드 또는 온프레미스)에 초점을 맞추지 않고 애플리케이션 설계를 생각할 때 이 가이드를 읽는 것입니다. 나중에 프로덕션용 애플리케이션을 생성할 때 인프라에 대한 결정을 내리게 됩니다. 따라서 이 가이드는 인프라에 구애받지 않고 개발 환경 중심으로 작성되었습니다.
이 가이드를 학습한 후 다음 단계는 Microsoft Azure에서 프로덕션에 즉시 사용 가능한 마이크로서비스에 대해 배우는 것입니다.
이 가이드에서는 애플리케이션 수명 주기, DevOps, CI/CD 파이프라인 또는 팀 작업에 중점을 두지 않습니다. Microsoft 플랫폼 및 도구를 사용한 컨테이너화된 Docker 애플리케이션 수명 주기 보완 가이드는 해당 주제에 중점을 둡니다. 또한 현재 가이드에서는 특정 오케스트레이터에 대한 정보와 같은 Azure 인프라에 대한 구현 세부 정보를 제공하지 않습니다.
우리는 Docker 기반 애플리케이션 개발과 마이크로서비스 기반 아키텍처를 처음 접하는 개발자와 솔루션 설계자를 위해 이 가이드를 작성했습니다. 이 가이드는 Microsoft 개발 기술(특히 .NET Core에 중점을 두고 있음) 및 Docker 컨테이너를 사용하여 개념 증명 애플리케이션을 설계, 설계 및 구현하는 방법을 배우려는 경우에 적합합니다.
또한 새롭고 현대적인 분산 응용 프로그램에 대해 어떤 접근 방식을 선택할지 결정하기 전에 아키텍처 및 기술 개요를 원하는 엔터프라이즈 설계자와 같은 기술 의사 결정자인 경우에도 이 가이드가 유용할 것입니다.
이 가이드의 첫 번째 부분에서는 Docker 컨테이너를 소개하고, 개발 프레임워크로 .NET Core와 .NET Framework 중에서 선택하는 방법을 설명하고, 마이크로서비스에 대한 개요를 제공합니다. 이 콘텐츠는 개요를 원하지만 코드 구현 세부 사항에 집중할 필요가 없는 설계자와 기술 의사 결정자를 위한 것입니다.
가이드의 두 번째 부분은 Docker 기반 애플리케이션을 위한 개발 프로세스 섹션으로 시작됩니다. .NET Core 및 Docker를 사용하여 애플리케이션을 구현하기 위한 개발 및 마이크로서비스 패턴에 중점을 둡니다. 이 섹션은 코드, 패턴 및 구현 세부 사항에 중점을 두려는 개발자와 설계자에게 가장 흥미로울 것입니다.
eShopOnContainers 애플리케이션은 Docker 컨테이너를 사용하여 배포되도록 설계된 .NET Core 및 마이크로 서비스용 참조 앱입니다. 애플리케이션은 여러 전자 상점 UI 프런트 엔드(웹 앱 및 기본 모바일 앱)를 포함한 여러 하위 시스템으로 구성됩니다. 또한 필요한 모든 서버 측 작업을 위한 백엔드 마이크로서비스와 컨테이너도 포함됩니다.
이 마이크로서비스 및 컨테이너 기반 애플리케이션 소스 코드는 오픈 소스이며 eShopOnContainers GitHub 리포지토리에서 사용할 수 있습니다.
우리는 .NET의 컨테이너화된 애플리케이션 및 마이크로서비스 아키텍처를 이해하는 데 도움을 주기 위해 이 가이드를 작성했습니다. 가이드 및 관련 참조 애플리케이션은 계속 발전할 예정이므로 여러분의 피드백을 환영합니다! 이 가이드를 어떻게 개선할 수 있는지에 대한 의견이 있으면 다음 주소로 보내주세요.
[!div class="step-by-step"] [다음] (container-docker-introduction/index.md)