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
Один путь Microsoft
Редмонд, Вашингтон 98052-6399
© Корпорация Microsoft, 2017.
Все права защищены. Никакая часть содержания этой книги не может быть воспроизведена или передана в любой форме и любыми средствами без письменного разрешения издателя.
Эта книга предоставляется «как есть» и выражает взгляды и мнения автора. Взгляды, мнения и информация, выраженные в этой книге, включая URL-адреса и другие ссылки на веб-сайты в Интернете, могут быть изменены без предварительного уведомления.
Некоторые примеры, изображенные здесь, приведены только для иллюстрации и являются вымышленными. Никакая реальная ассоциация или связь не предполагается и не должна подразумеваться.
Microsoft и товарные знаки, перечисленные на сайте http://www.microsoft.com на веб-странице «Товарные знаки», являются товарными знаками группы компаний Microsoft.
Mac и macOS являются товарными знаками Apple Inc.
Логотип Docker в виде кита является зарегистрированной торговой маркой Docker, Inc. Используется с разрешения.
Все остальные знаки и логотипы являются собственностью соответствующих владельцев.
Соавторы:
Сезар де ла Торре , старший менеджер по продуктам .NET, Microsoft Corp.
Билл Вагнер , старший разработчик контента, C+E, Microsoft Corp.
Майк Русос , главный инженер-программист, команда DevDiv CAT, Microsoft
Редакторы:
Майк Поуп
Стив Хоаг
Участники и рецензенты:
Джеффри Ритчер , партнер по программному обеспечению, команда Azure, Microsoft
Джимми Богард , главный архитектор Headspring
Уди Дахан , основатель и генеральный директор компании Special Software
Джимми Нильссон , соучредитель и генеральный директор Factor10
Гленн Кондрон , старший менеджер программы, команда ASP.NET
Марк Фассел , главный руководитель проекта, группа Azure Service Fabric, Microsoft
Диего Вега , руководитель проекта, команда Entity Framework, Microsoft
Барри Дорранс , старший менеджер программы безопасности
Роуэн Миллер , старший менеджер программ, Microsoft
Анкит Астана , главный менеджер проекта, команда .NET, Microsoft
Скотт Хантер , руководитель проекта по работе с партнерами, команда .NET, Microsoft
Дилан Райзенбергер , архитектор и руководитель разработки в Polly
Стив Смит , специалист по программному обеспечению и преподаватель в ASPSmith Ltd.
Ян Купер , архитектор кодирования в Brighter
Унаи Зоррилья , архитектор и руководитель разработки в Plain Concepts
Эдуард Томас , руководитель разработки Plain Concepts
Рамон Томас , разработчик Plain Concepts
Дэвид Санс , разработчик Plain Concepts
Хавьер Валеро , главный операционный директор Grupo Solutio
Пьер Милле , старший консультант, Microsoft
Майкл Фриис , менеджер по продукту, Docker Inc.
Чарльз Лоуэлл , инженер-программист, команда VS CAT, Microsoft
Предприятия все чаще реализуют экономию средств, решают проблемы развертывания и улучшают DevOps и производственные операции с помощью контейнеров. Microsoft внедряет инновации в области контейнеров для Windows и Linux, создавая такие продукты, как Azure Container Service и Azure Service Fabric, а также сотрудничая с такими лидерами отрасли, как Docker, Mesphere и Kubernetes. Эти продукты предоставляют контейнерные решения, которые помогают компаниям создавать и развертывать приложения со скоростью и в масштабе облака, независимо от выбора платформы или инструментов.
Docker становится стандартом де-факто в контейнерной индустрии, поддерживаемым наиболее значительными поставщиками экосистем Windows и Linux. (Microsoft — один из основных поставщиков облачных технологий, поддерживающих Docker.) В будущем Docker, вероятно, будет повсеместно использоваться в любом центре обработки данных в облаке или локально.
Кроме того, архитектура микросервисов становится важным подходом для распределенных критически важных приложений. В архитектуре на основе микросервисов приложение построено на наборе сервисов, которые можно разрабатывать, тестировать, развертывать и управлять версиями независимо.
Это руководство представляет собой введение в разработку приложений на основе микросервисов и управление ими с помощью контейнеров. В нем обсуждаются подходы к архитектурному проектированию и реализации с использованием контейнеров .NET Core и Docker. Чтобы облегчить начало работы с контейнерами и микросервисами, в руководстве основное внимание уделяется эталонному контейнерному приложению и приложению на основе микросервиса, которое вы можете изучить. Пример приложения доступен в репозитории eShopOnContainers GitHub.
В этом руководстве представлены основные рекомендации по разработке и архитектуре, главным образом на уровне среды разработки, с упором на две технологии: Docker и .NET Core. Мы намерены, чтобы вы прочитали это руководство, обдумывая дизайн своего приложения, не сосредотачиваясь на инфраструктуре (облачной или локальной) вашей производственной среды. Решения относительно вашей инфраструктуры вы примете позже, когда будете создавать готовые к использованию приложения. Таким образом, данное руководство не зависит от инфраструктуры и в большей степени ориентировано на среду разработки.
После изучения этого руководства вашим следующим шагом будет изучение готовых к использованию микросервисов в Microsoft Azure.
В этом руководстве не рассматривается жизненный цикл приложения, DevOps, конвейеры CI/CD или командная работа. Дополнительное руководство «Жизненный цикл контейнерного приложения Docker с платформой и инструментами Microsoft» посвящено этой теме. В текущем руководстве также не приводятся подробности реализации инфраструктуры Azure, например информация о конкретных оркестраторах.
Мы написали это руководство для разработчиков и архитекторов решений, которые не знакомы с разработкой приложений на основе Docker и архитектурой на основе микросервисов. Это руководство предназначено для вас, если вы хотите научиться проектировать, проектировать и реализовывать экспериментальные приложения с использованием технологий разработки Microsoft (с особым акцентом на .NET Core) и контейнеров Docker.
Это руководство также будет полезным, если вы являетесь лицом, принимающим технические решения, например архитектором предприятия, которому нужен обзор архитектуры и технологий, прежде чем вы решите, какой подход выбрать для новых и современных распределенных приложений.
В первой части этого руководства представлены контейнеры Docker, обсуждается выбор между .NET Core и .NET Framework в качестве среды разработки, а также дается обзор микросервисов. Этот контент предназначен для архитекторов и лиц, принимающих технические решения, которым нужен обзор, но которым не нужно сосредотачиваться на деталях реализации кода.
Вторая часть руководства начинается с раздела «Процесс разработки приложений на базе Docker». Основное внимание уделяется шаблонам разработки и микросервисов для реализации приложений с использованием .NET Core и Docker. Этот раздел будет представлять наибольший интерес для разработчиков и архитекторов, которые хотят сосредоточиться на коде, шаблонах и деталях реализации.
Приложение eShopOnContainers — это эталонное приложение для .NET Core и микросервисов, предназначенное для развертывания с использованием контейнеров Docker. Приложение состоит из нескольких подсистем, включая несколько интерфейсов пользовательского интерфейса интернет-магазина (веб-приложение и собственное мобильное приложение). Он также включает в себя серверные микросервисы и контейнеры для всех необходимых операций на стороне сервера.
Исходный код этого микросервиса и приложения на основе контейнеров имеет открытый исходный код и доступен в репозитории eShopOnContainers на GitHub.
Мы написали это руководство, чтобы помочь вам понять архитектуру контейнерных приложений и микросервисов в .NET. Руководство и соответствующее справочное приложение будут дорабатываться, поэтому мы будем рады вашим отзывам! Если у вас есть комментарии о том, как можно улучшить это руководство, отправьте их по адресу:
[!div class="step-by-step"] [Далее] (container-docker-introduction/index.md)