Como manda la leyenda, Alex Polvi y Brandon Philips crearon CoreOS en un garaje de madera, a mediados de 2013. Un año después presentaban la primera versión de su contenedor Rocket, y en abril de 2015 una versión comercial que llamaron Tectonic. Habrán sido muy convincentes, porque la flor y nata del venture capital [Accel, Kleiner Perkins, Sequoia y Andreessen Horowitz] ha invertido 20 millones de dólares en su proyecto. El objetivo – dijo Polvi al recibir a un grupo de periodistas en sus oficinas de Mission St. – es «poner la infraestructura de Google al alcance de todos». Suena pretencioso, pero Google Ventures ha contribuído con más millones a su última ronda de financiación.
Este blog ha abordado anteriormente el fenómeno emergente de los contenedores pero no por ello será ocioso refrescar unas nociones básicas. La próxima generación de plataformas de aplicaciones está despuntando ahora mismo, y los contenedores sirven de almácigo. A los desarrolladores, les ofrecen ventajas de simplicidad y flexibilidad, además de velocidad, y les liberan de dependencia con respecto a una determinada plataforma de hardware. Esta suma de rasgos acelera la transición del software clásico hacia el modelo de nube híbrida. La discusión acerca de si algún día los contenedores sustituirán a la virtualización es, y será por mucho tiempo, artificial.
Polvi, sobradamente conocido en el ambiente open source – ha trabajado en Mozilla y Rackspace – y desde Cloudkick, su primera startup, colaboró en proyectos de Google. Fue entonces cuando concibió la idea que ahora se encarna en CoreOS, empresa de la que es CEO dejando a Philips el rol de CTO. Este reparto de papeles determina que el primero dedique buena parte de su tiempo a exponer públicamente su proyecto como alternativa a Docker, hasta ahora considerado el contenedor por antonomasia. Polvi atribuye su ruptura a que la meta de Docker es convertirse en plataforma dominante, lo que ha devenido en una complejidad innecesaria, mientras la de CoreOS es la simplificación.
Esta rivalidad ha alimentado la imagen de un cisma entre dos corrientes nacidas de la galaxia Linux. Sin embargo, el flujo de inversión recibido por una y otra startup indicaría que el fenómeno tiene recorrido, y la influencia de tan poderosos inversores se nota en un acercamiento que propugna la compatibilidad.
«Sí, ha habido mucha tensión en la atmósfera – reconoce Polvi – pero la verdad es que todavía no se han visto iniciativas de producción que no procedan de los proveedores de servicios como Amazon o Google, y más recientemente Microsoft. En nuestra visión, apenas se están dando los primeros pasos hacia un nuevo modelo de infraestructura distribuída, y no sabría decirles cuándo llegará esa influencia a los datacenter convencionales».
Fiel a su papel, Polvi se extendió sobre los orígenes del proyecto. «Inicialmente, la razón por la que Brandon y yo creamos CoreOS era la ambición de mejorar la seguridad de Internet desarrollando un sistema operativo [basado en el kernel de Linux, naturalmente]. Según nuestra tesis la seguridad requiere capacidad de actualización automática; para que un sistema operativo sea capaz de actualizarse por sí mismo, es preciso separarlo de las aplicaciones, empaquetando estas aisladas en un contenedor. Por esto, una de las primeras herramientas que utilizamos fue Docker, que fue muy útil en esa primera fase hasta convertirse luego en un incordio».
Queda claro, según la explicación precedente, que CoreOS se define como un sistema operativo muy ligero, basado en un núcleo Linux con las cualidades de arrancar muy rápido y consumir un mínimo de recursos del servidor. En sus dos años de existencia, la empresa ha lanzado varios elementos que van en esa dirección. En lo que concierne a las aplicaciones, el papel de la tecnología de contenedor conlleva que puedan desplegarse en distintos entornos con la mayor simplicidad. «El principio de un contenedor, tal como lo entendemos nosotros, consiste en disponer de un elemento estándar que pueda ser transportado sin plantear problemas de compatibilidad», remata Polvi.
En ese momento, asoma en su discurso una apreciación metafórica: lo realmente importante no es el contenedor, sino la posibilidad de elegir entre transportarlo por camión o por tren. Esta fue la disyuntiva que llevó a Polvi y Philips a rebelarse contra la hegemonía de Docker y crear Rocket como contenedor alternativo.
En aquella circunstancia, Solomon Hykes, fundador y CTO de Docker, reaccionó agriamente, criticando a CoreOS por quebrantar el principio de que un contenedor tiene que ser intercambiable por otro. Aunque no hay que echar en el mismo saco a Docker (animador de una comunidad de desarrolladores) y Docker (empresa necesitada de un modelo de negocio). Cundió el temor a que cada uno buscara apoyos externos que acabarían por ensanchar las diferencias y provocando desconfianza hacia los contenedores. Últimamente, la hostilidad parece haber remitido: Hykes y Polvi se exhibieron cordialmente juntos al anunciar el nacimiento de Open Container Project, iniciativa que tiene como propósito el producir un lenguaje común para los contenedores, único modo de asegurar su fiabilidad ante el mercado.
Algunos nombres de las compañías que respaldan OCP dicen mucho acerca del porqué de la reconciliación: Google, Amazon, Microsoft [que está implementando la tecnología de contenedor en Windows Server 2016], Intel, que tiene un acuerdo bilateral con CoreOS, Red Hat y VMware [que, sintiéndose amenazada, ha desarrollado su propia alternativa].
Tectonic es una solución comercial asociada a la tecnología Kubernetes, desarrollada por Google que permite orquestar y gestionar un cluster de contenedores y máquinas virtuales. Las aplicaciones cloud de Google, incluído el buscador, funcionan con contenedores gestionados por Kubernetes. Por consiguiente, Tectonic es la primera aproximación de CoreOS a un modelo de negocio hasta ahora invisible, pero inspirado en las prácticas de una de las infraestructuras más potentes del planeta. Habrá que seguir prestando atención.
[informe de Mario Kotler]