CASES

A iCarros é uma empresa do Grupo Itaú Unibanco, com atuação no setor da tecnologia especializado no segmento automotivo. Oferece uma plataforma digital abrangente para compra e venda de automóveis por meio da Internet.

Através de uma plataforma intuitiva, a empresa oferece uma experiência completa para consumidores e revendedores, conectando compradores e vendedores por meio de serviços de anúncios de carros.

A plataforma também apresenta outros tipos de serviços como seguros automotivos, financiamentos, notícias automobilísticas e avaliações de automóveis.

O Desafio

A parceria entre iCarros e Darede não é nova. O desafio atual é reduzir os custos com os processamentos de ETL da equipe de engenharia de dados da iCarros e modernizar a estrutura do DataLake de acordo com as boas práticas de mercado e estado da arte em termos de tecnologias, frameworks e arquiteturas mais atuais.

Contexto

Antes de abordar a solução, é fundamental contextualizar o cenário atual da Engenharia de Dados. Há aproximadamente uma década, o mundo testemunhava o lançamento da primeira versão estável do Spark:

O Spark surgiu com o propósito de substituir e aprimorar o desenvolvimento de pipelines e jobs em comparação com tecnologias muito estabelecidas, como o Hadoop, por exemplo. Os tempos eram outros, a AWS despontava com o conceito de nuvem como conhecemos hoje, mas naquela época, a AWS ainda não havia introduzido serviços, hoje essenciais, como Lambda, ECS, EKS, ECR, Glue, entre outros, que se tornaram fundamentais no contexto da Engenharia de Dados.

Outro ponto relevante a destacar é que raramente há um caso de uso que exige a manipulação de terabytes ou petabytes de dados. Mesmo que um Data Lake ou Data Warehouse contenha terabytes de dados, o dia a dia geralmente envolve o consumo de uma fração desses dados [Fonte: https://motherduck.com/blog/big-data-is-dead/], que costuma ser frequentemente inferior a 100 GB. Isso, combinado com o fato de que em muitas tecnologias na nuvem, o poder de processamento (compute) e armazenamento (storage) crescem de forma independente, representa uma verdadeira revolução no campo da Engenharia de Dados.

Mudanças como essa foram alavancadas pelas necessidades crescente de estratégias potencialização do uso de dados, mas o contrário também é verdade, com o aumento das “two-way doors decisions”, criou um cenário ideal para mudanças, no qual é plenamente plausível e necessário alterar o paradigma das arquiteturas de Pipeline de Dados.

A realidade da iCarros, já está conectadas há muitos anos com esse mundo, e com um nível de maturidade bastante grande no uso de serviços AWS como S3 e Glue, mas com o tempo e a intensificação dessa estratégia, desafios como extrair mais resultado com o mesmo ou menor custo surgiu. Assim a Darede e iCarros iniciou um estudo de como otimizar a arquitetura para suportar a escalabilidade do negócio.

A Solução

A abordagem inicial foi a utilização da plataforma Darede Insights, desenvolvida pela Darede, para identificar os principais custos no ambiente e gerar insights relacionados a melhorias. Essas melhorias englobaram tanto a otimização de custos quanto a implementação de melhores práticas e modernização do ambiente de dados, de acordo com o AWS Well-Architected Framework. O relatório gerado revelou que havia quatro tipos de pipelines executados no AWS Glue que eram responsáveis por mais de 60% dos custos do Data Lake e que poderiam ser modernizados:

  • Consumo de APIs;
  • Consumo de tabelas de banco de dados;
  • Transformação de dados;
  • Carregamento de dados.

O trabalho inicial foi refatorar os códigos utilizados para a extração de dados por meio de APIs, bem como dos códigos usados para o carregamento e transformação dos dados. A refatoração focou nas melhores práticas de engenharia de software. Para ajudar na Developer Experience, duas ferramentas desenvolvidas pela AWS foram utilizadas: AWS Powertools for lambda (Python) e AWS SDK for pandas.

A equipe tomou a precaução de testar diferentes tecnologias em vez de usar o Spark em todos os cenários. Foi concluido que em alguns jobs era mais vantajoso manter o uso do Pandas, enquanto em outros, o DuckDB se mostrou mais eficiente. Em todos esses cenários, observou-se reduções significativas (>90%) nos tempos de execução e nos custos, como será detalhado na seção de resultados.

Além disso, em termos de infraestrutura, testes foram realizados gradualmente e alguns scripts passaram a ser executados em Lambdas, enquanto outros foram migrados para o ECS com Fargate Spot. Essa abordagem ajudou ainda mais a reduzir os custos operacionais. Em resumo, o sucesso da refatoração das pipelines se deve tanto à troca de tecnologia quanto à adaptação da infraestrutura de execução. 

A orquestração das pipelines foi realizada por meio do MWAA (Managed Workflows for Apache Airflow), como o nome diz, um serviço gerenciado de Apache Airflow, o que proporcionou maior clareza nas dependências e nos fluxos de execução dos jobs. E também, reduziu as falhas e indisponibilidade com a reexecução em caso de falhas, sem a necessidade de alterar o script original. Essa entrega incluiu também um sistema de monitoramento por e-mail para tarefas e DAGs que pudessem apresentar problemas.

Por fim, como precisamos alterar diversos componentes da solução, aproveitamos para implementar uma esteira de CI/CD para avançar e capacitar o time da iCarros na direção de DataOps (MLOps/AIOps) e facilitar futuras mudanças, mesmo em múltiplos ambientes de forma mais simples, resiliente e segura. 

Resultados

Houve ganhos expressivos na diminuição na performance (de tempo de execução), bem como na redução de custos.

Vale destacar as seguintes melhorias:

  • Redução de 99% do custo;
  • Maior visibilidade dos workflows e dependências;
  • Códigos que não precisam ser alterados em caso de reprocessamento; 
  • Maior segurança e confiabilidade;
  • Criação do DataOps com implementação do CI/CD.

Com a palavra, Elson Terakado, coordenador de dados na Icarros:

“O iCarros tinha ambição de revisitar a arquitetura de engenharia de dados e, para nós, foi uma grata surpresa termos nos conectado com o time Darede.
Esse time teve um papel excepcional nesse case, mostrando seu valor tanto através da expertise no momento da ideação, com proposições, na execução e, consequentemente, nos resultados obtidos.
A POC transcorreu de forma organizada, ágil, e atualmente já notamos ganhos de performance e eficiência, ou seja, redução de tempo de processamento e custo, por exemplo.”

Próximos Passos

E o trabalho está longe de ser concluído. A parceria e a jornada de dados continuarão com novas iniciativas de melhoria, sendo as principais:

  1. Migração de outros workloads para a nova arquitetura: Transferir outros processos e cargas de trabalho para a arquitetura modernizada;
  2. Implementação do AWS Lake Formation e DataHub: Fortalecer a segurança dos dados e ampliar a governança por meio do uso do AWS Lake Formation e a criação de um portal/hub de dados para ampliar a democratização dos dados na companhia;
  3. Camada de Data Quality (Qualidade de Dados): Desenvolver uma camada dedicada à garantia da qualidade dos dados, assegurando que os dados utilizados sejam precisos e confiáveis;
  4. Ampliação no uso de DataOps: Adicionar procedimentos de testes, qualidade e aprovação ao fluxo de Integração Contínua e Entrega Contínua (CI/CD) para verificar a estabilidade e a funcionalidade antes da implantação em produção.

Essas iniciativas representam um compromisso contínuo com a excelência e o aprimoramento constante do ambiente de Engenharia de Dados da iCarros. Por fim, um agradecimento especial ao time de Engenharia de Dados Icarros comandada por Elson Terakado por toda parceria ao longo do projeto.

  • Thiago Maciel – DataOps na Darede;
  • Adelaide Kono – DataOps na Darede;
  • Flávio Rescia Dias – CTO na Darede e AWS Amabassador;
  • Jackson Ribeiro – Head of Data na Darede.

CONHEÇA OUTROS CASES

Veja a atuação da Darede ma construtora Tenda!

Veja a atuação da Darede no Banco Máxima ao migrar seu ambiente integrado a Sinacor para a nuvem AWS! Confere aí!

Acompanhe a atuação da Darede ao implementar uma estrutura em cloud na Engie! Um projeto que proporcionou um ambiente mais produtivo para a empresa.

Confira a atuação da Darede na Comerc Energia na jornada de transformação de dados. Veja os benefícios adquiridos pela empresa no projeto.

Entenda o trabalho da Darede na MIrae Asset ao atualizar o ambiente para alcançar o melhor custo benefício do uso do Microsoft Exchange Server.

Confira o trabalho da Darede na Proxer Telecom. Veja como foi possível atender todos os desafios propostos pela empresa!

Confira o trabalho da Darede ao atualizar toda infraestrutura da Monouso para comportar suas demandas que estavam em constante crescimento.

Parceria entre AWS e Darede fortalece infraestrutura do Open Finance Brasil, por meio da definição de melhores práticas e arquitetura segura

Confira a ação da Darede no Grupo Jacto na modernização de seus ambientes na nuvem AWS, assim garantindo mais segurança e produtividade.

Confira a atuação da Darede na Zabit, e como foi possível aumentar o desempenho e a escalabilidade do ambiente da empresa.

Visão Geral Com mais de 40 anos dedicados à inovação e à excelência no ensino, o Sistema Positivo de Ensino trabalha em parceria com uma rede de milhares de escolas. Atualmente possui soluções para recursos didáticos, tecnologia educacional, assessoria, formação e gestão escolar. Neste blog post será abordado como o Sistema Positivo de Ensino modernizou o Positivo On, sua solução de tecnologia educacional na nuvem AWS em conjunto aos parceiros DaRede, Kumulus e New Relic e quais foram os ganhos em relação a custos, operação, escalabilidade, disponibilidade e segurança. O desafio Em março de 2019, a Arco Educação comprou o Sistema Positivo de Ensino. A partir de então, assumiu a gestão tecnológica do sistema Positivo On, a plataforma virtual de aprendizagem do Sistema Positivo de Ensino, a qual apresenta um conjunto de tecnologias e recursos que potencializam o aprendizado e o engajamento dos alunos, os quais aprendem de acordo com o próprio ritmo. Entre as ferramentas estão a Sala de Aula Virtual, Livros Digitais e Plano Semanal de Aulas, entre outros. Gestores, professores e famílias também acessam o Positivo On para obter relatórios em tempo real sobre o desempenho do aluno. Atualmente são milhares de alunos e escolas atendidas, sendo que em 2021 foram mais de 3600 alunos aprovados no SiSU. Todo o sistema Positivo On estava baseado em outro provedor de nuvem, e sua arquitetura não seguia boas práticas em relação a escalabilidade, disponibilidade e segurança. A arquitetura foi implementada manualmente, dificultando a gestão de centenas de componentes pelo time de engenharia de DevOps, os times de desenvolvimento não tinham visibilidade dos logs e métricas e a implantação não era totalmente automatizada, atrasando correções e novas entregas. Além disso, era necessário manter sistemas legados que estavam super provisionados e não eram performáticos. Com novas escolas utilizando o sistema Positivo On, as dificuldades aumentavam e consequentemente a necessidade de modernização e melhoria da arquitetura em um curto prazo de tempo. A decisão de migrar para nuvem AWS veio a partir da análise de custos e necessidades de escalabilidade e segurança. Com o uso de metodologia Ágil, foram formadas squads dedicadas a cada uma das aplicações do sistema Positivo On. Foram engajados três parceiros, DaRede, Kumulus e New Relic, para suprir as necessidades técnicas dos squads e acompanhar a entrada em produção de cada um dos workloads. Definição da Estratégia de Migração O processo de migração seguiu três fases se adequando as necessidades dos squads: Avaliação: No início de sua jornada, a organização é avaliada em termos de como operar na nuvem. São também identificados os resultados de negócio desejados e desenvolvido o caso de negócios para a migração. Mobilizar: Um plano de migração começa com uma levantamento das interdependências entre aplicações e avalia as estratégias de migração para atender aos objetivos do caso de negócios. Também é colatado os dados do portfólio de aplicações e definida a estratégia de migração: realocar, reformular a hospedagem, replataforma, refatorar, comprar novamente, retirar ou reter. Migrar e Modernizar: Durante a fase Migrar e Modernizar, cada aplicação é projetada, migrada e validada. Para os ambientes mais novos foi decidido manter a arquitetura de microsserviços, mas efetuar uma replataforma para ambientes containerizados. Além da estratégia de containerização, serviços de migração como o AWS Migration HUB e AWS Application Discovery foram utilizados para auxiliar no processo de migração do ambiente legado, efetuando uma nova migração e refatorando em alguns casos para utilizar a nova plataforma. Arquitetura do projeto A containerização possibilitou uma melhor escala, além da facilidade de empacotamento das aplicações, economia de recursos, maior isolamento e portabilidade, para facilitar a gestão do ambiente. Também foi utilizado serviços serverless, diminuindo a quantidade de recursos de infraestrutura para efetuar manutenção e gestão, passando a maior parte do gerenciamento para AWS e focando na melhoria da aplicação. Além disso, essa escolha arquitetural possibilitou otimizar o uso dos serviços em nuvem e escalando conforme a necessidade. Figura 1 – Arquitetura AWS Foi construída uma estrutura de fundação utilizando o AWS Control Tower para gerenciamento de GuardRails, AWS SSO para autenticação centralizada, AWS Transit Gateway para centralização do tráfego de rede e VPN Client-to-site gerenciada AWS, provendo uma conectividade de alta performance e altamente disponível. O diagrama de arquitetura ilustrado acima possui os principais componentes utilizados na solução, sendo esses componentes replicados para os diferentes ambientes em diferentes contas, como desenvolvimento, homologação e produção. A arquitetura foi desenhada para ser escalável através de serviços serverless para containers, sendo o Amazon ECS o orquestrador utilizado e o AWS Fargate para provisionamento das APIs. Para camada de dados foi utilizado armazenamento de objetos no Amazon S3 e o Amazon RDS como serviço gerenciado de banco de dados para SQL Server e PostgreSQL. Pensando em segurança na borda, foram utilizados serviços como o AWS WAF e AWS Secrets Manager. As integrações entre o Azure DevOps, ferramenta já utilizada pelos times do Sistema Positivo de Ensino, foram configurados para integrar com a AWS. Todos componentes foram provisionados através de infraestrutura como código (IaC) utilizando os módulos AWS para Terraform. Durante os testes de cada microsserviço, foi adicionada uma nova etapa para testes de carga utilizando a solução Distributed Load Testing, automatizando o processo de simulação de alto tráfego de usuários de forma distribuída, ajudando os times de desenvolvimento a identificarem as métricas de escala e performance da aplicação. Resultados obtidos Como resultado, o projeto obteve: Redução de custos: A economia em relação ao custo anterior no outro provedor de nuvem foi de mais de 50%. Além da otimização do ambiente, a utilização de serviços serverless possibilitou o pagamento conforme o uso, permitindo o sistema Positivo On enfrentar momentos de pico específicos em situações como início das aulas e entrega de provas e atividades. Segurança: Após a migração para AWS, foi implementada segurança na camada 7 (aplicação) através do AWS WAF, camada 3 (redes) utilizando serviços de rede do Amazon VPC além do uso de serviços de segurança em nuvem como o AWS Config e o AWS Security Hub para identificar ações fora de conformidade.

Entenda de forma prática e simplificada a atuação da Darede no case da FlightMarket. Veja como auxiliamos a empresa em sua jornada para cloud.

Nós usamos cookies para garantir e oferecer a melhor experiência de navegação em nosso site! Mais informações