Ideias de soluções
Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe com os requisitos específicos da sua carga de trabalho.
Essa solução migra aplicativos Web existentes para contêineres implantados no Serviço de Aplicativo, o que permite que você se concentre na composição de contêineres sem se preocupar em gerenciar a orquestração de contêineres.
Arquitetura
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de dados
- O desenvolvedor converte o aplicativo Web existente em contêiner.
- O desenvolvedor publica a imagem do contêiner para:
- Um registro privado ou Docker Hub.
- Ou, um Registro de Contêiner do Azure.
- O Serviço de Aplicativo extrai imagem com:
- Credenciais para registro privado ou Docker Hub, se usado.
- Ou, identidade gerenciada, que usa uma entidade de segurança do Microsoft Entra para acessar o Registro de Contêiner do Azure.
- Conectores de serviço para acessar outros recursos do Azure.
- O desenvolvedor envia uma nova imagem para o registro do contêiner, que aciona as atualizações do Serviço de Aplicativo quando a implantação contínua está habilitada.
Componentes
Aplicativo Web para contêineres: com o Serviço de Aplicativo, você pode implantar e executar aplicativos Web em contêineres no Windows e Linux. O Web App for Containers oferece um acesso fácil para os desenvolvedores aproveitarem uma plataforma totalmente gerenciada, mas que também desejam um único artefato implantável contendo um aplicativo e todas as suas dependências. Outro cenário de destino são os desenvolvedores que desejam trabalhar com uma estrutura ou versão personalizada além dos padrões incorporados à plataforma do Serviço de Aplicativo do Azure. Os aplicativos Web em contêineres no Serviço de Aplicativo do Azure podem ser dimensionados conforme necessário e usar fluxos de trabalho de CI/CD simplificados com o Docker Hub, o Registro de Contêiner do Azure e o GitHub.
Azure Container Registry: um registro de imagens do Docker e da Open Container Initiative (OCI), com suporte para todos os artefatos OCI. Use imagens de contêiner em serviços do Azure, como Serviço de Aplicativo, Machine Learning e Batch. Por exemplo, ao configurar o Aplicativo Web para Contêineres para seu aplicativo Web, você pode especificar uma imagem de contêiner do Registro de Contêiner do Azure.
Azure Cosmos DB: Um serviço de banco de dados NoSQL totalmente gerenciado para criar e modernizar aplicativos escaláveis e de alto desempenho. O Azure Cosmos DB está integrado com os principais serviços do Azure, incluindo Azure Functions, Hub IoT, AKS (Serviço Kubernetes do Azure), Serviço de Aplicativo e muito mais. Você pode escolher entre várias APIs de banco de dados, incluindo o Azure Cosmos DB nativo para NoSQL, Azure Cosmos DB para MongoDB, Azure Cosmos DB para Apache Cassandra, Azure Cosmos DB para Apache Gremlin e Azure Cosmos DB para Tabela.
Banco de Dados SQL do Azure: um banco de dados relacional totalmente gerenciado com inteligência interna. A Base de Dados SQL do Azure ajuda-o a criar aplicações localmente ou na nuvem em plataformas e estruturas populares com suporte de controladores para os idiomas mais comuns. O Banco de Dados SQL permite simplificar o desenvolvimento com suporte nativo para sites em execução no Serviço de Aplicativo do Azure.
Armazenamento do Azure: o Armazenamento do Azure oferece uma solução de armazenamento em nuvem durável, altamente disponível e massivamente escalável e inclui armazenamento de objetos, arquivos, discos, filas e tabelas. O armazenamento do Azure inclui serviços para armazenamento de objetos, blocos e arquivos para atender às demandas do seu site. Por exemplo, os sites podem usar facilmente o Armazenamento de Blobs do Azure para armazenamento de blocos escalável e seguro para mídia de sites, como fotos e vídeos.
Azure Monitor: Application Insights, fornece monitoramento de integridade e desempenho e diagnóstico. O Azure Monitor pode ser usado com o Aplicativo Web para Contêineres (Serviço de Aplicativo) para monitorar métricas do site, como número de conexões e contagens de solicitações que resultam em códigos de status HTTP.
Azure Service Connector: o Service Connector ajuda você a conectar os serviços de computação do Azure a outros serviços de suporte. Por exemplo, use um conector de serviço entre o Serviço de Aplicativo do Azure e o Banco de Dados do Azure para MySQL ou PostgreSQL, Armazenamento do Azure e Cofre da Chave do Azure. Para obter uma lista completa dos serviços suportados, consulte Serviços suportados no Service Connector.
Detalhes do cenário
Migre facilmente aplicativos Web existentes para contêineres e execute os aplicativos Web em contêineres no Aplicativo Web para Contêineres no Serviço de Aplicativo do Azure. O Web App for Containers permite que você se concentre em compor seus contêineres sem se preocupar em gerenciar e manter um orquestrador de contêineres subjacente. Quando você cria aplicativos Web, o Web App for Containers é uma boa opção para dar seus primeiros passos com contêineres. Seus contêineres podem integrar facilmente outros recursos do Azure, como serviços de armazenamento e banco de dados.
Ao integrar aplicativos Web existentes com recursos do Azure, você também pode aproveitar as conexões sem senha para serviços do Azure. As conexões sem senha são um recurso independente de idioma que abrange vários serviços do Azure. Quando você usa conexões sem senha, seus aplicativos Web se conectam a serviços baseados no Azure sem a necessidade de alternar senhas. Tudo o que você precisa é de configuração - nenhum novo código é necessário.
Potenciais casos de utilização
Essa ideia de solução é ideal para migrar aplicativos Web atuais para contêineres executados no Azure. Esta ideia de solução pode ser usada para criar um site quando se aplica o seguinte:
Usa a experiência de programação existente usada para criar sites implantados em código para criar sites implantados em contêiner. Levante e transfira aplicativos Web existentes para contêineres no Serviço de Aplicativo.
Desenvolvimento e implantação simplificados com ferramentas como Visual Studio, Visual Studio Code, CLI do Azure e Azure Cloud Shell.
Portabilidade em diferentes ambientes, do desenvolvimento à produção e diferentes nuvens. Você pode testar localmente, em uma plataforma diferente da que é implantada para produção.
A escalabilidade no Serviço de Aplicativo significa que você pode expandir o número de trabalhadores usados sob demanda.
A modularidade para futuros sites funciona no Serviço de Aplicativo ou em outros serviços, como Aplicativos de Contêiner do Azure e Serviço Kubernetes do Azure. O Web App for Containers pode ser um bom primeiro passo para migrar para contêineres.
Um contêiner implantado no Web App for Containers está pronto para integração contínua e implantação contínua (CI/CD). As capacidades de CI/CD permitem-lhe enviar atualizações mais rapidamente.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Autor principal:
- Marc Gelormino - Brasil | Desenvolvedor de Conteúdo
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
- Implantar e executar um aplicativo Web em contêiner com o Serviço de Aplicativo do Azure
- Gerenciar imagens de contêiner no Registro de Contêiner do Azure
- Visão geral do Aplicativo Web para Contêineres e do Serviço de Aplicativo do Azure no Linux
- Comparando aplicativos de contêiner com outras opções de contêiner do Azure
- Conexões sem senha para serviços do Azure
Exemplo de implantações de idioma de contêineres no Serviço de Aplicativo:
- Implantar um aplicativo Web Python em contêiner no Serviço de Aplicativo do Azure
- Implantar Express.js com o Visual Studio Code no Serviço de Aplicativo do Azure
- Implantar um contêiner ASP.NET Core no Serviço de Aplicativo do Azure usando o Visual Studio
Recursos relacionados
Orientação arquitetônica relacionada: