¿Cómo llevar Internet al resto del mundo?

La unión de varias tecnológicas, teniendo a Facebook como estandarte, dio como resultado en agosto la presentación de Internet.org (EN), una iniciativa que pretende sentar las bases de los problemas logísticos actuales para llevar internet al resto del planeta.

Internet.org_

Me he tomado mi tiempo, pero tenía ganas de dedicárselo al white paper (EN) de la iniciativa, de 68 páginas, en estricto inglés técnico, y que desvela algunas de las claves para tal titánica acción.

Como es de esperar, y teniendo a Facebook por líder, el documento es un continuo autobombo a los logros de la compañía, pero bien sea dicho de paso que la red social es un ejemplo a seguir en cuanto a optimización, y que a día de hoy quizás sea la mejor guía de buenas prácticas para ahorrar ancho de banda y sacar el máximo partido al hardware con el que contamos.

Así es como, a modo de resumen, dejo por aquí plasmadas algunas de las deducciones a las que han llegado, y que podrían sentar precedente (o al menos abrir camino a futuras implementaciones):

  • HipHop for PHP: Un decompilador (o como diablos debería llamarlo) que transforma PHP en C++. Y es interesante porque partiendo de la hipótesis que los datos suministrados no estén inflados, aseguran que con ello reducen el consumo de recursos hasta un 50%, lo que me lleva a confirmar nuevamente que por mucho que hemos avanzado en lenguajes web, C++ sigue siendo rey y señor de la optimización.
  • HHVM: viene pegado del anterior, y podríamos considerarlo la evolución del mismo. La máquina virtual de PHP en la que corren la mayoría de scripts de facebook, una bestia parda del rendimiento que aseguran es 9 veces más rápida que el uso de PHP convencional. Tenéis por aquí el proyecto de GitHub (EN), que reza algo tal que así:

HHVM is a new open-source virtual machine designed for executing programs written in PHP. HHVM uses a just-in-time compilation approach to achieve superior performance while maintaining the flexibility that PHP developers are accustomed to. HHVM has realized > 6x increase in web request throughput for Facebook compared with Zend PHP 5.2.

  • WebP frente a jpg: De hecho no es nada nuevo para un servidor, que recientemente se lo recomendaba a un compañero TALENTUM que está desarrollando una app con muchísimo contenido gráfico, y quería dar el paso a lenguajes web. El formato WebP de Google (EN) para imágenes comprime las imágenes para servirlas al servidor, con lo que se ahorra casi un 20% de ancho de banda. Ahora cuenten ese 20% por todas las imágenes que tiene una web (o peor, una red social), y tienes un aumento del rendimiento terrible.
  • Air trafic control: otro de los proyectos de la gran F, destinado a servir de herramienta de optimización de renderizado, simulando condiciones de conectividad de cualquier lugar del mundo. De esta manera, puedes calcular procesos de carga y ajustar los frames para conexiones peores que las nuestras, de forma empírica y no mediante cavilaciones.
  • Facebook for Every Phone (EN): un proyecto a medio camino entre lo que es la app oficial, y productos como Wikipedia Zero, que intentan aprovechar todo el amplio conocimiento de redes y características para llevar las herramientas digitales a medios donde no existen infraestructuras necesarias para sustentarlas. Una aplicación de Facebook low cost, tanto de gasto de ancho, como de batería, para terminales low cost, en países en vías de desarrollo.
  • Y por supuesto, la necesidad de infraestructuras que abarquen todo el globo: Una carrera que ya empezó no hace mucho, y que pretende ser uno de los principales caminos a seguir por el resto de tecnológicas (acercar internet al tercer mundo es aumentar tu cuota de mercado, y por tanto, repercute en más dinero). En esta entrada de hace unos meses, hacía un recorrido por los principales proyectos al respecto.