Pular para o conteúdo principal

Recursos do Amazon Managed Streaming for Apache Kafka

Por que usar o Amazon MSK?

O Amazon Managed Streaming for Apache Kafka (Amazon MSK) oferece as soluções Apache Kafka, Kafka Connect e Replicador do Amazon MSK totalmente gerenciadas. O Apache Kafka é um armazenamento de dados distribuído otimizado para ingestão e processamento de dados de streaming em tempo real. O Amazon MSK provisiona a infraestrutura de clusters, configura os clusters do Apache Kafka, substitui servidores quando eles falham, orquestra patches e upgrades de servidores, projeta clusters para alta disponibilidade, garante que os dados sejam armazenados e protegidos de forma durável, configura o monitoramento e os alarmes e executa a escalabilidade para oferecer suporte às mudanças de carga. Com o Amazon MSK, é possível passar mais tempo desenvolvendo e executando aplicações de eventos de streaming do que gerenciando os clusters do Apache Kafka.
Aerial view of city roads illuminated at night, showing light trails from vehicles and city skyscrapers in the background.

Integração escalável

O Amazon MSK é a estrutura principal de integração para aplicações modernas de mensagens e orientadas por eventos no centro dos serviços de ingestão e processamento de dados, assim como das arquiteturas de aplicações de microsserviços. Há várias maneiras de se integrar a outros sistemas, inclusive com uma variedade de outros serviços da AWS para tornar o desenvolvimento de aplicações mais simples e rápido. É possível trazer o próprio conector e implantá-lo em uma infraestrutura totalmente gerenciada por meio do Amazon MSK Connect. Como alternativa, é possível escolher entre uma lista cada vez maior de integrações nativas com outros serviços da AWS, como o Amazon S3, o Amazon Redshift, o Amazon Managed Service for Apache Flink e o AWS Lambda. O Amazon MSK também se integra ao AWS Identity and Access Management (IAM), ao AWS Certificate Manager (ACM) e ao AWS Key Management Service (AWS KMS) para fornecer acesso seguro, autenticado e autorizado de clientes aos seus dados. Também existe a opção de aplicar a governança do esquema por meio do AWS Glue Schema Registry.
A vibrant modern city skyline featuring tall glass skyscrapers and a busy highway at dusk, with building lights and vehicle motion creating a dynamic urban atmosphere.

Tópicos da página

Compatível com o Apache Kafka

Escolha seu próprio tipo de cluster

Não há servidores para gerenciar

Vários tipos de agentes

Opções de armazenamento

Altamente resiliente

Compatível com o Apache Kafka

Abrir tudo

    O Amazon MSK é compatível com todos os recursos do Apache Kafka e disponibiliza suas versões mais recentes em poucas semanas após serem disponibilizadas ao público.

    O Amazon MSK mantém total compatibilidade com o protocolo do cliente de código aberto do Apache Kafka e, portanto, aplicações e ferramentas criadas para o Apache Kafka funcionam com o Amazon MSK prontas para uso, sem alterações no código da aplicação.

    É possível atualizar as versões do Apache Kafka nos clusters provisionados do Amazon MSK com apenas algumas etapas para que você possa aproveitar o momento certo de uso dos atributos e das correções de erros presentes nas novas versões do Apache Kafka. O Amazon MSK automatiza a implantação de atualizações de versões em clusters em execução para manter a disponibilidade de E/S.

Escolha seu próprio tipo de cluster

Abrir tudo

    O Amazon MSK Provisioned fornece controle refinado sobre o cluster do Apache Kafka. É possível escolher o tipo de agente, pré-provisionar instâncias do servidor, selecionar o tipo de armazenamento desejado e escolher a versão do Apache Kafka de sua preferência. Também é possível escolher quando e por quanto escalar os clusters em resposta à variação da workload.

    O Amazon MSK Sem Servidor gerencia totalmente o cluster do Apache Kafka de forma que não seja preciso estimar a capacidade necessária para a workload ou decidir quando o escalonamento deverá ser feito em resposta às mudanças no tráfego.

Não há servidores para gerenciar

Abrir tudo

    Independentemente do tipo de cluster escolhido, com algumas etapas no Console de Gerenciamento da AWS é possível criar um cluster totalmente gerenciado altamente disponível, seguro e respaldado pelos sistemas avançados de monitoramento e detecção do Amazon MSK que mantêm de modo automático a integridade operacional de seu cluster.

    O Apache Kafka usa o Apache Kafka Raft (KRaft) ou o Apache ZooKeeper para fazer o gerenciamento de metadados. O Amazon MSK permite criar clusters em qualquer um dos modos nas versões compatíveis do Apache Kafka. O Amazon MSK também gerencia esses nós de metadados adicionais para você, sem nenhum custo adicional.

Vários tipos de agentes

Abrir tudo

    Os agentes Express são um tipo de agente oferecido pelo MSK Provisioned. Os agentes Express simplificam o gerenciamento do Apache Kafka, além de torná-lo mais econômico em execuções em escala e mais elástico, com a baixa latência que você espera. Os agentes Express incluem uma capacidade de armazenamento praticamente ilimitada e elástica que não exige sobrecarga de gerenciamento, fornecem até 3 vezes mais throughput por agente e podem aumentar a escala verticalmente até 20 vezes mais rápido. Também é possível recuperar até 90% mais rápido, em comparação com os agentes padrão do Apache Kafka nos serviços do Amazon Managed Streaming para Apache Kafka (MSK).

    Os agentes Standard do MSK Provisioned oferecem mais flexibilidade para configurar o desempenho do cluster. É possível escolher entre uma ampla variedade de configurações no cluster para ajustar as dimensões, inclusive disponibilidade, durabilidade, throughput e latência. Nos agentes Standard, também é possível controlar as configurações de armazenamento no cluster e assumir o gerenciamento de provisionamento e utilização do armazenamento.

Opções de armazenamento

Abrir tudo

    Os agentes Express incluem uma capacidade de armazenamento praticamente ilimitada e elástica que não exige dimensionamento, provisionamento ou gerenciamento contínuo. A capacidade de armazenamento ajusta a escala de modo automático para acomodar suas necessidades de retenção de dados e você paga somente pelo armazenamento usado.

    Com o armazenamento em camadas, é possível armazenar dados praticamente ilimitados no Amazon MSK sem a necessidade de fornecer e gerenciar a capacidade de armazenamento. É possível habilitar o armazenamento em camadas em algumas etapas para clusters existentes e pagar apenas pelo que usar. Você pode começar a armazenar os dados em uma camada de armazenamento principal com desempenho otimizado e permitir que o Amazon MSK classifique automaticamente os dados para a camada de baixo custo, proporcionando retenções mais longas. O recurso é compatível com todas as regiões da AWS nas quais o Amazon MSK está disponível. Para saber como começar a armazenar em camadas, visite nosso guia do desenvolvedor do Amazon MSK.

Altamente resiliente

Abrir tudo

    Todos os clusters são distribuídos em várias zonas de disponibilidade (três é o padrão), e o Amazon MSK oferece a replicação de dados nessas zonas de disponibilidade sem custo adicional. A disponibilidade do cluster também é garantida pelo Acordo de Serviço do Amazon MSK que assegura três noves de disponibilidade.

    O Amazon MSK tem sistemas automatizados que detectam e respondem rapidamente aos problemas. Se um componente falhar, o Amazon MSK o substituirá automaticamente, sem tempo de inatividade para suas aplicações. Também implantamos de modo automático patches de software conforme necessário para manter as atualizações do cluster em dia e o perfeito funcionamento.

    Os agentes do Amazon MSK Sem Servidor e Express no MSK Provisioned aplicam as configurações das práticas recomendadas, como a replicação de três vias, e reservam largura de banda para operações em segundo plano, como replicação e recuperação, para que seja possível obter com mais facilidade a disponibilidade previsível dos recursos do seu cluster.

    Com o uso do Replicador do Amazon MSK, é possível configurar a replicação contínua de dados para um cluster de backup secundário em outra região para permitir a criação de aplicações multirregião altamente disponíveis e tolerantes a falhas, a fim de aumentar a resiliência. Também é possível usar o Replicador do MSK para fornecer acesso a dados com menor latência em diferentes regiões geográficas ou para distribuir dados para parceiros.

Altamente seguro

Abrir tudo

    O cluster do Apache Kafka é executado em uma Amazon Virtual Private Cloud (Amazon VPC) gerenciada pelo Amazon MSK. Os clientes do Kafka, em sua própria Amazon VPC, podem acessar o cluster de forma privada por meio de uma interface de rede elástica entre contas que o Amazon MSK implanta na VPC. Se seus clientes Kafka estiverem espalhados por uma ou mais VPCs ou contas da AWS, ainda será possível se conectar de forma privada ao seu cluster com o uso do recurso de conectividade privada de várias VPCs. Esse recurso remove a sobrecarga operacional de autogerenciamento de uma solução do AWS PrivateLink e escala automaticamente acompanhando o crescimento do cluster do Amazon MSK para permitir a manutenção da conectividade privada com o cluster sem fazer alterações adicionais na configuração. A conectividade privada com várias VPCs também remove os desafios de gerenciar IPs não sobrepostos, tabelas complexas de emparelhamento e roteamento associadas a outras soluções de conectividade de VPC.  O recurso de conectividade privada de várias VPCs permite a sobreposição de IPs nas VPCs conectadas.

    O controle de acesso do IAM é uma opção de segurança sem custo que simplifica a autenticação de clusters e a autorização da API do Apache Kafka com o uso de políticas de usuário ou perfis do IAM para controlar o acesso. Com o controle de acesso do IAM, não é mais necessário criar nem executar sistemas únicos de gerenciamento de acesso para controlar a autenticação e a autorização de clientes para o Apache Kafka. Os clusters são protegidos por permissões com privilégio mínimo por padrão. No caso de clusters provisionados, você também pode usar o Simple Authentication and Security Layer (SASL)/Salted Challenge Response Authentication Mechanism (SCRAM) ou a autenticação mútua do Transport Layer Security (TLS) com listas de controle de acesso (ACLs) do Apache Kafka para controlar o acesso de clientes.

    O Amazon MSK criptografa os dados em repouso sem configurações especiais nem ferramentas de terceiros. No caso de clusters provisionados, todos os dados em repouso podem ser criptografados com o uso, por padrão, da chave do AWS KMS ou de sua própria chave. Também é possível criptografar dados em trânsito entre agentes e entre clientes e agentes de um cluster pelo TLS. No caso de clusters sem servidor, todos os dados em repouso são criptografados por padrão com o uso das chaves gerenciadas por um serviço, e todos os dados em trânsito são criptografados pelo TLS por padrão.

    O Amazon MSK oferece uma opção para se conectar com segurança aos agentes de clusters do Amazon MSK que executam o Apache Kafka 2.6.0 ou versões posteriores pela internet. Ao habilitar o acesso público, clientes autorizados e externos a uma Amazon VPC privada podem transmitir dados criptografados para dentro e para fora de clusters específicos do Amazon MSK.

Escalonável

Abrir tudo

    É possível escalar os clusters provisionados pelo MSK ao adicionar mais agentes ou ao fazer a migração para uma instância de agente maior em poucos minutos, sem tempo de inatividade. Da mesma forma, é possível reduzir a escala verticalmente do cluster ao remover os agentes ou ao migrar para uma instância menor de agente.

    Os clusters do Amazon MSK Sem Servidor ajustam de modo automático os recursos de computação e armazenamento disponíveis para suas workloads em resposta às necessidades de throughput de sua aplicação.

    O Amazon MSK pode ser integrado ao Cruise Control, uma ferramenta popular de código aberto para o Apache Kafka que gerencia de modo automático a atribuição de partições em seu nome. No caso de clusters sem servidor, o Amazon MSK gerencia automaticamente a atribuição de partições para você.

    É possível aumentar a escala verticalmente da quantidade de armazenamento provisionado por agente de forma integrada para acompanhar as alterações nos requisitos de armazenamento usando o Console de Gerenciamento da AWS ou a AWS Command Line Interface (AWS CLI). Também é possível criar uma política de ajuste de escala automático para expandir automaticamente o armazenamento a fim de atender aos crescentes requisitos de streaming.

Configurável

Abrir tudo

    Com o Amazon MSK, é possível escolher o grau de configuração desejado para os clusters. Os agentes Express vêm pré-configurados com os padrões das práticas recomendadas pelo Amazon MSK. Isso fornece disponibilidade, durabilidade e desempenho de throughput ideais, prontos para uso. É possível personalizar configurações selecionadas para atender às necessidades específicas de sua workload. Por outro lado, os agentes padrão oferecem a flexibilidade de modificar mais de 30 configurações de cluster diferentes. Isso permite adaptar a disponibilidade, o desempenho de preço e o comportamento geral do cluster para suas necessidades exatas. Também é possível acessar o conjunto completo de configurações dinâmicas e de tópico do Kafka para ajudar a refinar ainda mais a experiência. Para obter mais informações, consulte a documentação deconfigurações personalizadas do MSK.

Observável

Abrir tudo

    É possível visualizar e monitorar métricas importantes com o uso do CloudWatch para entender e manter o desempenho da aplicação de streaming. Um conjunto padrão de mais de 50 métricas está disponível sem custo adicional. Também é possível ativar um monitoramento mais aprimorado no nível do agente e do tópico para solucionar problemas específicos. As métricas aprimoradas são cobradas de acordo com as taxas padrão do CloudWatch.

    O Open Monitoring com Prometheus permite monitorar o Amazon MSK com o uso de soluções como Datadog, Lenses, New Relic, Sumo Logic ou um servidor Prometheus e migrar facilmente os painéis de monitoramento existentes para o Amazon MSK. Para obter mais informações, consulte a documentação Open monitoring with Prometheus.

    Os logs de agentes permitem solucionar problemas nas aplicações do Apache Kafka e analisar as comunicações com seu cluster do MSK. É possível entregar os logs de agentes do Apache Kafka para um ou mais dos seguintes tipos de destino: Amazon CloudWatch Logs, Amazon Simple Storage Service (Amazon S3) e Amazon Data Firehose. Também é possível registrar chamadas de API do Amazon MSK com o AWS CloudTrail.

Altamente integrado

Abrir tudo