top of page
Foto do escritorCarol Morais

Caso de Sucesso KrakenD na Rappi

Atualizado: 20 de jun. de 2022


Rappi: Cenário de microsserviços de grande volume em plataforma de e-commerce com KrakenD


Rappi é um aplicativo que auxilia os usuários em suas necessidades diárias de compras. De restaurantes, supermercados, farmácias, bebidas espirituosas, viagens, entregas, produtos fintech e muito mais. De forma geral, é uma empresa especializada em logística de entrega que superou os 3 bilhões de dólares de valor de mercado em apenas 4 anos!


Cenário Inicial


No nível técnico, Rappi é uma grande plataforma de comércio eletrônico e um dos 100 maiores consumidores de recursos da AWS em todo o mundo, executando sua plataforma, em números temos:


"Mais de 7000 servidores EC2 e mais de 1.800 nós no EKS (Kubernetes).

Sua stack é executada na AWS (Amazon Web Services) em uma combinação dupla de ECS e Kubernetes. Mais de 750 desenvolvedores de todos os tipos podem escolher sua linguagem de codificação, e a equipe Infra (Cloud Engineering - 70 pessoas) fornece as ferramentas necessárias para torná-lo realidade. Uma das ferramentas que permitem a agregação de serviços heterogêneos é o KrakenD.


O Rappi executa mais de 2.000 microsserviços (em vez de nano serviços) no ECS e outros 1.500 microsserviços para o serviço Rappi Pay. Rappi conseguiu destruir o monólito em 2021, pudemos ver seus desenvolvedores bebendo em canecas e camisas com o slogan:


"Eu matei o monólito”

Como KrakenD ajudou Rappi?


Antes da adoção do KrakenD, todas as equipes estavam desenvolvendo soluções personalizadas para resolver problemas transversais. No entanto, a Rappi queria padronizar as soluções para problemas comuns em seus microsserviços e acelerar o processo de desenvolvimento. Por exemplo, eles precisavam da validação do JWT na frente de todos os seus serviços, então adotaram Auth0 como provedor de identidade e KrakenD como validador front.


A Rappi testou outras soluções antes de adotar o KrakenD, mas eles queriam uma solução simples com funcionalidades poderosas além de um “roteador simples”. Como resultado, a implementação completa do KrakenD na Rappi levou apenas 1 mês, apesar da complexidade organizacional.


A Rappi opera hoje +20 gateways KrakenD diferentes (em vários containers cada) que agregam e oferecem acesso a um vasto catálogo de serviços. Cada gateway fornece um grupo funcional, como por exemplo, um “gateway de pedidos”. Os gateways da API KrakenD são servidos em um DNS comum como exemplo services.rappi.com colado com um roteador.


Todas as métricas do KrakenD são enviadas para o Splunk SignalFX onde a Rappi pode acompanhar a evolução de seus serviços de forma centralizada.


Conforme a configuração, a config do KrakenD é gerada automaticamente através de um arquivo YAML de parâmetros que define as regras para construir o layout final. Ele usa um modelo Jinja com mais de 35.000 linhas de condições, dando uma ideia da complexidade que uma organização como a Rappi suporta.


Resultados e Planos Futuros


O futuro do KrakenD na Rappi é brilhante, pois provou nos últimos dois anos que é uma ferramenta confiável e fácil de configurar. Nas palavras do próprio Nicolás Vila:


"Nós não tivemos que lutar”

A KrakenD ofereceu à Rappi a ferramenta de padronização necessária para consumir um número tão impressionante de microsserviços. Ao mesmo tempo, a simplicidade e flexibilidade do KrakenD permitiram à Rappi ajustar a configuração do KrakenD às suas ferramentas de integração contínua.


O KrakenD foi adotado na Rappi em maio de 2020 e hoje continua a fornecer conteúdo para sua enorme base de usuários, oferecendo um serviço de API confiável que não causou nenhum tempo de inatividade.



Sobre os autores


Este estudo de caso foi escrito durante uma entrevista com Nicolás Vila (Cloud Architect), Ezequiel Arielli (Cloud Architect) e Carlos Castro (Tech Lead) @Rappi que participou da adoção do KrakenD e modernização de sua stack nos últimos dois anos .



Tradução e Revisão




Carolinne Morais

Customer Success - Skalena Ltda




218 visualizações0 comentário

Posts recentes

Ver tudo

Comments


bottom of page