Cenário 4: detecção e notificações de anomalias em tempo real dos sensores do dispositivo
A empresa ABC4Logistics transporta produtos petrolíferos altamente inflamáveis, como gasolina, propano líquido (GLP) e nafta do porto para várias cidades. Existem centenas de veículos que possuem vários sensores instalados para monitorar fatores como localização, temperatura do motor, temperatura dentro do contêiner, velocidade de condução, localização do estacionamento, condições da estrada, etc. Um dos requisitos da ABC4Logistics é monitorar as temperaturas do motor e do contêiner em tempo real e alertar o motorista e a equipe de monitoramento da frota em caso de qualquer anomalia. Para detectar essas condições e gerar alertas em tempo real, a ABC4Logistics implementou na AWS a arquitetura a seguir.

Arquitetura de detecção de anomalias e notificações em tempo real de sensores de dispositivos da ABC4Logistics
Os dados dos sensores de dispositivos são ingeridos pelo AWS IoT Gateway, no qual o mecanismo de regras de AWS IoT disponibilizará os dados de streaming no Amazon Kinesis Data Streams. Usando o Kinesis Data Analytics, a ABC4Logistics pode realizar a análise em tempo real dos dados de streaming no Kinesis Data Streams.
Usando o Kinesis Data Analytics, a ABC4Logistics pode detectar se as leituras de temperatura dos sensores se desviam das leituras normais durante um período de dez segundos e ingerir o registro em outra instância do Kinesis Data Streams, identificando os registros anômalos. Depois, o Amazon Kinesis Data Streams invoca funções do Lambda, que podem enviar alertas ao motorista e à equipe de monitoramento da frota por meio do Amazon SNS.
Os dados no Kinesis Data Streams também são enviados para o Amazon Kinesis Data Firehose. O Amazon Kinesis Data Firehose mantém esses dados no Amazon S3, permitindo que a ABC4Logistics realize análises em lote ou quase em tempo real nos dados do sensor. A ABC4Logistics usa o Amazon Athena
Os componentes importantes dessa arquitetura são detalhados a seguir.
Amazon Kinesis Data Analytics
O Amazon Kinesis Data Analytics
Com o Amazon Kinesis Data Analytics, é possível consultar dados de streaming de forma interativa usando várias opções, incluindo SQL padrão, aplicações Apache Flink em Java, Python e Scala, e criar aplicações Apache Beam usando Java para analisar fluxos de dados.
Essas opções oferecem a flexibilidade de usar uma abordagem específica, dependendo do nível de complexidade da aplicação de streaming e do suporte à fonte/destino. A seção a seguir discute a opção Kinesis Data Analytics for Flink Applications.
Aplicações Amazon Kinesis Data Analytics for Apache Flink
O Apache Flink
Com o Amazon Kinesis Data Analytics for Apache Flink, você pode criar e executar código em fontes de streaming para executar análises de séries temporais, alimentar painéis em tempo real e criar métricas em tempo real sem gerenciar o complexo ambiente distribuído do Apache Flink. É possível usar os recursos de programação de alto nível do Flink da mesma forma que os usa ao hospedar a infraestrutura do Flink.
O Kinesis Data Analytics for Apache Flink permite criar aplicações em Java, Scala, Python ou SQL para processar e analisar dados de streaming. Uma aplicação típica do Flink lê os dados do fluxo de entrada, do local ou da origem de dados, transforma/filtra ou une dados usando operadores ou funções e armazena os dados no fluxo de saída ou no local de dados ou no coletor.
O diagrama de arquitetura a seguir mostra algumas das fontes e coletores compatíveis com a aplicação Kinesis Data Analytics Flink. Além dos conectores pré-agrupados para fonte/coletor, você também pode utilizar conectores personalizados para uma variedade de outras fontes/coletores para aplicações Flink no Kinesis Data Analytics.

Aplicação Apache Flink no Kinesis Data Analytics para processamento de fluxos em tempo real
Os desenvolvedores podem usar seu IDE preferido para desenvolver aplicações do Flink e implantá-las no Kinesis Data Analytics a partir de ferramentas AWS Management Console
Amazon Kinesis Data Analytics Studio
Como parte do serviço Kinesis Data Analytics, o Kinesis Data Analytics Studio
Usando o caderno Studio, você tem a capacidade de desenvolver o código da aplicação Flink em um ambiente de caderno, visualizar os resultados do seu código em tempo real e visualizá-lo em seu caderno. Você pode criar um caderno Studio com tecnologia Apache Zeppelin e Apache Flink com um único clique no console do Kinesis Data Streams e do Amazon MSK, ou iniciá-lo no console do Kinesis Data Analytics.
Depois de desenvolver o código iterativamente como parte do Kinesis Data Analytics Studio, você poderá implantar um caderno como uma aplicação de análise de dados do Kinesis para ser executada no modo de streaming continuamente, lendo dados de suas fontes, gravando em seus destinos, mantendo o estado da aplicação de longa execução escalando automaticamente com base na taxa de transferência de seus fluxos de origem. Anteriormente, os clientes usavam o Kinesis Data Analytics for SQL Applications para essa análise interativa de dados de streaming em tempo real na AWS.
O Kinesis Data Analytics for SQL ainda está disponível, mas para novos projetos, a AWS recomenda que você use o novo Kinesis Data Analytics Studio
Para tornar a aplicação Kinesis Data Analytics Flink tolerante a falhas, você pode usar pontos de verificação e snapshots, conforme descrito em Implementar tolerância a falhas no Kinesis Data Analytics for Apache Flink.
As aplicações Kinesis Data Analytics Flink são úteis para criar aplicações complexas de análise de streaming, como aplicações com semântica do tipo exatamente uma vez
Depois de processar dados de streaming na aplicação Flink, você pode manter os dados em vários coletores ou destinos, como Amazon Kinesis Data Streams, Amazon Kinesis Data Firehose, Amazon DynamoDB, Amazon OpenSearch Service, Amazon Timestream, Amazon S3, etc. A aplicação Kinesis Data Analytics Flink também oferece garantias de performance abaixo de um segundo.
Aplicações Apache Beam para Kinesis Data Analytics
O Apache Beam
É possível usar a framework do Apache Beam com sua aplicação do Kinesis Data Analytics para processar dados de streaming. As aplicações do Kinesis Data Analytics que usam o Apache Beam usam o Apache Flink Runner
Resumo
Ao usar os serviços de streaming do AWS Amazon Kinesis Data Streams, do Amazon Kinesis Data Analytics e do Amazon Kinesis Data Firehose,
A ABC4Logistics pode detectar padrões anômalos nas leituras de temperatura e notificar o motorista e a equipe de gerenciamento de frota em tempo real, evitando acidentes graves, como avaria completa do veículo ou incêndio.