Arquitetar aplicativos Web modernos com o ASP.NET Core e o Azure
Antes de ler este artigo, recomendamos que você leia primeiro padrão de aplicativo Web moderno para o .NET. O artigo Padrão de Aplicativo Web Moderno para .NET:
- É o guia recomendado da Microsoft para padrões de aplicativo Web modernos. Ele fornece uma arquitetura prescritiva, código e diretrizes de configuração sobre como modernizar aplicativos Web na nuvem.
- Fornece uma implementação de referência do GitHub : um aplicativo web de nível profissional que utiliza as melhores práticas. Contém exemplos concretos para criar aplicativos Web modernos no Azure.
- Está mais atualizado do que este artigo e é atualizado ativamente.
EDITION v8.0 – Atualizado para ASP.NET Core 8.0
Consulte o log de mudanças com as atualizações do livro e as contribuições da comunidade.
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
Direitos autorais © 2023 de 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. As visões, opiniões e informações expressas neste livro, incluindo URLs e outras referências de endereços de sites na Internet, podem ser alteradas sem aviso prévio.
Alguns exemplos descritos aqui são fornecidos apenas para ilustração e são fictícios. Nenhuma associação ou conexão real é intencional ou deve ser inferida.
A Microsoft e as marcas registradas listadas em https://www.microsoft.com na 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.
Autor:
Steve "ardalis" Smith - Arquiteto e Treinador de Software - Ardalis.com
Editores:
Maira Wenzel
Links de ação
Este e-book também está disponível em um formato PDF (somente versão em inglês) Baixar
Clonar/Bifurcar o aplicativo de referência eShopOnWeb no GitHub
Introdução
O .NET 8 e o ASP.NET Core oferecem várias vantagens em relação ao desenvolvimento tradicional do .NET. Você deve usar o .NET 8 para seus aplicativos de servidor se alguns ou todos os seguintes forem importantes para o sucesso do aplicativo:
Suporte multiplataforma.
Uso de microsserviços.
Uso de contêineres do Docker.
Requisitos de alto desempenho e escalabilidade.
Versionamento simultâneo de versões do .NET por aplicativo no mesmo servidor.
Aplicativos .NET 4.x tradicionais podem e dão suporte a muitos desses requisitos, mas ASP.NET Core e .NET 8 foram otimizados para oferecer suporte aprimorado para os cenários acima.
Cada vez mais organizações estão optando por hospedar seus aplicativos Web na nuvem usando serviços como o Microsoft Azure. Você deve considerar hospedar seu aplicativo na nuvem se o seguinte for importante para seu aplicativo ou organização:
Redução do investimento em custos de data center (hardware, software, espaço, utilitários, gerenciamento de servidor, etc.)
Preço flexível (pagamento com base no uso, não para capacidade ociosa).
Confiabilidade extrema.
Mobilidade aprimorada do aplicativo; altere facilmente onde e como seu aplicativo é implantado.
Capacidade flexível; aumentar ou diminuir com base nas necessidades reais.
Criar aplicativos Web com o ASP.NET Core, hospedado no Azure, oferece muitas vantagens competitivas em relação às alternativas tradicionais. ASP.NET Core é otimizado para práticas modernas de desenvolvimento de aplicativos Web e cenários de hospedagem na nuvem. Neste guia, você aprenderá a arquitetar seus aplicativos ASP.NET Core para aproveitar melhor esses recursos.
Versão
Este guia foi revisado para cobrir a versão do .NET 8.0, juntamente com muitas atualizações adicionais relacionadas à mesma "onda" de tecnologias (ou seja, Azure e tecnologias adicionais de terceiros) coincidindo com o lançamento do .NET 8.0. É por isso que a versão do livro também foi atualizada para a versão 8.0.
Propósito
Este guia fornece diretrizes de ponta a ponta sobre como criar aplicativos Web monolíticos usando o ASP.NET Core e o Azure. Nesse contexto, "monolítico" refere-se ao fato de que esses aplicativos são implantados como uma única unidade, não como uma coleção de serviços e aplicativos de interação. Em alguns contextos, o termo monolito pode ser usado como pejorativo. Mas na maioria das situações, um único aplicativo é muito mais fácil de criar, implantar e depurar do que um aplicativo composto por muitos serviços diferentes, ao mesmo tempo em que atinge os requisitos de negócios.
Este guia é complementar a "Microsserviços .NET. Arquitetura de aplicativos .NET em contêineres" que se concentra mais no Docker, em microsserviços e na implantação de contêineres para hospedar aplicativos empresariais.
Microsserviços do .NET. Arquitetura para aplicativos .NET em contêineres
- Livro eletrônico
https://aka.ms/MicroservicesEbook - Aplicativo de Exemplo
https://aka.ms/microservicesarchitecture
Quem deve usar este guia
O público-alvo deste guia são principalmente desenvolvedores, líderes de desenvolvimento e arquitetos interessados em criar aplicativos Web modernos usando tecnologias e serviços da Microsoft na nuvem.
Um público secundário é composto por tomadores de decisões técnicas que já estão familiarizados com o ASP.NET ou o Azure e estão procurando informações sobre se vale a pena atualizar para o ASP.NET Core para projetos novos ou existentes.
Como você pode usar este guia
Este guia foi condensado em um documento relativamente pequeno que se concentra na criação de aplicativos Web com tecnologias modernas do .NET e do Azure. Dessa forma, ele pode ser lido em sua totalidade para fornecer uma base para entender tais aplicativos e suas considerações técnicas. O guia, juntamente com seu aplicativo de exemplo, também pode servir como ponto de partida ou referência. Use o aplicativo de exemplo associado como um modelo para seus próprios aplicativos ou para ver como você pode organizar as partes de componente do aplicativo. Consulte os princípios do guia e a cobertura de opções de arquitetura e tecnologia e considerações de decisão ao avaliar essas opções para seu próprio aplicativo.
Fique à vontade para encaminhar este guia para sua equipe para ajudar a garantir uma compreensão comum dessas considerações e oportunidades. Ter todos trabalhando com base em um conjunto comum de terminologia e princípios subjacentes ajuda a garantir uma aplicação consistente de padrões e práticas arquitetônicas.
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 no final 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ê está lendo o livro em PDF, pode enviar comentários criando um problema em Documentação do .NET: problema do GitHub ou usando o modelo de problema Livros eletrônicos sobre a arquitetura do .NET: modelo de problema do GitHub.
Referências
- Escolher entre o .NET e o .NET Framework para aplicativos de servidor
https://learn.microsoft.com/dotnet/standard/choosing-core-framework-server