nicosommi

software engineer

posts

slides

about

Un posible futuro de los sistemas operativos es tuSO / yourOS

April 23, 2017
4 min read

Imaginemos que en el futuro, la experiencia al manejar nuestros dispositivos ya no será como los conocemos ahora (sistemas operativos con aplicaciones) sino que serán meros ejecutadores de contenedores con las aplicaciones que elijamos. Imaginemos construyendo un sistema operativo para nuestro smartphone, justo con lo que necesitamos. Imaginemos una real democratización de nuestras elecciones, de los recursos que las aplicaciones utilizan, de nuestra privacidad. Imaginemos pagar un juego, una canción u otra obra tan sólo vez para todos nuestros dispositivos. Imaginemos... de eso es este post

Hace un tiempo vengo estudiando acerca del futuro que tendrán los Sistemas Operativos (incluso comencé un post que nunca publiqué allá por septiembre de 2016). Imagino el futuro de los SO distinto, manteniendo su sentido escencial (seguirán administrando el uso del hardware), cambiando sustancialmente nuestra forma de experimentarlo. Más precisamente pienso esto muchísimo desde que conocí Docker hace ya casi 2 años. Esta nueva capa de abstracción nos permite ver a nuestro sistema operativo como un conjunto de contenedores que ejecutan aplicaciones que, a su vez, también son contenedores.

Imaginemos correr una aplicación sin instalar, directa o indirectamente sus librerías, y sin conocer como configurarla. Imaginemos correr aplicaciones que no podrán acceder a nada (ni siquiera a a los archivos, puertos, etc) de nuestro sistema principal salvo que nosotros lo autorizemos explícitamente. Todo eso ya existe utilizando docker de manera manual, y se utiliza en servidores de aplicaciones y servicios en la nube. Requiere conocimientos específicos que sólo los que estamos sumergidos en el tema conocemos. Pero imaginemos todo eso en la cotidianeidad del usuario final, usando ya sea nuestro smartphone, tablet, pc de escritorio o cualquier dispositivo inteligente, con suerte hasta incluso consolas de videojuegos, de manera transparente. Imaginemos que nuestros dispositivos sólo sean interfaces de un SO a medida, que siempre es igual y se adapta a los mismos.
Imaginemos tener servicios de aplicaciones en nuestros otros dispositivos o en la nube de manera transparente.
Imaginemos administrar las aplicaciones desde cualquier dispositivo.
Imaginemos comprar aplicaciones, canciones, juegos, y de todo tipo, que corran en todos nuestros dispositivos.
Imaginar... eso es Moby y Linuxkit (ver más adelante), impulsados en gran medida por Docker.

Al principio lo veía utópico, pero en parte me sentía reconfortado porque había personas importantes en la industria que también lo pensaban.
Por ejemplo, Steve Francia (creador de hugo, ex de Docker ahora en Google) lo expresó alla por el año 2015 aunque más orientado a aplicaciones distribuidas.
Aun más cercanos a mis reflexiones de llevar los contenedores a dispositivos pequeños, están los ex "docker pirates ARMados con cosas explosivas".

Ya no lo veo tan utópico o descabellado. Sobre todo desde que liberaron linuxkit (un set de componentes basados en linux) hace pocos días, en conjunto con el ya existente proyecto Moby, que es una gran iniciativa de la compañía que persigue la idea de empujar el movimiento de los contenedores que tan fuerte viene evolucionando.

Con Linuxkit y Moby podemos construir un sistema operativo juntando componentes, al estilo "Lego", como ellos dicen. En la Dockercon 2017 demostraron en vivo, luego de liberar linuxkit, como construir un sistema operativo de Redis (una base de datos key value) con lo mínimo indispensable. Esta es la tendencia que confirma que mis pensamientos son muy posibles.

Si bien hay muchísima evolución por delante como para ser aplicada al usuario final (para ser "user friendly"), creo que cuando un camino es mejor, es inevitable, ya que beneficia negocios y personas. Quizás el primer paso sea que los mayores SO actuales adopten una arquitectura basada en contenedores, para así abrir camino hacia un futuro en el cuál ellos mismos luego pasen a ser proveedores de distintos contenedores de interfaz de usuario, por ejemplo, o paquetes de oficina, stores de aplicaciones/contenedores, etc.

Otra aplicación muy interesante es la que ya se está dando en dispositivos como raspberry pi y todo lo que es internet de las cosas (IoT), ya que tener un SO mínimo es muy conveniente para aplicaciones especializadas como estas. Cabe destacar que ya hay soporte para ARM además de x86 (gracias al esfuerzo de los docker pirates de hypriot! http://blog.hypriot.com/about/)

Con respecto a los móbiles, bien se podrían comenzar proyectos de controladores de hardware que ejecuten indistintamente aplicaciones de Android y iOS, lo que en el futuro incluso dispararía versiones más óptimas de las mismas, permitiéndoles utilizar lenguajes de su elección. También dispararía la componentización y por ende democratización de estos sistemas operativos, que hoy tienen un comportamiento por demás abusivo en cuanto a privacidad.

Muchas veces se me ha ocurrido de manera errónea intentar ejecutar docker desde android. Eso sería oportuno para solucionar rápidamente inconvenientes de hoy en día, pero Moby en conjunto con linuxkit, u otro conjunto de contenedores básicos nos brindan que pueda surgir, un Ecosistema mucho más natural para estos dispositivos. Es importante destacar que ya existe una lista de sistemas operativos mínimos en desarrollo activo. Esto sin duda dejará para la comunidad, bloques para utilizar, que como consecuencia beneficiarán estas ideas.
Yo por mi cuenta, espero ser más y más activo en esta comunidad de contenedores.

Habrá resistencias de intereses privados por mucho tiempo, pero como la historia reciente lo marca, si el movimiento es firme, ellos terminarán ahogados por la ola de los cambios y los nuevos emprendimientos que allí los lleven.

Saber que los sistemas operativos puedan ser un conjunto de pequeñas cosas que tengan una simple responsabilidad, para que todos podamos tomar elecciones basadas en nuestro propio juicio, sabiendo a que nos atenemos, y así construir de manera consciente nuestro propio "Castillo" personal de aplicaciones.

Se trata de una opinión y también de un deseo personal.

Imaginemos.

nico
Copyright by nicosommi 🤓