¿Cómo de grande es el código de Google?
Hay muchas formas de definir el tamaño de una compañía pero sin duda el tamaño del código de Google es uno de los mejores parámetros para saber su grandeza
16 septiembre, 2015 21:08Cuando hablamos del tamaño de una compañía hay muchas formas de medirlo. Algunos factores que determinan el tamaño de una empresa son su número de clientes, su capacidad de influenciar o los beneficios que tiene la empresa en si.
El caso de Google no es así puesto que, a pesar de ser una empresa tradicional y poder utilizar todos estos parámetros, su principal negocio es el software, por lo que podemos contestar a esa pregunta refiriéndonos a la cantidad código que utiliza.
El código de Google: dos mil millones de líneas
Durante una conferencia de ingenieros celebrada en Sillicon Valley el lunes de la semana pasada, Rachel Potvin mencionó que el conjunto de todos los programas y servicios de Google está formado por aproximadamente unos dos mil millones de lineas de código. En esta estimación se incluyen absolutamente todos los servicios de la gran G, desde su motor de búsqueda hasta Gmail.
Estos datos son sin duda alguna abrumadores. Para hacernos una idea, el sistema operativo de Microsoft, Windows, que lleva en desarrollo desde la década de 1980, cuenta con «tan solo» 50 millones de lineas de código.
Según Potvin cree, el repositorio de Google es el más grande del mundo, lo cual no nos resulta para nada disparatado puesto que los dos mil millones de líneas de código están todos en un mismo repositorio.
Este repositorio es solo accesible por los desarrolladores de Google, aproximadamente unos 25.000, una cifra que también sirve para demostrar el tamaño de la compañía.
El Github combinado de Google
La idea por la cual Google quiere que todas estas lineas de código se encuentren en un mismo sitio es para facilitar el trabajo a sus desarrolladores. Mientras que en Github encontramos millones de lineas de código en diferentes proyectos, la herramienta utilizada por Google permite a los desarrolladores contar con una cantidad de librerías inimaginable, lo cual hace que su trabajo sea mucho más sencillo.
Esto permite también que cuando uno de los desarrolladores hace un cambio en uno de sus servicios, este servicio se extiende por todos los demás servicios de Google, actualizando todo de forma sencilla.
Pero como es lógico no todos los empleados tienen acceso a todo el código detrás de Google. Tras determinados algoritmos que son de especial delicadeza solo se encuentra un número muy reducido de empleados.
85 terabytes de datos y más de 45.000 cambios al día
Y sabiendo la cantidad de lineas de código que existen tras Google y sus servicios mucha gente estará preguntándose ¿Cuánto espacio ocupa todo esto?
Bien, pues según hemos podido saber, todo esto ocupa aproximadamente unos 85 TB de espacio. Además, los 25.000 ingenieros que trabajan para Google realizan más de 45.000 cambios diarios en el repositorio de la compañía.
Por otro lado, encontramos que para que los desarrolladores no se pisen los unos a los otros Google utiliza unos bots que se aseguran de que estos cambios no se pisoteen entre ellos. Estos bots no escriben código, pero si que generan una gran cantidad de datos y configuran archivos necesarios para correr el software de la compañía.
Una herramienta de Google para todos
Las herramientas usadas por Google son a día de hoy exclusivas de la compañía, pero es más que probable que dentro de no mucho tiempo se libere una versión con la que todos podamos jugar.
Google está buscando ofrecer esta herramienta, Piper, de forma que todos podamos utilizarlo. Según Potvin, para ello están utilizando un sistema llamado Mercurial para basar su sistema distribuido de versionado de código y poder compartirlo con todos los usuarios posibles.
Por supuesto todos estos datos pueden parecernos tremendamente abrumadores pero lo cierto es que conforme avanzamos en la era informática más y más servicios dependerán de cantidades de lineas de código inmensas. ¿Qué os parecen estos inmensos datos que nos ha dado a conocer Rachel Potvin?