Este post é de coautoria com Girish Kumar Chidananda da redBus.
ônibus vermelho é uma das primeiras a adotar a AWS na Índia, e a maioria de seus serviços e aplicativos são hospedados na Nuvem AWS. A AWS forneceu à redBus a flexibilidade para dimensionar sua infraestrutura rapidamente, mantendo os custos extremamente baixos. A AWS tem um conjunto abrangente de serviços para atender à maioria de suas necessidades, incluindo o fornecimento de suporte ao cliente que a redBus pode garantir.
Nesta postagem, compartilhamos a arquitetura da plataforma de dados do redBus e como vários componentes são conectados para formar sua rodovia de dados. Também discutimos os desafios enfrentados pela redBus na construção de painéis para seus casos de uso de inteligência de negócios (BI) em tempo real e como eles usaram AmazonQuickSight, um serviço de análise de negócios rápido, fácil de usar e baseado em nuvem que torna mais fácil para todos os funcionários da redBus criar visualizações e realizar análises ad hoc para obter insights de negócios de seus dados, a qualquer momento e em qualquer dispositivo.
Sobre redBus
ônibus vermelho é a maior plataforma on-line de passagens de ônibus do mundo construída na Índia e atendendo a mais de 36 milhões de clientes satisfeitos em todo o mundo. Juntamente com sua vertical de bilhética de ônibus, a redBus também opera um serviço de bilhética ferroviária chamado trilhos vermelhos e um serviço de aluguel de ônibus e carros chamado passeio. Faz parte do grupo GO-MMT, que é a principal empresa de viagens on-line da Índia, com um extenso portfólio de marcas que inclui outras marcas proeminentes de viagens on-line, como MakeMyTrip e Goibibo.
estrada de dados do redBus 1.0
A redBus depende muito da tomada de decisões baseadas em dados em todos os níveis, desde o rastreamento da jornada do viajante, previsão da demanda durante o tráfego intenso, identificação e solução de gargalos no processo de inscrição de operadoras de ônibus e muito mais. À medida que os negócios da redBus começaram a crescer em termos do número de cidades e países em que operavam e do número de operadoras de ônibus e passageiros que usavam o serviço em cada cidade, a quantidade de dados recebidos também aumentou. A necessidade de acessar e analisar os dados em um só lugar exigiu que eles construíssem sua própria plataforma de dados, conforme mostrado no diagrama a seguir.
Nas seções a seguir, veremos cada componente com mais detalhes.
Fontes de ingestão de dados
Com a plataforma de dados 1.0, os dados são ingeridos de várias fontes:
- Tempo real – Os dados em tempo real fluem dos aplicativos móveis redBus, dos microsserviços de back-end e quando um passageiro, operador de ônibus ou aplicativo realiza qualquer operação, como reserva de passagens de ônibus, pesquisa no inventário de ônibus, upload de um documento KYC e muito mais
- modo de lote – Tarefas agendadas buscam dados de vários armazenamentos de dados persistentes, como Serviço de banco de dados relacional da Amazon (Amazon RDS), onde são armazenados os dados OLTP de todos os seus aplicativos, clusters Apache Cassandra, onde é armazenado o inventário de ônibus de várias operadoras, Arango DB, onde são armazenados os gráficos de identidade do usuário e muito mais
Catalogação de dados
Os dados em tempo real são ingeridos em seus clusters Apache Nifi autogerenciados, uma plataforma de dados de código aberto usada para limpar, analisar e catalogar os dados com seus recursos de roteamento antes de enviar os dados ao seu destino.
Armazenamento e análise
A redBus usa os seguintes serviços para suas necessidades de armazenamento e análise:
- Serviço de armazenamento simples da Amazon (Amazon S3), um serviço de armazenamento de objetos que fornece a base para seu data lake por causa de sua escalabilidade virtualmente ilimitada e maior durabilidade. Os dados em tempo real fluem do Apache Druid e os dados dos armazenamentos de dados fluem em intervalos regulares com base nas programações.
- Apache Druid, um armazenamento de dados no estilo OLAP (fluxos de dados por meio do carregador de dados Kafka Druid), que calcula fatos e métricas em várias dimensões durante o processo de carregamento de dados.
- Amazon RedShift, um serviço de armazenamento de dados na nuvem que ajuda você a analisar exabytes de dados e executar consultas analíticas complexas. A redBus usa o Amazon Redshift para armazenar os dados processados do Amazon S3 e os dados agregados do Apache Druid.
Consulta e visualização
Para tornar o redBus o mais orientado a dados possível, eles garantiram que os dados fossem acessíveis a seus engenheiros de SRE, engenheiros de dados e analistas de negócios por meio de uma camada de visualização. Essa camada apresenta painéis sendo servidos usando o Apache SuperSet, um aplicativo de visualização de dados de código aberto e Amazona atena, um serviço de consulta interativo para analisar dados no Amazon S3 usando SQL padrão para requisitos de consulta ad hoc.
Os desafios
Inicialmente, o redBus lidava com dados que estavam sendo ingeridos a uma taxa de 10 milhões de eventos por dia. Com o tempo, à medida que seus negócios começaram a crescer, o mesmo aconteceu com o volume de dados (de gigabytes para terabytes para petabytes), ingestão de dados por dia (de 10 milhões para 320 milhões de eventos) e suas necessidades de painel de inteligência de negócios. Logo depois, eles começaram a enfrentar desafios com os recursos de BI do Superset autogerenciados e as crescentes complexidades operacionais.
Capacidades limitadas de BI
redBus encontrou as seguintes limitações de BI:
- Incapacidade de criar visualizações de várias fontes de dados – Superset não permite a criação de visualizações de várias tabelas dentro de sua camada de exploração de dados. Os engenheiros de dados do redBus precisavam ter as tabelas unidas de antemão no próprio nível da fonte de dados. A fim de criar uma visão de 360 graus para as partes interessadas nos negócios da redBus, tornou-se inconveniente para os engenheiros de dados manter várias tabelas que suportam a camada de visualização.
- Nenhum filtro global para visuais em um painel – Um filtro global ou primário em visuais em um painel não tem suporte no Superconjunto. Por exemplo, considere que há visuais como vendas vencidas por região, receita YTD realizada por região, pipeline de vendas por região e muito mais em um painel, e um filtro Região é adicionado ao painel com valores como EMEA, APAC e EUA. A região do filtro será aplicada apenas a um dos visuais, não a todo o painel. No entanto, os usuários do painel esperavam filtragem no painel.
- Não é uma ferramenta amigável para o usuário comercial – O Superset é altamente centrado no desenvolvedor quando se trata de personalização. Por exemplo, se um analista de negócios redBus tiver que personalizar uma atualização cronometrada que reconsulte automaticamente cada fatia em um painel de acordo com um valor predefinido, o analista precisará atualizar o campo de metadados JSON do painel. Portanto, ter conhecimento de JSON e sua sintaxe é obrigatório para fazer qualquer customização nos visuais ou dashboard.
Aumento do custo operacional
Embora o Superset seja de código aberto, o que significa que não há custos de licenciamento, também significa que há mais esforço em manter todos os componentes necessários para que funcione como uma ferramenta de BI de nível empresarial. redBus implantou e manteve um servidor web (Nginx) liderado por um Balanceador de carga de aplicativo fazer o balanceamento de carga; um servidor de banco de dados de metadados (MySQL) onde o Superset armazena suas informações internas como usuários, fatias e definições de painel; uma fila de tarefas assíncrona (Celery) para suportar consultas de execução longa; um intermediário de mensagens (RabbitMQ); e um servidor de cache distribuído (Redis) para armazenar em cache os resultados, dados de gráficos e muito mais em Amazon Elastic Compute Nuvem (Amazon EC2). O diagrama a seguir ilustra essa arquitetura.
A equipe de DevOps da redBus teve que fazer o trabalho pesado de provisionar a infraestrutura, fazer backups, dimensionar os componentes manualmente conforme necessário, atualizar os componentes individualmente e muito mais. Também exigia a presença de um desenvolvedor da Web em Python para fazer as alterações de configuração, de modo que todos os componentes funcionassem perfeitamente juntos. Todas essas operações manuais aumentaram o custo total de propriedade do redBus.
Jornada em direção ao QuickSight
A redBus começou a explorar soluções de BI principalmente em torno de alguns de seus requisitos de painel:
- Painéis de BI para partes interessadas e analistas de negócios, onde os dados são obtidos via Amazon S3 e Amazon Redshift.
- Um painel de monitoramento de desempenho de aplicativos (APM) em tempo real para ajudar seus engenheiros e desenvolvedores de SRE a identificar a causa raiz de um problema na implantação de microsserviços para que possam corrigir os problemas antes que afetem a experiência do cliente. Nesse caso, os dados são obtidos via Druid.
O QuickSight se encaixa na maioria dos requisitos de painel de BI da redBus e, rapidamente, sua equipe de plataforma de dados começou com uma prova de conceito (POC) para alguns de seus painéis complexos. No final do POC, que durou um mês, a equipe compartilhou suas descobertas.
Primeiro, o QuickSight é rico em recursos de BI, incluindo os seguintes:
- É uma solução de BI de autoatendimento com recursos de arrastar e soltar que podem ajudar os analistas da redBus a usá-la confortavelmente sem nenhum esforço de codificação.
- As visualizações de várias fontes de dados em um único painel podem ajudar as partes interessadas nos negócios da redBus a obter uma visão de 360 graus das vendas, previsões e insights em um único painel de vidro.
- Filtros em cascata em visuais e em planilhas em um painel são recursos muito necessários para os requisitos de BI do redBus.
- O QuickSight oferece visuais semelhantes ao Excel - tabelas com cálculos, tabelas dinâmicas com agrupamento de células e estilos atraentes para os visualizadores.
- O Super-fast, Parallel, In-memory Calculation Engine (SPICE) no QuickSight pode ajudar a dimensionar o redBus para centenas de milhares de usuários, que podem executar simultaneamente análises interativas rápidas em uma ampla variedade de fontes de dados da AWS.
- Insights e previsões de ML disponíveis no mercado sem custo adicional permitiriam que a equipe de ciência de dados da redBus se concentrasse em modelos de ML, além de previsões de vendas e modelos semelhantes.
- A segurança de nível de linha (RLS) integrada pode permitir que o redBus conceda acesso filtrado para seus visualizadores. Por exemplo, redBus tem muitos analistas de negócios que gerenciam diferentes países. Com o RLS, cada analista de negócios vê apenas os dados relacionados ao país atribuído em um único painel.
- redBus usa OneLogin como seu provedor de identidade, que suporta Security Assertion Markup Language 2.0 (SAML 2.0). Com a ajuda da federação de identidade e suporte de logon único do QuickSight, a redBus pode fornecer um fluxo de integração simples para seus usuários do QuickSight.
- O QuickSight oferece alertas integrados e recursos de notificação por e-mail.
Em segundo lugar, o QuickSight é uma oferta de serviço de BI totalmente gerenciada, nativa da nuvem e sem servidor da AWS, com os seguintes recursos:
- Os engenheiros da redBus não precisam se concentrar no trabalho pesado de provisionamento, dimensionamento e manutenção de sua solução de BI em instâncias do EC2.
- O QuickSight oferece integração nativa com serviços da AWS, como Amazon Redshift, Amazon S3 e Athena, e outras estruturas populares como Presto, Snowflake, Teradata e muito mais. O QuickSight se conecta à maioria das fontes de dados que o redBus já possui, exceto o Apache Druid, porque a integração nativa com o Druid não estava disponível em dezembro de 2022. Para obter uma lista completa das fontes de dados compatíveis, consulte Fontes de dados compatíveis.
O efeito
Considerando todos os recursos avançados e o menor custo total de propriedade, a redBus escolheu o QuickSight para seus requisitos de painel de BI. Com o QuickSight, os engenheiros de dados da redBus criaram vários painéis rapidamente para fornecer insights de petabytes de dados para as partes interessadas e analistas de negócios. A autoestrada de dados redBus evoluiu para levar a inteligência de negócios a um público muito mais amplo em sua organização, com melhor desempenho e retorno mais rápido. A partir de novembro de 2022, ele combina o QuickSight para usuários corporativos e o Superset para painéis de APM em tempo real (no momento da redação, o QuickSight não oferece um conector nativo para o Druid), conforme mostrado no diagrama a seguir.
Painel de detecção de anomalias de vendas
Embora existam muitos painéis que a redBus implantou na produção, a detecção de anomalias de vendas é um dos painéis interessantes que a redBus construiu. Ele usa o modelo de previsão de vendas proprietário da redBus, que por sua vez é obtido por dados históricos de vendas das tabelas Amazon Redshift e dados de vendas em tempo real das tabelas Druid, conforme mostrado na figura a seguir.
Em intervalos regulares, os trabalhos agendados alimentam o modelo de previsão redBus com dados de vendas históricos e em tempo real e, em seguida, os dados previstos são enviados para uma tabela do Amazon Redshift. O painel de detecção de anomalias de vendas no QuickSight é servido pela tabela resultante do Amazon Redshift.
Veja a seguir um dos visuais do painel de detecção de anomalias de vendas. Ele é criado usando um gráfico de linhas que representa as vendas reais por hora, as vendas previstas e um limite de alerta para uma série temporal para um grupo de negócios específico no redBus.
Neste visual, cada barra representa o número de anomalias de vendas acionadas em um determinado ponto da série temporal.
Os analistas da redBus podem detalhar ainda mais os detalhes de vendas e anomalias no nível do minuto, conforme mostrado no diagrama a seguir. Esse recurso de detalhamento vem pronto para uso com o QuickSight.
Para obter mais detalhes sobre como adicionar detalhamentos aos visuais do painel do QuickSight, consulte Adicionar detalhamentos a dados visuais no Amazon QuickSight.
Além dos visuais, tornou-se um dos painéis favoritos dos espectadores no redBus devido aos seguintes recursos notáveis:
- Como a filtragem entre visuais é um recurso pronto para uso no QuickSight, um filtro baseado em registro de data e hora é adicionado ao painel. Isso ajuda a filtrar vários visuais no painel com um único clique.
- As ações de URL configuradas nos visuais ajudam os visualizadores a navegar para os aplicativos internos sensíveis ao contexto.
- Os alertas de e-mail configurados em KPIs e visuais de medidores ajudam os visualizadores a receber notificações a tempo.
Próximos passos
Além de criar novos painéis para suas necessidades de painel de BI, a redBus está realizando as seguintes etapas:
- Explorando Análise Incorporada do QuickSight para alguns de seus requisitos de aplicativo para acelerar o tempo de insights para usuários com visuais de dados no contexto, painéis interativos e mais diretamente nos aplicativos
- Explorando Visão rápida Q, o que pode permitir que as partes interessadas de negócios façam perguntas em linguagem natural e recebam respostas precisas com visualizações relevantes que podem ajudá-los a obter insights dos dados
- Construindo uma solução de painel unificada usando o QuickSight, cobrindo todas as suas fontes de dados à medida que as integrações se tornam disponíveis
Conclusão
Neste post, mostramos como a redBus construiu sua plataforma de dados usando vários serviços da AWS e estruturas Apache, os desafios pelos quais a plataforma passou (especialmente em seus requisitos de painel de BI e desafios durante o dimensionamento) e como eles usaram o QuickSight e reduziram o custo total de propriedade.
Para saber mais sobre engenharia na redBus, confira o postagens de blog médias. Para saber mais sobre o que está acontecendo no QuickSight ou se você tiver alguma dúvida, entre em contato com o Comunidade QuickSight, que é muito ativo e oferece diversos recursos.
Sobre os autores
Girish Kumar Chidananda trabalha como Gerente de Engenharia Sênior – Engenharia de Dados na redBus, onde vem construindo vários aplicativos e componentes de engenharia de dados para a redBus nos últimos 5 anos. Antes de iniciar sua jornada no setor de TI, ele trabalhou como engenheiro de sistemas mecânicos e de controle em várias organizações e possui mestrado em engenharia de energia de fluidos pela University of Bath.
Kayalvizhi Kandasamy trabalha com empresas nativas digitais para apoiar sua inovação. Como Arquiteta de Soluções Sênior (APAC) na Amazon Web Services, ela usa sua experiência para ajudar as pessoas a dar vida às suas ideias, concentrando-se principalmente em arquiteturas de microsserviços e soluções nativas em nuvem usando os serviços da AWS. Fora do trabalho, ela gosta de jogar xadrez e é uma jogadora de xadrez classificada pela FIDE. Ela também treina suas filhas na arte de jogar xadrez e as prepara para vários torneios de xadrez.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/big-data/a-dive-into-redbuss-data-platform-and-how-they-used-amazon-quicksight-to-accelerate-business-insights/
- $ 10 milhões
- 1
- 10
- 100
- 2022
- 360-degree
- a
- Sobre
- acelerar
- Acesso
- acessível
- Segundo
- preciso
- em
- ações
- ativo
- Ad
- adicionado
- Adicional
- endereçando
- adotantes
- afetar
- Depois de
- contra
- Alertar
- Todos os Produtos
- já
- Amazon
- Amazon EC2
- AmazonQuickSight
- Amazon RDS
- Amazon Web Services
- quantidade
- análise
- analista
- Analistas
- Análises
- analítica
- analisar
- e
- detecção de anomalia
- respostas
- APAC
- apache
- Aplicação
- aplicações
- Aplicar
- Aplicativos
- arquitetura
- por aí
- Arte
- atribuído
- atraente
- público
- autor
- automaticamente
- disponível
- AWS
- Backend
- backups
- Barra
- baseado
- Porque
- tornam-se
- antes
- ser
- Melhor
- Blog
- Caixa
- interesse?
- marcas
- trazer
- corretor
- construir
- Prédio
- construído
- construídas em
- ônibus
- negócio
- inteligência de negócios
- chamado
- capacidades
- carro
- casas
- casos
- catálogo
- Causar
- desafios
- Alterações
- de cores
- gráficos
- verificar
- xadrez
- escolheu
- Cidades
- Cidades
- Na nuvem
- Codificação
- grupo
- combina
- Empresas
- Empresa
- completar
- integrações
- complexidades
- componente
- componentes
- compreensivo
- Computar
- conceito
- conectado
- conecta
- Considerar
- ao controle
- Custo
- custos
- poderia
- países
- país
- Casal
- cobertura
- crio
- Criar
- cliente
- Suporte ao cliente
- Clientes
- personalização
- personalizar
- painel de instrumentos
- dados,
- lago data
- Plataforma de dados
- ciência de dados
- Visualização de dados
- data warehouse
- orientado por dados
- banco de dados
- dia
- Dezembro
- decisões
- Grau
- Demanda
- implantado
- desenvolvimento
- destino
- detalhe
- detalhes
- Detecção
- Developer
- desenvolvedores
- dispositivo
- DevOps
- DID
- diferente
- dimensões
- diretamente
- discutir
- distribuído
- documento
- Não faz
- fazer
- não
- down
- druida
- durabilidade
- durante
- cada
- fácil de usar
- esforço
- esforços
- incorporado
- EMEA
- colaboradores
- permitir
- Motor
- engenheiro
- Engenharia
- Engenheiros
- de nível empresarial
- Todo
- especialmente
- Éter (ETH)
- eventos
- evoluiu
- exemplo
- Exceto
- esperado
- vasta experiência
- exploração
- Explorando
- extenso
- extremamente
- enfrentou
- enfrentando
- RÁPIDO
- mais rápido
- Favorito
- Característica
- Funcionalidades
- Federação
- campo
- Figura
- filtro
- filtragem
- filtros
- caber
- Fixar
- Flexibilidade
- fluxo
- Fluxos
- Foco
- focando
- seguinte
- formulário
- Foundation
- enquadramentos
- amigável
- da
- Com frente
- totalmente
- função
- mais distante
- Ganho
- ter
- OFERTE
- vidro
- Global
- conceder
- gráficos
- Grupo
- Crescente
- feliz
- ter
- fortemente
- ajudar
- ajuda
- Alta
- superior
- altamente
- Rodovia
- histórico
- detém
- hospedado
- Como funciona o dobrador de carta de canal
- Contudo
- HTML
- HTTPS
- Centenas
- idéias
- identificar
- identificar
- Identidade
- in
- inclui
- Incluindo
- Entrada
- aumentou
- Índia
- Individualmente
- indústria
- INFORMAÇÕES
- Infraestrutura
- Inovação
- insights
- integração
- integrações
- Inteligência
- interativo
- interessante
- interno
- inventário
- emitem
- questões
- IT
- Setor de TI
- se
- Empregos
- ingressou
- viagem
- json
- Kafka
- manutenção
- Saber
- Conhecimento
- KYC
- lago
- língua
- maior
- Sobrenome
- camada
- principal
- APRENDER
- Nível
- Licenciamento
- vida
- facelift
- limitações
- Line
- Lista
- carregar
- carregador
- carregamento
- olhar
- Baixo
- a manter
- fazer
- FAZ
- Fazendo
- gerencia
- gerenciados
- Gerente
- obrigatório
- manual
- manualmente
- muitos
- significa
- mecânico
- mensagem
- metadados
- Métrica
- microsserviços
- milhão
- minuto
- ML
- Móvel Esteira
- aplicativos móveis
- modelo
- modelos
- monitoração
- mais
- a maioria
- MS
- múltiplo
- MySQL
- nativo
- natural
- Linguagem Natural
- Navegar
- você merece...
- necessário
- Cria
- Novo
- Próximo
- NGINX
- notável
- notificação
- notificações
- Novembro
- número
- objeto
- Armazenamento de objetos
- oferecer
- oferecendo treinamento para distância
- Oferece
- Onboarding
- ONE
- online
- aberto
- open source
- operado
- operação
- operacional
- Operações
- operador
- operadores
- ordem
- organização
- organizações
- Outros
- lado de fora
- próprio
- propriedade
- pão
- Paralelo
- parte
- particular
- Pessoas
- realizar
- atuação
- oleoduto
- articulação
- Lugar
- plataforma
- platão
- Inteligência de Dados Platão
- PlatãoData
- jogador
- jogar
- PoC
- ponto
- Popular
- pasta
- possível
- Publique
- poder
- previsto
- Prepara
- principalmente
- primário
- Prévio
- processo
- Produção
- proeminente
- prova
- prova de conceito
- proprietário
- fornecer
- fornecido
- provedor
- fornece
- fornecendo
- empurrado
- Python
- Frequentes
- Barra
- rapidamente
- Taxa
- alcançar
- em tempo real
- dados em tempo real
- realizado
- receber
- região
- regular
- relacionado
- relevante
- representando
- representa
- requeridos
- Requisitos
- Recursos
- Resultados
- receita
- Rico
- raiz
- Execute
- vendas
- AMPLIAR
- Escala
- dimensionamento
- programado
- Trabalhos agendados
- Ciência
- sem problemas
- pesquisar
- seções
- segurança
- vê
- Autoatendimento
- envio
- senior
- Série
- Serverless
- serviço
- Serviços
- de servir
- vários
- Partilhar
- compartilhado
- mostrando
- semelhante
- simples
- simultaneamente
- solteiro
- Fatia
- So
- solução
- Soluções
- Em breve
- fonte
- Fontes
- tempero
- SQL
- partes interessadas
- padrão
- começado
- Comece
- Passos
- armazenamento
- loja
- armazenadas
- lojas
- suíte
- ajuda
- Suportado
- Apoiar
- suportes
- sintaxe
- sistemas
- mesa
- tomar
- Tarefa
- Profissionais
- condições
- A
- o mundo
- deles
- assim sendo
- milhares
- limiar
- Através da
- ticketing
- bilhetes
- tempo
- Séries temporais
- Cronometrado
- para
- juntos
- ferramenta
- Total
- torneios
- para
- Rastreamento
- tráfego
- viagens
- viajante
- Viajantes
- desencadeado
- VIRAR
- unificado
- universidade
- ilimitado
- Atualizar
- Upload
- us
- usar
- Utilizador
- usuários
- valor
- Valores
- variedade
- vário
- via
- Ver
- VISITANTES
- praticamente
- visualização
- volume
- Armazém
- web
- servidor web
- serviços web
- O Quê
- O que é a
- qual
- enquanto
- QUEM
- Largo
- mais largo
- precisarão
- Vitórias
- dentro
- sem
- Atividades:
- trabalhar juntos
- trabalhou
- trabalho
- mundo
- do mundo
- seria
- escrita
- anos
- zefirnet