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
DOWNLOAD disponível em: https://aka.ms/microservicesebook
PUBLICADO POR
Divisão de Desenvolvedores Microsoft, equipes de produtos .NET e Visual Studio
Uma divisão da Microsoft Corporation
Um jeito da Microsoft
Redmond, Washington 98052-6399
Direitos autorais © 2017 da Microsoft Corporation
Todos os direitos reservados. Nenhuma parte do conteúdo deste livro pode ser reproduzida ou transmitida de qualquer forma ou por qualquer meio sem a permissão por escrito do editor.
Este livro é fornecido “no estado em que se encontra” e expressa os pontos de vista e opiniões do autor. Os pontos de vista, opiniões e informações expressas neste livro, incluindo URLs e outras referências a sites da Internet, podem mudar sem aviso prévio.
Alguns exemplos aqui representados são fornecidos apenas para ilustração e são fictícios. Nenhuma associação ou conexão real é pretendida ou deve ser inferida.
Microsoft e as marcas registradas listadas em http://www.microsoft.com na página “Marcas Registradas” são marcas registradas do grupo de empresas Microsoft.
Mac e macOS são marcas comerciais da Apple Inc.
O logotipo da baleia Docker é uma marca registrada da Docker, Inc. Usado com permissão.
Todas as outras marcas e logotipos são propriedade de seus respectivos proprietários.
Coautores:
Cesar de la Torre , PM sênior, equipe de produto .NET, Microsoft Corp.
Bill Wagner , desenvolvedor sênior de conteúdo, C+E, Microsoft Corp.
Mike Rousos , engenheiro de software principal, equipe DevDiv CAT, Microsoft
Editores:
Mike Papa
Steve Hoag
Participantes e revisores:
Jeffrey Ritcher , engenheiro de software parceiro, equipe Azure, Microsoft
Jimmy Bogard , arquiteto-chefe da Headspring
Udi Dahan , fundador e CEO, software específico
Jimmy Nilsson , cofundador e CEO da Factor10
Glenn Condron , gerente sênior de programas, equipe ASP.NET
Mark Fussell , líder principal de PM, equipe do Azure Service Fabric, Microsoft
Diego Vega , líder de PM, equipe de Entity Framework, Microsoft
Barry Dorrans , gerente sênior do programa de segurança
Rowan Miller , gerente sênior de programas, Microsoft
Ankit Asthana , gerente principal de PM, equipe .NET, Microsoft
Scott Hunter , Diretor Parceiro PM, equipe .NET, Microsoft
Dylan Reisenberger , arquiteto e líder de desenvolvimento da Polly
Steve Smith , artesão e instrutor de software da ASPSmith Ltd.
Ian Cooper , arquiteto de codificação da Brighter
Unai Zorrilla , arquiteto e líder de desenvolvimento da Plain Concepts
Eduard Tomas , líder de desenvolvimento da Plain Concepts
Ramon Tomas , desenvolvedor da Plain Concepts
David Sanz , desenvolvedor da Plain Concepts
Javier Valero , Diretor de Operações do Grupo Solutio
Pierre Millet , consultor sênior, Microsoft
Michael Friis , gerente de produto, Docker Inc.
Charles Lowell , engenheiro de software, equipe VS CAT, Microsoft
As empresas estão cada vez mais obtendo economias de custos, resolvendo problemas de implantação e melhorando o DevOps e as operações de produção usando contêineres. A Microsoft tem lançado inovações em contêineres para Windows e Linux criando produtos como Azure Container Service e Azure Service Fabric e fazendo parceria com líderes do setor como Docker, Mesosphere e Kubernetes. Esses produtos oferecem soluções de contêiner que ajudam as empresas a criar e implantar aplicativos na velocidade e na escala da nuvem, independentemente da plataforma ou das ferramentas escolhidas.
O Docker está se tornando o padrão de fato na indústria de contêineres, apoiado pelos fornecedores mais importantes nos ecossistemas Windows e Linux. (A Microsoft é um dos principais fornecedores de nuvem que oferece suporte ao Docker.) No futuro, o Docker provavelmente será onipresente em qualquer datacenter na nuvem ou no local.
Além disso, a arquitetura de microsserviços está emergindo como uma abordagem importante para aplicações distribuídas de missão crítica. Em uma arquitetura baseada em microsserviços, o aplicativo é construído em uma coleção de serviços que podem ser desenvolvidos, testados, implantados e versionados de forma independente.
Este guia é uma introdução ao desenvolvimento de aplicativos baseados em microsserviços e ao gerenciamento deles usando contêineres. Ele discute abordagens de design e implementação de arquitetura usando contêineres .NET Core e Docker. Para facilitar a introdução a contêineres e microsserviços, o guia se concentra em um aplicativo de referência em contêineres e baseado em microsserviços que você pode explorar. O aplicativo de amostra está disponível no repositório GitHub eShopOnContainers.
Este guia fornece orientação básica de desenvolvimento e arquitetura principalmente no nível do ambiente de desenvolvimento, com foco em duas tecnologias: Docker e .NET Core. Nossa intenção é que você leia este guia ao pensar no design da sua aplicação, sem focar na infraestrutura (nuvem ou local) do seu ambiente de produção. Você tomará decisões sobre sua infraestrutura posteriormente, ao criar seus aplicativos prontos para produção. Portanto, este guia pretende ser agnóstico em termos de infraestrutura e mais centrado no ambiente de desenvolvimento.
Depois de estudar este guia, sua próxima etapa será aprender sobre microsserviços prontos para produção no Microsoft Azure.
Este guia não se concentra no ciclo de vida do aplicativo, no DevOps, nos pipelines de CI/CD ou no trabalho em equipe. O guia complementar Containerized Docker Application Lifecycle with Microsoft Platform and Tools concentra-se nesse assunto. O guia atual também não fornece detalhes de implementação sobre a infraestrutura do Azure, como informações sobre orquestradores específicos.
Escrevemos este guia para desenvolvedores e arquitetos de soluções que são novos no desenvolvimento de aplicativos baseados em Docker e na arquitetura baseada em microsserviços. Este guia é para você que deseja aprender como arquitetar, projetar e implementar aplicativos de prova de conceito com tecnologias de desenvolvimento da Microsoft (com foco especial no .NET Core) e com contêineres Docker.
Você também achará este guia útil se você for um tomador de decisões técnicas, como um arquiteto corporativo, que deseja uma visão geral da arquitetura e da tecnologia antes de decidir qual abordagem selecionar para aplicativos distribuídos novos e modernos.
A primeira parte deste guia apresenta os contêineres do Docker, discute como escolher entre o .NET Core e o .NET Framework como estrutura de desenvolvimento e fornece uma visão geral dos microsserviços. Este conteúdo é para arquitetos e tomadores de decisões técnicas que desejam uma visão geral, mas não precisam se concentrar nos detalhes da implementação do código.
A segunda parte do guia começa com a seção Processo de desenvolvimento para aplicativos baseados em Docker. Ele se concentra no desenvolvimento e em padrões de microsserviços para implementação de aplicativos usando .NET Core e Docker. Esta seção será de maior interesse para desenvolvedores e arquitetos que desejam se concentrar no código, nos padrões e nos detalhes de implementação.
O aplicativo eShopOnContainers é um aplicativo de referência para .NET Core e microsserviços projetado para ser implantado usando contêineres Docker. O aplicativo consiste em vários subsistemas, incluindo vários front-ends de UI de loja virtual (um aplicativo Web e um aplicativo móvel nativo). Também inclui microsserviços e contêineres de back-end para todas as operações necessárias do lado do servidor.
Este código-fonte de aplicativo baseado em microsserviço e contêiner é de código aberto e está disponível no repositório GitHub eShopOnContainers.
Escrevemos este guia para ajudá-lo a compreender a arquitetura de aplicativos e microsserviços em contêineres no .NET. O guia e o aplicativo de referência relacionado estarão evoluindo, por isso agradecemos seus comentários! Se você tiver comentários sobre como este guia pode ser melhorado, envie-os para:
[!div class="step-by-step"] [Próximo] (container-docker-introduction/index.md)