NEI é o líder em e-commerce e marketplace B2B no Brasil. Através da nossa plataforma proprietária de venda digital no B2B oferecemos todos os suprimentos necessários para a operação de um negócio, como ferramentas, elétrica, produtos de limpeza, rolamentos, etc. Com mais de 250.000 produtos no catálogo, a NEI monetiza ambos os lados do marketplace e traz consigo atrativos modelos de negócio para venda, compra e anúncios de produtos e marcas. Atualmente, NEI.com.br tem 650.000 pageviews mensais, 60.000 fornecedores registrados e 250.000 compradores.
O Desafio:
Micro serviços são uma tendência mundial no design de soluções resilientes e de negócios de missão crítica.
A base da arquitetura de micros serviços é o desenvolvimento de um único aplicativo como conjunto de pequenos e independentes serviços executados em seu próprio processo, desenvolvidos e implantados de forma independente, diferentemente do padrão utilizado no passado, conhecido como monolítico.
Monolítico x Micro Serviço
Depois de passar por uma fusão, a NEI necessitou reescrever e criar micro serviços para atender suas necessidades. Aliado a necessidade de migração de plataforma, já que o antigo provedor (Heroku) não oferecia todas as capabilities oferecidas pela Amazon Web Services.
Além dos pontos mencionados, a NEI também inseriu uma camada de mensageria no ambiente, e para isso, foi preciso um serviço gerenciado para este item. Assim, toda comunicação entre os micros serviços são feitos através de mensageria.
Neste cenário, a arquitetura ideal, seria utilizar um cluster Kubernetes, gerenciado, junto com uma plataforma Apache Kafka (Mensageria) em nuvem, tornando a infraestrutura elástica, sendo totalmente aderente com os componentes existentes e de fácil migração.
Por que Amazon Web Services?
A NEI precisava subir o novo repositório, migrar as imagens existentes e adotar o padrão de mensageria entre seus micro serviços. Os seguintes requisitos são desejáveis:
Essas considerações levaram a implantação da infraestrutura na AWS. Abaixo algumas decisões técnicas e estratégicas adotadas para viabilizar o projeto:
Com este conjunto de soluções a arquitetura dos novos serviços da Nei ficou como a seguir:
Arquitetura do Ambiente Produtivo
Resultado
Depois de 3 meses de trabalho, a NEI migrou sua antiga plataforma para a AWS, todos desenvolvedores estavam familiarizados com o novo processo de CI/CD, e com o desenvolvimento de micro serviços na nova arquitetura. Neste projeto configuramos serviços de autorização de usuários, baixa de produtos, carregamento de produtos, entre outros.
Os resultados impressionam nos seguintes recursos:
Com os resultados obtidos, todos os novos micros serviços da NEI estão sendo utilizados na plataforma EKS. Todos seus produtos, clientes e pedidos estão transacionando na mesma plataforma. Durante o projeto, precisamos fazer um redesign da solução, pois, cada micro serviço possuía um pipeline para o CI/CD, notamos que poderíamos refatorar a solução para se tornar mais enxuta (cada micro serviço possuía um pipeline distinto). Para tanto, precisamos acertar os detalhes abaixo: