Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
EDITION v7.0 – Atualizado para ASP.NET Core 7.0
Consulte o changelog para as atualizações do livro e as contribuições da comunidade.
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 do .NET e do Docker.
Para facilitar a introdução, o guia concentra-se em um aplicativo de referência em contêineres e baseado em microsserviços que você pode explorar. O aplicativo de referência está disponível no repositório gitHub do eShopOnContainers .
Links de ação
Este e-book também está disponível em um formato PDF (somente versão em inglês) Download
Clonar/Bifurcar o aplicativo de referência eShopOnContainers no GitHub
Assista ao vídeo introdutório
Conheça imediatamente a arquitetura de microsserviços
Introdução
As empresas estão percebendo cada vez mais a economia de custos, resolvendo problemas de implantação e melhorando o DevOps e as operações de produção usando contêineres. A Microsoft vem lançando inovações de contêiner para Windows e Linux criando produtos como o Serviço de Kubernetes do Azure e o Azure Service Fabric e fazendo parcerias com líderes do setor como Docker, Mesosphere e Kubernetes. Esses produtos fornecem soluções de contêiner que ajudam as empresas a criar e implantar aplicativos em escala e velocidade de nuvem, independentemente de sua escolha de plataforma ou ferramentas.
O Docker está se tornando o padrão de fato no setor de contêineres, com suporte dos fornecedores mais significativos nos ecossistemas do Windows e do Linux. (A Microsoft é um dos principais fornecedores de nuvem que dão 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 aplicativos de missão crítica distribuída. Em uma arquitetura baseada em microsserviço, o aplicativo é criado com base em uma coleção de serviços que podem ser desenvolvidos, testados, implantados e com versão independente.
Sobre este guia
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 do .NET e do Docker. Para facilitar a introdução a contêineres e microsserviços, o guia se concentra em um aplicativo baseado em microsserviços e contêineres de referência que você pode explorar. O aplicativo de exemplo está disponível no repositório GitHub do eShopOnContainers .
Este guia fornece diretrizes básicas de desenvolvimento e arquitetura principalmente em um nível de ambiente de desenvolvimento com foco em duas tecnologias: Docker e .NET. Nossa intenção é que você leia este guia ao pensar no design do aplicativo sem se concentrar na infraestrutura (nuvem ou local) do seu ambiente de produção. Você tomará decisões sobre sua infraestrutura mais tarde, ao criar seus aplicativos prontos para produção. Portanto, este guia destina-se a ser independente 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.
Versão
Este guia foi revisado para abordar a versão do .NET 7 , juntamente com muitas atualizações adicionais relacionadas à mesma "onda" de tecnologias (ou seja, Azure e tecnologias adicionais de terceiros) coincidindo a tempo com a versão do .NET 7.
Observação
Uma nova versão deste eBook está sendo criada para o .NET 8 e o novo exemplo de eShop .
O que este guia não aborda
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 ciclo de vida do aplicativo Docker em contêineres com a Plataforma e ferramentas da Microsoft se concentra 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.
Recursos adicionais
-
Ciclo de vida do aplicativo Docker em contêineres com a Plataforma e ferramentas da Microsoft (e-book para download)
https://aka.ms/dockerlifecycleebook
Quem deve usar este guia
Escrevemos este guia para desenvolvedores e arquitetos de soluções que são novos no desenvolvimento de aplicativos baseados no Docker e na arquitetura baseada em microsserviços. Este guia é para você se você quiser aprender a arquitetar, projetar e implementar aplicativos de prova de conceito com tecnologias de desenvolvimento da Microsoft (com foco especial no .NET) e com contêineres do Docker.
Você também achará este guia útil se você for um tomador de decisão técnico, como um arquiteto corporativo, que deseja uma visão geral de arquitetura e tecnologia antes de decidir qual abordagem selecionar para aplicativos distribuídos novos e modernos.
Como usar este guia
A primeira parte deste guia apresenta contêineres do Docker, discute como escolher entre o .NET 7 e o .NET Framework como uma estrutura de desenvolvimento e fornece uma visão geral dos microsserviços. Esse 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 Desenvolvimento para aplicativos baseados no Docker . Ele se concentra nos padrões de desenvolvimento e microsserviço para implementar aplicativos usando o .NET e o Docker. Esta seção será mais interessante para desenvolvedores e arquitetos que desejam se concentrar no código e nos detalhes de padrões e implementação.
Aplicativo de referência baseado em contêiner e microsserviço relacionado: eShopOnContainers
O aplicativo eShopOnContainers é um aplicativo de referência de software livre para .NET e microsserviços que foi projetado para ser implantado usando contêineres do Docker. O aplicativo consiste em vários subsistemas, incluindo vários front-ends de interface do usuário de repositório eletrônico (um aplicativo Web MVC, um SPA Web e um aplicativo móvel nativo). Ele também inclui os microsserviços e contêineres de back-end para todas as operações necessárias do lado do servidor.
A finalidade do aplicativo é mostrar padrões de arquitetura. A TI NÃO É UM MODELO PRONTO PARA PRODUÇÃO para iniciar aplicativos do mundo real. Na verdade, o aplicativo está em um estado beta permanente, pois também é usado para testar novas tecnologias potencialmente interessantes à medida que aparecem.
Enviar seus comentários
Este livro e os exemplos relacionados estão em constante evolução, portanto, seus comentários são bem-vindos. Se você tiver comentários sobre como este livro pode ser melhorado e estiver lendo este livro no <learn.microsoft.com>, use a seção Comentários na parte inferior da página:
Conforme realçado na captura de tela anterior, a seção de comentários permite enviar comentários para:
- Este produto: usando o formulário de comentários sobre o produto .NET.
- Esta página: usando um modelo de problema do GitHub com os detalhes da página.
Se você estiver lendo este livro em PDF, poderá enviar comentários criando uma nova questão no .NET Docs: GitHub ou usando o template de questão do GitHub dos eBooks de Arquitetura do .NET.
Créditos
Coautores:
Cesar de la Torre, Sr. PM, equipe de produtos do .NET, Microsoft Corp.
Bill Wagner, Sr. Desenvolvedor de Conteúdo, C+E, Microsoft Corp.
Mike Rousos, Engenheiro de Software Principal, equipe de DevDiv CAT, Microsoft
Editores:
Mike Pope
Steve Hoag
Participantes e revisores:
Jeffrey Richter, Partner Software Eng, equipe do Azure, Microsoft
Jimmy Bogard, arquiteto-chefe da Headspring
Udi Dahan, Fundador & CEO, Particular Software
Jimmy Nilsson, co-fundador e CEO da Factor10
Glenn Condron, Gerente Sênior de Programas da equipe ASP.NET
Mark Fussell, Principal PM Lead, equipe do Azure Service Fabric, Microsoft
Diego Vega, líder da PM, equipe do Entity Framework, Microsoft
Barry Dorrans, Gerente Sênior de Programa de Segurança
Rowan Miller, Gerente de Programas da Microsoft
Ankit Asthana, Gerente principal do PM, equipe do .NET, Microsoft
Scott Hunter, diretor de parceiros PM, equipe do .NET, Microsoft
Nish Anil, Sr. Program Manager, equipe do .NET, Microsoft
Dylan Reisenberger, Arquiteto e Líder de Desenvolvimento na Polly
Steve "ardalis" Smith - Arquiteto de Software e Treinador - Ardalis.com
Ian Cooper, Arquiteto de Codificação da Brighter
Unai Zorrilla, Arquiteto e Líder de Desenvolvimento em Conceitos Simples
Eduard Tomas, Líder de Desenvolvimento em Conceitos Simples
Ramon Tomas, desenvolvedor da Plain Concepts
David Sanz, desenvolvedor da Plain Concepts
Javier Valero, Diretor de Operações do Grupo Solutio
Pierre Millet, Consultor, Microsoft
Michael Friis, Gerente de Produto, Docker Inc
Charles Lowell, Engenheiro de Software, equipe do VS CAT, Microsoft
Miguel Veloso, engenheiro de desenvolvimento de software da Plain Concepts
Sumit Ghosh, consultor principal da Neudesic
Direitos autorais
PUBLICADO POR
Equipes de produtos da Divisão de Desenvolvedores da Microsoft, do .NET e do Visual Studio
Uma divisão da Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
Copyright © 2023 pela 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 escrita do editor.
Este livro é fornecido “no estado em que se encontra” e expressa os pontos de vista e as opiniões do autor. Os pontos de vista, opiniões e informações expressas neste livro, incluindo URL e outras referências de sites da Internet, podem ser alterados sem aviso prévio.
Alguns exemplos descritos aqui são fornecidos apenas para ilustração e são fictícios. Nenhuma associação real ou conexão verdadeira é pretendida ou deve ser inferida.
A Microsoft e as marcas listadas na https://www.microsoft.com página da Web "Marcas comerciais" são marcas comerciais do grupo de empresas da Microsoft.
Mac e macOS são marcas comerciais da Apple Inc.
O logotipo do Docker Whale é uma marca registrada do Docker, Inc. Usado por permissão.
Todas as outras marcas e logotipos são propriedade de seus respectivos proprietários.