CESAR no AWS Summit SP

Henrique Borges
CESAR Update
Published in
3 min readJun 22, 2018

--

Com diversos projetos nas áreas de Cloud Computing, Inteligência Artificial/Machine Learning, IoT, Big Data, UX e Educação, é natural que, neste dia 21 de Julho de 2018, o CESAR tenha mais uma vez marcado presença em uma edição do AWS Summit.

Tive a oportunidade de participar pela primeira vez esse ano, a convite da empresa e de um de nossos clientes, e fiquei impressionado com as milhares de pessoas que compareceram (o Transamerica Expo Center, com 40.000 m², estava lotado) e com o volume de transações e de dados que várias empresas brasileiras já lidam (para vocês terem uma idéia, o iFood atualmente processa mais de 1.500 compras por segundo nos horários de pico, durante o jantar, e esse número vem aumentando significativamente/dobrando/triplicando a cada ano).

Nas diversas sessões e tracks que tive a oportunidade de assistir, pude ver que serveless, machine learning, data lakes¹ estão definitivamente "na moda" mas o que, pessoalmente, mais me fez refletir e serviu de fonte de insights foi uma coisa simples, antiga e que há um bom tempo eu não pensava mais: Streams de dados.

Dados em streaming são dados gerados continuamente por milhares de fontes, que geralmente enviam os registros simultaneamente, em tamanhos pequenos (na ordem dos kilobytes). Arquivos de log e registros de interações gerados por clientes usando seus aplicativos móveis ou da web, compras de e-commerce, atividade de jogador durante o jogo, informações de redes sociais, pregões financeiros ou serviços geoespaciais, como também telemetria de serviços e sensores conectados em redes de IoT são exemplos de streaming de dados.

Esses dados podem ser processados sequencial e incrementalmente a cada conjunto de registros ou durante alguns períodos/janelas de tempo, e usados para uma ampla variedade de dados analíticos, como correlações, agregações, filtragem e amostragem. As informações derivadas de tais análises proporcionam às empresas alta visibilidade sob vários aspectos de suas atividades de negócios e de seus clientes e podem ser usadas, por exemplo, para monitorar o desempenho, detectar de antemão qualquer defeito em potencial, enviar alertas ou mesmo fazer automaticamente ajustes e outras ações (como bloquear um cartão de crédito em caso de suspeita de roubo, por exemplo).

Ao invés de montar do zero uma arquitetura para tratar esse tipo de dado (com um servidor e/ou um microserviço Node.JS, por exemplo, escrevendo os dados a cada transação), o ideal é utilizar uma arquitetura/solução padrão e pronta como o Apache Kafka ou o Amazon Kinesis² e evitar horas de dores de cabeça e custos elevados de desenvolvimento, manutenção e operação.

Em particular, achei muito interessante o Amazon Kinesis Firehose que permite, em poucos minutos e de uma maneira muito fácil, capturar, transformar e carregar dados de streaming no Amazon S3 e em outras formas de armazenamento. Fiquei pensando em como eu poderia utilizá-lo para, por exemplo, passar a armazenar e tratar, em tempo real, a posição do ponteiro do mouse do usuário e exibir, simultaneamente a este deslocamento, dicas e sugestões de uso do sistema, de acordo com o contexto e com o que o usuário está tentando fazer, melhorando significativamente a usabilidade e/ou a análise que o time pode fazer da qualidade da interação com o sistema e/ou das funcionalidades desenvolvidas.

Por fim, tive a oportunidade de relembrar que participar de eventos deste porte pode me ajudar a ter novas ideias, mudar estratégias e a execução de projetos, além de desenvolver as habilidades profissionais. Fica a dica para você também. ;)

— — — — — — —

[1] Dados em grandes volumes e em seu estado natural, vindos de todos os tipos de fontes, onde os analistas podem a qualquer hora “mergulhar” e tirar amostras/insights/informações

[2] O Amazon Kinesis é uma plataforma para dados em streaming na AWS, que oferece serviços excelentes para facilitar o carregamento e a análise de dados em streaming, além de permitir a criação de aplicações de dados em streaming personalizadas para necessidades específicas.

--

--