Compartilhar via


Entender as diferenças de plataforma para a carga de trabalho de aplicativo Web

Antes de migrar o aplicativo Web de exemplo para o Azure, certifique-se de entender bem as diferenças operacionais entre as plataformas AWS e Azure.

Este artigo aborda alguns dos principais conceitos para essa carga de trabalho e fornece links para recursos para obter mais informações. Para obter uma comparação abrangente entre os serviços do Azure e da AWS, confira Comparação de serviços AWS e Azure.

Implantação

Tanto o AKS quanto o EKS oferecem várias opções para implantar um cluster de Kubernetes gerenciado no Azure e na AWS. Essas opções incluem soluções nativas e soluções de provisionamento baseadas em sistemas de terceiros ou tecnologias de código aberto.

Opções de Implantação EKS AKS
Portal Console de Gerenciamento da AWS Portal do Azure
Infraestrutura como Código Nativa Formação de nuvem do AWS Bicep e Azure Resource Manager (ARM)
CLI Nativa CLI da AWS e CLI do EKS CLI do Azure, Azure Developer CLI e PowerShell
Terraform Módulo EKS Provedor AzureRM
Pulumi Cluster EKS ManagedCluster do AKS
Crossplane Sim Sim
API de Cluster Sim Sim

A CLI do Azure foi projetada para ser simples e fácil de usar. Você pode criar, atualizar ou excluir um cluster com um único comando. Essa abordagem simplificada reduz a complexidade de gerenciamento de clusters do Kubernetes no Azure. Para obter mais informações, consulte os comandos az aks. Por outro lado, a CLI do EKS usa uma abordagem mais manual que requer várias etapas em conjunto com o uso do kubectl.

Monitorização

O monitoramento eficaz é essencial para identificar e resolver problemas em clusters do Kubernetes. As informações a seguir descrevem como o AKS e o EKS lidam com o monitoramento:

Opções de Monitoramento EKS AKS
Monitoramento Nativo Amazon CloudWatch Azure Monitor
Prometheus e Grafana Gerenciados Serviço Gerenciado para Prometheus da Amazon e Espaço Gerenciado da Amazon para Grafana Serviço Gerenciado para Prometheus do Azure Monitor e Espaço Gerenciado do Azure para Grafana
Datadog Sim Sim
Dynatrace Sim Sim

Suporte para projetos de código aberto

Tanto o AKS quanto o EKS oferecem suporte a projetos de código aberto, permitindo que você use mais funcionalidades e recursos. O AKS oferece funcionalidades gerenciadas para KEDA e Karpenter, conforme detalhado abaixo.

Projetos de código aberto EKS AKS
Dimensionamento Automático Controlado por Eventos do Kubernetes (KEDA) Sim Sim
Karpenter Sim Autoprovisionamento de Nós e Provedor Karpenter do AKS

Balanceamento de carga

O Gateway de Aplicativo do Azure para Contêineres e o AWS Application Load Balancer são duas soluções populares de balanceamento de carga de camada 7 oferecidas pelo Microsoft Azure e pelo Amazon Web Services, respectivamente. Esses serviços desempenham um papel crucial na distribuição do tráfego de rede recebido por vários servidores para garantir alta disponibilidade e desempenho aprimorado dos aplicativos.

Balanceador de Carga de Aplicativo da AWS

Um AWS Application Load Balancer (ALB) é um componente do Elastic Load Balancing na Amazon Web Services (AWS). O ALB garante que o tráfego seja roteado apenas para destinos íntegros e dimensiona conforme o tráfego recebido. Ele dá suporte a vários balanceadores de carga, incluindo Balanceadores de Carga de Aplicativo, Rede, Gateway e Clássico.

Gateway de Aplicações do Azure para contêineres

O Gateway de Aplicativo do Azure para Contêineres é um balanceador de carga regional de tráfego Web de camada 7 que permite que os clientes gerenciem o tráfego de entrada para vários aplicativos Web downstream e APIs REST. O Gateway de Aplicativo do Azure para Contêineres foi projetado para otimizar a entrega de aplicativos Web e fornecer segurança aprimorada por meio de recursos como o Firewall de Aplicativo Web do Azure para o AKS (Serviço de Kubernetes do Azure). Ele distribui o tráfego de entrada do aplicativo entre vários pools de back-end, que incluem Balanceadores de Carga do Azure públicos e privados, máquinas virtuais (VMs) do Azure, Conjuntos de Dimensionamento de Máquinas Virtuais do Azure (VMSSs), nomes de host, Serviço de Aplicativo do Azure e servidores locais/externos.

Comparar o Gateway de Aplicativo do Azure para contêineres e o AWS ALB

O Gateway de Aplicativo do Azure e o Balanceador de Carga de Aplicativo da AWS oferecem um conjunto de recursos comparável. A tabela a seguir fornece uma comparação das soluções:

Funcionalidade Gateway de Aplicações do Azure para Contêineres Balanceador de carga do aplicativo AWS
Encerramento do Protocolo SSL (SSL/TLS) Suportado Suportado
Dimensionamento automático Suportado Suportado
Redundância de zona Suportado Suportado
Firewall de Aplicativo Web Suportado Suportado
Controlador de entrada Suportado Suportado
Roteamento baseado em URL Suportado Suportado
Hospedagem de vários sites Suportado Suportado
Redirecionamento Suportado Suportado
Afinidade de sessão Suportado Suportado
Tráfego WebSocket e HTTP/2 Suportado Suportado
Autenticação TLS mútua Suportado Suportado
Esvaziamento de conexões Suportado Suportado
Reescrever cabeçalhos HTTP e URL Suportado Com suporte no WAF da AWS

Firewall de Aplicativo Web

Garantir a segurança do aplicativo Web é essencial para proteger contra ameaças cibernéticas em evolução. Serviços de Firewall de Aplicativo Web totalmente gerenciados oferecem proteção robusta para aplicativos Web contra ameaças e ataques mal-intencionados.

Firewall de Acesso via Web (WAF) da AWS

O Firewall de Acesso via Web (WAF) da AWS é um Firewall de Aplicativo Web que monitora solicitações HTTP e HTTPS para seus aplicativos Web. Ele protege vários recursos da AWS, incluindo aqueles expostos por meio do AWS Application Load Balancer.

Firewall de Aplicativo Web (WAF) do Azure

Firewall de Aplicativo Web (WAF) do Azure que fornece proteção centralizada de aplicativos Web contra explorações e vulnerabilidades comuns. O WAF pode ser implantado com o Gateway de Aplicativo do Azure para Contêineres, o Azure Front Door e o serviço CDN (Rede de Distribuição de Conteúdo) do Azure da Microsoft.

O WAF do Azure vem com um conjunto de regras OWASP (Open Web Application Security Project) pré-configurado e gerenciado pela plataforma que oferece proteção contra vários tipos de ataques, incluindo cross-site scripting e injeção de SQL. Como administrador do WAF, você tem a opção de escrever suas próprias regras personalizadas para aprimorar as regras do conjunto de regras principais (CRS). O WAF do Azure também dá suporte a um conjunto de regras de Proteção contra Bots que você pode usar para impedir que bots mal-intencionados façam extração, varredura e procurem vulnerabilidades no seu aplicativo Web. O WAF do Azure pode ser configurado para ser executado nos dois modos a seguir:

  • Modo de detecção: monitora e registra todos os alertas de ameaças. Você ativa o diagnóstico de log para o Gateway de Aplicativo para Contêineres na seção Diagnóstico. Você também deve garantir que o log do WAF esteja selecionado e ativado. O Firewall de Aplicativo Web não bloqueia solicitações recebidas quando está operando no modo Detecção.
  • Modo de prevenção: bloqueia intrusões e ataques detectados pelas regras. O invasor recebe uma exceção "403 acesso não autorizado" e a conexão é fechada. O modo de prevenção registra esses ataques nos logs do WAF.

O monitoramento e o registro em log do Firewall de Aplicativo Web (WAF) do Azure são fornecidos por meio de log e integração com o Azure Monitor e logs do Azure Monitor. Você pode configurar o Gateway de Aplicativo do Azure para Contêineres, o Azure Front Door e a CDN (Rede de Distribuição de Conteúdo) do Azure para usar o WAF (Firewall do Aplicativo Web) do Azure e armazenar logs de diagnóstico e métricas em um espaço de trabalho do Log Analytics. Você pode usar o Gerenciador de Métricas do Azure Monitor para analisar as métricas do WAF do Azure e a Linguagem de Consulta Kusto para criar e executar consultas nos logs de diagnóstico coletados no workspace do Log Analytics.

Próximas etapas

Para obter mais informações sobre as diferenças entre AKS e EKS, consulte os seguintes artigos:

Contribuidores

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

Autor principal:

Outros colaboradores: