APIs e Microsserviços

27 jan, 2017

O céu é o limite na utilização de Golang

Publicidade

 

Golang ou simplesmente Go é uma linguagem de programação criada pela Google e que foi lançada em código livre em novembro de 2009. Tem um formato compilado e de programação concorrente. Foi concebida inicialmente em setembro de 2007, por Robert Griesemer, Rob Pike e Ken Thompson.

No Brasil, empresas como o Mercado Livre, Globo.com, Magazine Luiza, Walmart entre outras encontraram nessa linguagem a performance e a simplicidade necessárias para melhorarem seus processos de desenvolvimento de software, aumentar performance e ainda economizar, e muito, com recursos de hardware.

No Mercado Livre, no final de 2015, após uma bateria de testes com o Go mostrarem resultados extremamente positivos, decidimos começar o processo de migração do Grails. Atualmente, contamos com mais de 80 projetos novos ou migrados para Go e em todos os casos os resultados têm sido surpreendentes.

Entre esses projetos está o case da nossa API de Localizações, que antes utilizava Grails e foi reescrita em Go. Essa API é responsável pela geolocalização via IP, além de fornecer informações sobre as ruas, bairros, cidades e estados nos 19 países onde o Mercado Livre está presente atualmente. Trata-se de um recurso que tem, em média, 200 mil requisições de leitura por minuto.

A migração para Go permitiu que o tempo da execução dos testes passasse de ~85seg para ~3.5seg e permitiu também um melhor tempo de resposta; saímos de 9ms para ~0.5ms.

O que mais nos motivou na migração foi a economia de hardware. Segue abaixo a tabela que compara a aplicação escrita em Grails e a versão da mesma em Go.

Ao todo, tivemos uma redução de 87% nos custos de aquisição e manutenção de equipamentos, economia de 88% de memória e a diminuição de 94% dos cores necessários para a mesma execução. Números bastante inspiradores, não acha?

Nós do Mercado Livre somos grandes entusiastas de novas tecnologias, principalmente Open Source. A linguagem Golang é um dos nossos achados nesse seleto nicho. Essa é, sem dúvida, uma ótima opção para quem pretende desenvolver aplicações que busquem por performance e até mesmo para aqueles que necessitam reduzir custos com hardware.

Vale lembrar que os pontos aqui destacados se referem a nossa experiência com a aplicação de Golang no ecossistema das unidades de negócios do Mercado Livre. Mas, o céu é o limite para o que mais a linguagem Golang pode proporcionar a nós, desenvolvedores.