21 de noviembre de 2019

El lenguaje Go cumple 10 años

Golang
El pasado 10 de noviembre tuvo lugar el décimo aniversario de Go, un hito celebrado por la comunidad global de desarrolladores de este lenguaje de programación con conferencias como Gopherpalooza en Mountain View y KubeCon en San Diego, además de docenas de reuniones en todo el mundo.


Go, también conocido como Golang, es un proyecto de código abierto que combina la velocidad de desarrollo de un lenguaje interpretado como Python, con la eficiencia y seguridad de un lenguaje compilado como C o C++.

Fué creado en Google el mes de noviembre de 2009 por Rob Pike, Robert Griesemer y Ken Thompson, co-creador con Dennis Ritchie de Unix y del lenguaje de programación C.

Lo más destacado es que Go fué diseñado ex profeso para mejorar la productividad de máquinas con más de un núcleo, en red y enormes bases de código, lo que permite a los programadores escalar rápidamente tanto el desarrollo como la implementación de software.

A medida que el uso de Go ha ido creciendo (tiene más de un millón de usuarios en todo el mundo), se han construido más y más servicios básicos con él. Las aplicaciones populares de código abierto creadas en Go incluyen Docker, Hugo, Kubernetes. La plataforma de nube híbrida de Google, Anthos, también está construida con Go.





Hay más de un millón de desarrolladores que usan Go en todo el mundo, englobando la banca y el comercio electrónico, los juegos y los medios de comunicación, la tecnología y otras industrias, en empresas tan diversas como American Express, Capital One, Dropbox, IBM, Monzo, New York Times, Salesforce, Square, Target, Twitch, Uber y, por supuesto, Google.

Un claro ejemplo es la empresa argentina dedicada a compras digitales Mercadolibre que usa Go para escalar y modernizar su ecosistema de comercio electrónico, mejorar la rentabilidad y los tiempos de respuesta del sistema.

El equipo de desarrollo de MercadoLibre crea y mantiene sus APIs, compatibles con la mayor parte de proveedores en la nube, en base a soluciones de microservicios. Históricamente, la arquitectura de desarrollo de software de la compañía tenía como pilar Grails y Groovy respaldado por bases de datos relacionales. Sin embargo, este gran marco con múltiples capas pronto se encontró con problemas de escalabilidad.

La conversión de esa arquitectura heredada a Go simplificó esas capas intermedias y produjo grandes beneficios de rendimiento. Por ejemplo, un servicio Go ahora puede ejecutar 70.000 solicitudes por máquina con solo 20 MB de RAM.

"Go fue maravilloso para nosotros", explica Eric Kohan, Gerente de Ingeniería de Software en MercadoLibre. "Es muy potente y fácil de aprender, y con la infraestructura de back-end ha sido excelente para nosotros en términos de escalabilidad".

El uso de Go permitió a MercadoLibre reducir el número de servidores que usan a un octavo del número original (de 32 servidores a cuatro), además cada servidor puede operar con menos potencia (originalmente cuatro núcleos de CPU, ahora hasta dos núcleos por procesador).

Con Go, los tiempos de compilación de MercadoLibre son tres veces más rápidos y su conjunto de pruebas se ejecuta 24 veces más rápido. Esto significa que los desarrolladores de la compañía pueden hacer un cambio, luego compilar y probar ese cambio mucho más rápido que antes.

Hoy, aproximadamente la mitad del tráfico de Mercadolibre es manejado por las aplicaciones Go.

Puedes leer más sobre el éxito de MercadoLibre con Go en el siguiente estudio: MercadoLibre crece con Go

Gracias al crecimiento de Go, se ha creado un nuevo centro para desarrolladores de Go: go.dev

Comienza a aprender:


2 comments:

  1. Gracias, Chema. Desconocía el caso de MercadoLibre. Ahora entiendo, como usuaria, el porqué de su exponencial mejora.

    ResponderEliminar
  2. Si, aunque es un lenguaje "joven", cada vez tiene más adeptos.
    Un saludo Moni :))

    ResponderEliminar