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.
Dica
Esse conteúdo é um trecho do eBook, Architecting Cloud Native .NET Applications for Azure, disponível no .NET Docs ou como um PDF para download gratuito que pode ser lido offline.
Pense nos aplicativos que sua organização precisa criar. Em seguida, examine os aplicativos existentes em seu portfólio. Quantos deles justificam uma arquitetura nativa de nuvem? Todos eles? Talvez um pouco?
Aplicando a análise de custo/benefício, há uma boa chance de alguns não apoiarem o esforço. O custo de se tornar nativo de nuvem excederia em muito o valor comercial do aplicativo.
Que tipo de aplicativo pode ser um candidato para nativo de nuvem?
- Sistemas corporativos estratégicos que precisam evoluir constantemente capacidades/recursos de negócios
- Um aplicativo que requer uma alta velocidade de lançamento – com alta confiança
- Um sistema em que os recursos individuais devem ser liberados sem uma reimplantação completa de todo o sistema
- Um aplicativo desenvolvido por equipes com experiência em diferentes pilhas de tecnologia
- Um aplicativo com componentes que devem ser dimensionados independentemente
Aplicativos de linha de negócios menores e menos impactantes podem se sair bem com uma arquitetura monolítica simples hospedada em um ambiente de PaaS na nuvem.
Em seguida, há sistemas herdados. Embora todos gostaríamos de criar novos aplicativos, geralmente somos responsáveis por modernizar cargas de trabalho herdadas que são essenciais para os negócios.
Modernizando aplicativos herdados
O e-book gratuito da Microsoft Modernizar aplicativos .NET existentes com a nuvem do Azure e contêineres do Windows fornece diretrizes sobre como migrar cargas de trabalho locais para a nuvem. A Figura 1-10 mostra que não há uma estratégia única que sirva para modernizar aplicativos legados.

Figura 1-10. Estratégias para migrar cargas de trabalho herdadas
Aplicativos monolíticos que não são críticos podem se beneficiar de uma migração rápida de lift-and-shift. Aqui, a carga de trabalho local é redirecionada para uma VM baseada em nuvem, sem alterações. Essa abordagem usa o modelo IaaS (Infraestrutura como Serviço). O Azure inclui várias ferramentas, como Migrações para Azure, Azure Site Recovery e Serviço de Migração de Banco de Dados do Azure para ajudar a simplificar a movimentação. Embora essa estratégia possa gerar algumas economias de custos, esses aplicativos normalmente não foram projetados para desbloquear e aproveitar os benefícios da computação em nuvem.
Aplicativos herdados que são essenciais para a empresa geralmente se beneficiam de uma migração aprimorada otimizada para nuvem . Essa abordagem inclui otimizações de implantação que habilitam os principais serviços de nuvem sem alterar a arquitetura principal do aplicativo. Por exemplo, você pode colocar o aplicativo em contêiner e implantá-lo em um orquestrador de contêineres, como os Serviços de Kubernetes do Azure, discutido posteriormente neste livro. Uma vez na nuvem, o aplicativo pode consumir serviços de backup de nuvem, como bancos de dados, filas de mensagens, monitoramento e cache distribuído.
Por fim, aplicativos monolíticos que fornecem funções corporativas estratégicas podem se beneficiar melhor de uma abordagem nativa de nuvem , o assunto deste livro. Essa abordagem fornece agilidade e velocidade. No entanto, isso envolve o custo de migração de plataforma, rearquitetar e reescrever código. Com o tempo, um aplicativo herdado pode ser decomposto em microsserviços, em contêineres e, finalmente, convertido em uma arquitetura nativa de nuvem.
Se você e sua equipe acreditam que uma abordagem nativa de nuvem é apropriada, cabe a você racionalizar a decisão com sua organização. Qual é exatamente o problema de negócios que uma abordagem nativa de nuvem resolverá? Como ele se alinharia às necessidades de negócios?
Versões rápidas de recursos com maior confiança?
Escalabilidade refinada – uso mais eficiente de recursos?
Resiliência aprimorada do sistema?
Melhor desempenho do sistema?
Mais visibilidade das operações?
Misturar plataformas de desenvolvimento e armazenamentos de dados para chegar à melhor ferramenta para o trabalho?
Investimento em aplicativo adaptável ao futuro?
A estratégia de migração correta depende das prioridades organizacionais e dos sistemas que você está direcionando. Para muitos, pode ser mais econômico otimizar a nuvem de um aplicativo monolítico ou adicionar serviços com granulação grosseira a um aplicativo N-Tier. Nesses casos, você ainda pode fazer uso completo dos recursos de PaaS na nuvem, como os oferecidos pelo Serviço de Aplicativo do Azure.
Resumo
Neste capítulo, introduzimos a computação nativa de nuvem. Fornecemos uma definição junto com os principais recursos que conduzem um aplicativo nativo de nuvem. Analisamos os tipos de aplicativos que podem justificar esse investimento e esforço.
Com a introdução concluída, agora nos aprofundamos em um olhar muito mais detalhado sobre o cloud native.
Referências
- Cloud Native Computing Foundation
- Microsserviços do .NET: arquitetura para aplicativos .NET em contêineres
- Estrutura Bem Projetada do Microsoft Azure
- Modernizar aplicativos .NET existentes com contêineres do Windows e nuvem do Azure
- Padrões nativos de nuvem por Cornelia Davis
- Aplicativos nativos de nuvem: envie mais rápido, reduza o risco e aumente sua empresa
- Documentos do Dapr
- Além do aplicativo Twelve-Factor
- O que é Infraestrutura como Código
- Micro Deploy da Uber Engineering: realizando implantações diárias com confiança
- Como o Netflix implanta código