Editar

Partilhar via


Implantar um aplicativo de linha de negócios usando o Ambiente do Serviço de Aplicativo do Azure v3

Azure App Service
Azure DNS
Azure Monitor
Azure Log Analytics
Azure Key Vault

Para clientes em segmentos fortemente controlados e restritos pela conformidade, é importante ter um ambiente isolado e dedicado, especialmente para aplicativos de linha de negócios. Embora a segurança esteja no centro das atenções, esses aplicativos críticos também exigem a capacidade de dimensionar e executar em cenários de alta utilização de memória ou altas solicitações por segundo. Esta solução fornece um exemplo de como você pode hospedar aplicativos de linha de negócios. Você pode usar o Ambiente do Serviço de Aplicativo para garantir que a segurança e o desempenho possam ser abordados simultaneamente. Ao implantar essa solução, você terá a flexibilidade de usar os recursos existentes em sua zona de aterrissagem do Azure, que representa seus recursos na VNet do hub. Ou, você pode implantar essa solução como uma carga de trabalho independente.

Nota

Este artigo fornece uma arquitetura implantável que se alinha às diretrizes do Cloud Adoption Framework para o Serviço de Aplicativo nas zonas de aterrissagem do Azure.

Arquitetura

Diagrama que mostra a arquitetura da implantação do Ambiente do Serviço de Aplicativo v3.

A totalidade desta imagem está no âmbito de uma subscrição e de uma Zona DNS privada. Ele é indicado por um ícone de assinatura e um ícone de zona DNS Privada do Azure no canto superior esquerdo. Abaixo desses ícones, dois blocos estão lado a lado. Eles representam duas redes virtuais, com peering VNet entre elas. O bloco à esquerda representa a VNet do hub e o bloco à direita representa a VNet falada. Dentro da caixa esquerda, há três caixas menores. Cada caixa indica uma sub-rede diferente e seu grupo de segurança de rede associado. A partir do canto superior esquerdo está uma instância do Azure Bastion dentro da sub-rede do Azure Bastion e o canto superior direito é a VM jumpbox, que reside na sub-rede jumpbox. No canto inferior direito está a terceira e última caixa na VNet do hub, que contém o servidor do agente CI/CD que reside na sub-rede CI/CD. A caixa à direita, que representa a VNet falada, contém apenas uma caixa menor, a sub-rede do Ambiente do Serviço de Aplicativo que tem a instância do Ambiente do Serviço de Aplicativo v3 dentro dela. Uma caixa menor representa o Ambiente do Serviço de Aplicativo. O ícone do Serviço de Aplicativo está dentro dessa caixa. No centro inferior da imagem, estão recursos compartilhados que também são implantados como parte do processo. Começando da esquerda para a direita, os recursos compartilhados incluem o Azure Key Vault, o espaço de trabalho do Azure Log Analytics e o Azure Application Insights.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de Trabalho

Há três fluxos com textos explicativos nessa arquitetura: Operações (laranja), Implantação (verde) e Usuário (roxo).

Operações

  1. Os operadores ou administradores desejarão executar tarefas de administração no servidor de integração contínua/implantação contínua (CI/CD) ou no ponto de extremidade Kudu para o Ambiente do Serviço de Aplicativo. Primeiro, eles precisarão se conectar ao host do Azure Bastion.
  2. Usando o host do Azure Bastion, o operador ou administrador pode usar o protocolo RDP (Remote Desk Protocol) para acessar o servidor jumpbox.
  3. A partir do servidor jumpbox, o operador ou administrador pode RDP para o servidor CI/CD e executar as tarefas necessárias, como atualizações de agente, atualizações de SO e assim por diante. O operador ou administrador também pode se conectar do servidor jumpbox ao ponto de extremidade Kudu da instância do Ambiente do Serviço de Aplicativo, para executar tarefas administrativas ou para executar solução de problemas avançada.

Implementação

  1. A implementação da solução é realizada através do servidor do agente CI/CD. O agente de DevOps neste servidor se conectará ao Azure Pipelines quando uma nova implantação for executada.
  2. Os artefatos serão implantados no serviço de aplicativo conectando-se ao Ambiente do Serviço de Aplicativo por meio do emparelhamento de rede virtual.

User

  1. Os usuários podem se conectar ao Serviço de Aplicativo implantado pela rede da empresa. Eles podem usar o Azure ExpressRoute ou uma VPN, se necessário, e/ou sobre qualquer emparelhamento de VNet do Azure aplicável.

Componentes

A solução usa os seguintes serviços do Azure:

  • O Ambiente do Serviço de Aplicativo do Azure v3 (ASEv3) é um recurso do Serviço de Aplicativo do Azure e é um serviço de locatário único para clientes que exigem alta escala, isolamento de rede, segurança e/ou alta utilização de memória. Os aplicativos são hospedados em planos do Serviço de Aplicativo criados no Ambiente do Serviço de Aplicativo v3, com opções de uso de diferentes camadas dentro de um plano de serviço Isolado V2. Em comparação com uma versão anterior do Ambiente do Serviço de Aplicativo, várias melhorias foram feitas, incluindo, mas não limitado a, dependência de rede, tempo de escala e a remoção da taxa de selo. Essa solução usa um Ambiente do Serviço de Aplicativo v3 configurado para acesso interno.

  • O DNS Privado do Azure permite que você gerencie e resolva nomes de domínio em uma rede virtual, sem a necessidade de implementar uma solução de DNS personalizada. Uma zona DNS Privada do Azure pode ser alinhada a uma ou mais redes virtuais por meio de links de rede virtual. Devido à natureza interna do Ambiente do Serviço de Aplicativo v3 que essa arquitetura de referência usa, uma zona DNS privada é necessária para resolver os nomes de domínio dos aplicativos hospedados no Ambiente do Serviço de Aplicativo.

  • O Azure Application Insights é um recurso do Azure Monitor que ajuda os desenvolvedores a detetar anomalias, diagnosticar problemas e entender padrões de uso. O Application Insights apresenta gerenciamento e monitoramento extensíveis de desempenho de aplicativos para aplicativos Web ao vivo. Várias plataformas são suportadas, incluindo .NET, Node.js, Java e Python. Ele dá suporte a aplicativos hospedados no Azure, no local, em um ambiente híbrido ou em outras nuvens públicas. O Application Insights é incluído como parte dessa arquitetura de referência, para monitorar os comportamentos do aplicativo implantado.

  • O Azure Log Analytics é um recurso do Azure Monitor que permite editar e executar consultas de log com dados nos Logs do Azure Monitor, opcionalmente de dentro do portal do Azure. Os desenvolvedores podem executar consultas simples para um conjunto de registros ou usar o Log Analytics para executar uma análise avançada. Eles podem então visualizar os resultados. O Log Analytics é configurado como parte dessa arquitetura de referência para agregar todos os logs de monitoramento para análise e emissão de relatórios.

  • As Máquinas Virtuais do Azure são um recurso de computação escalável e sob demanda que pode ser usado para hospedar várias cargas de trabalho diferentes. Nessa arquitetura de referência, as máquinas virtuais são usadas para fornecer um servidor jumpbox de gerenciamento e para fornecer um host para o agente DevOps ou o executor GitHub.

  • O Azure Key Vault é um serviço de nuvem que armazena e acessa segredos com segurança, que vão desde chaves de API e senhas até certificados e chaves criptográficas. Um cofre de chaves do Azure é implantado como parte da infraestrutura dessa arquitetura, para facilitar o gerenciamento secreto para implantações de código futuras.

  • O Azure Bastion é uma plataforma como serviço provisionada na rede virtual do desenvolvedor. Ele fornece conectividade RDP/SSH segura para as máquinas virtuais do desenvolvedor por TLS, a partir do portal do Azure. Com o Azure Bastion, as máquinas virtuais não precisam mais de um endereço IP público para se conectar via RDP/SSH. Essa arquitetura de referência usa o Azure Bastion para acessar o agente DevOps ou o servidor runner do GitHub ou o servidor jumpbox de gerenciamento.

Alternativas

Considere adicionar um Gateway de Aplicativo do Azure antes da instância do Serviço de Aplicativo para fornecer a funcionalidade WAF (Web Application Firewall) para proteger aplicativos Web contra explorações e vulnerabilidades comuns.

Um corredor GitHub auto-hospedado pode ser usado no lugar do agente auto-hospedado do Azure DevOps.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.

Fiabilidade

A confiabilidade garante que seu aplicativo possa atender aos compromissos que você assume com seus clientes. Para obter mais informações, consulte Visão geral do pilar de confiabilidade.

  • Considere seus requisitos de redundância de zona nesta implementação de referência, bem como os recursos de redundância de zona de quaisquer outros Serviços do Azure em sua solução. O Ambiente do Serviço de Aplicativo v3 oferece suporte à redundância de zona, espalhando instâncias para as três zonas na região de destino. Essa configuração só pode ser definida no momento da criação do Ambiente do Serviço de Aplicativo e pode não estar disponível em todas as regiões. Veja mais informações, consulte Suporte à zona de disponibilidade para o Ambiente do Serviço de Aplicativo. Essa implementação de referência implementa redundância de zona, mas você pode alterá-la clonando esse repositório e definindo a zoneRedundant propriedade como false.

Segurança

A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Visão geral do pilar de segurança.

  • Utilize as restrições de acesso de forma adequada, para que o serviço da aplicação só possa ser acedido a partir de localizações válidas. Por exemplo, se o serviço de aplicativo estiver hospedando APIs e for encabeçado pelo APIM, você poderá configurar uma restrição de acesso para que o serviço de aplicativo só seja acessível a partir do APIM.
  • Como essa implementação de referência implanta um Ambiente do Serviço de Aplicativo em uma rede virtual (conhecido como Ambiente do Serviço de Aplicativo interno), todos os aplicativos implantados no Ambiente do Serviço de Aplicativo são inerentemente isolados da rede, no escopo da rede virtual.
  • Armazene segredos de aplicativo (credenciais de banco de dados, tokens de API e chaves privadas) no Cofre de Chaves do Azure. Configure seu aplicativo do Serviço de Aplicativo para acessá-los com segurança com uma identidade gerenciada. Determine quando usar o Azure Key Vault vs Azure App Configuration.

Otimização de custos

A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.

  • Embora não haja uma taxa de selo para uma instância do Ambiente do Serviço de Aplicativo v3, há uma cobrança que é cobrada quando nenhum Plano de serviço de aplicativo é configurado na instância do Ambiente do Serviço de Aplicativo v3. Essa cobrança é cobrada na mesma taxa que uma instância de uma instância do Windows I1v2, para a região na qual a instância do Ambiente do Serviço de Aplicativo v3 é implantada.
  • Quando configurado para ser redundante de zona, o modelo de carregamento é ajustado para levar em conta a infraestrutura subjacente implantada nessa configuração. Você pode ser responsável por instâncias adicionais, de acordo com os preços ASEv3.
  • Para planos do Serviço de Aplicativo do Ambiente do Serviço de Aplicativo v3 (conhecidos como planos do Serviço de Aplicativo V2 Isolado), use as Reservas do Azure e o plano de economia do Azure para computação com um contrato de um ou três anos e obtenha economias significativas nos preços pré-pagos. Para obter mais informações, consulte Como os descontos de reserva se aplicam a instâncias v2 isoladas.

Excelência operacional

A excelência operacional abrange os processos operacionais que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, consulte Visão geral do pilar de excelência operacional.

  • Use o Application Insights ou outra solução de gerenciamento de desempenho de aplicativo para monitorar e aprender como seu aplicativo se comporta em diferentes ambientes.
    • Há duas maneiras de habilitar o Application Insights. Para ambientes diferentes, colete dados de telemetria em diferentes instâncias do Application Insights.
    • Se seu aplicativo tiver vários componentes separados em serviços diferentes, convém examinar seu comportamento juntos. Colete seus dados de telemetria na mesma instância do Application Insights, mas rotule-os com nomes de função de nuvem diferentes.
    • Exporte os dados do Application Insights para um espaço de trabalho do Azure Log Analytics . Recomendamos que você use um único espaço de trabalho para a organização.
    • Inclua painéis operacionais no design de aplicativos e recursos, para garantir que a solução possa ser suportada na produção.
    • Implemente verificações de integridade para seus pontos de extremidade e, em seguida, use-as para testes de integridade, verificações de dependência e testes de disponibilidade.
  • Considere o uso de prefixos e sufixos com convenções bem definidas, para identificar exclusivamente cada recurso implantado. Essas convenções de nomenclatura evitam conflitos, quando você implanta soluções próximas umas das outras e melhora a agilidade e a taxa de transferência geral da equipe.
  • Dependendo da configuração de rede, o Serviço de Aplicativo pode não estar acessível a partir da Internet pública e o uso de agentes hospedados públicos não funcionará para implantações. Use agentes auto-hospedados nesse cenário.

Implementar este cenário

Para começar e entender melhor as especificidades dessa implementação, revise os recursos de implementação de referência, em Guia do Usuário para Implantação de Implementação de Referência.

  • Recomendamos que você clone esse repositório e modifique os recursos de implementação de referência para atender às suas necessidades e às diretrizes específicas da zona de aterrissagem da sua organização.
  • Antes de implantar, verifique se a entidade de serviço usada para implantar a solução tem as permissões necessárias para criar os tipos de recursos listados acima.
  • Considere o serviço CI/CD que você usará para implantar a implementação de referência. Como essa implementação de referência é um Ambiente de Serviço de Aplicativo interno, você precisará de um agente auto-hospedado para executar os pipelines de implantação. Você tem a opção de usar um agente de DevOps ou um corredor do GitHub. Consulte o guia do usuário sobre os valores de configuração específicos necessários.
  • Considere as regiões nas quais você pretende implantar essa implementação de referência. Consulte a lista Regiões ASEv3 para garantir que as regiões selecionadas estejam habilitadas para implantação.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Principais autores:

  • Pete Messina - Brasil | Arquiteto de Soluções Cloud Senoir
  • Nabeel Prior - Brasil | Arquiteto de Soluções Cloud Sênior

Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.

Próximos passos

Saiba mais sobre estes serviços essenciais: