Virtualización, cloud, contenedores, ¿hay vida después del serverless?

Virtualización, cloud, contenedores, ¿hay vida después del serverless?

De la virtualización al cloud

El cloud computing ha revolucionado el mercado de las TIC en las últimas décadas, algo que inicialmente comenzó como meramente anecdótico y parecía que sólo iba a mejorar y abaratar los entornos de desarrollo y preproducción de muchas empresas, como fue la virtualización de servidores. Acabo desencadenando en una tendencia generalizada que se extendió como la pólvora en empresas de todo tamaño y condición como fue la consolidación masiva de data centers.

Los objetivos de esta tendencia estaban principalmente vinculados a la capacidad de las empresas de optimizar su capacidad operativa y contención del gasto, en relación a las partidas de opex como eran el alquiler de espacio, consumo e inclusive mantenimiento de plataformas hardware.

Los primeros miedos e inquietudes de las nubes

Este proceso de adopción no ha sido ni mucho menos masivo hasta hace relativamente pocos años, probablemente lleve hablando de cloud desde hace más de una década, pero aún así he visto muchísimos cambios en la industria con las preocupaciones iniciales relativas a la seguridad, estabilidad o inclusive rendimiento de estas plataformas.

El péndulo TI en busca de la eficiencia

Después de la virtualización, los grandes consumidores de recursos TI, esos que hemos denominado en llamar Hyperscalares, es su ansia de seguir optimizando al máximo sus recursos optaron por seguir buscando nuevas alternativas capaces de mejorar los ratios económicos, el performance y los límites máximos que su plataforma IT actual les proporcionaba. Para ello llegaron los contendores, pequeñas piezas de software virtualizado capaces de necesitar muchos menos recursos que las máquinas virtuales, y origen de la programación basada en microservicios.

Arquitecturas serverless, la cresta de la última ola

Hace ya casi cinco años, Amazon Web Services, hizo publico el ultimo paradigma de la evolución tecnológica en lo que a los servicios gestionados se refiere. AWS Lambda o la programación orientada a funciones.

Qué son las arquitecturas serverless

Como evolución de los servicios gestionados. las arquitecturas serverless, son el sueño de muchos programadores de aplicaciones, una función como servicio. Básicamente, sólo debemos programar la lógica que debe ejecutar la función, definiendo los parámetros de entrada, el procesado de dicha información y donde se depositan los resultados de salida.

Seguramente no toda lógica de negocio pueda programarse en base a funciones, ni muchos de los sistemas empresariales o de lógica de negocio se puedan sustentar por dicho modelo, pero al fin y al cabo son una alternativa más a las ya disponible en el mercado. Así que, llegados a este punto, sólo queda una posible pregunta.

¿Hay vida para los servicios TI más allá del serverless?

Pues si parece ser que sí, aquí os dejo cuatro de las principales iniciativas que se están desarrollando en estos momentos.

Unikernels

Unikernels es una tecnología muy interesante para entornos Cloud native cuyo objetivo es optimizar aún más si cabe el uso que hacen las organizaciones las organizaciones de los contenedores.

Como podéis imaginar, Unikernels es una versión mucho más refinada de los propios contendores, donde se pone todo lo necesario para ejecutar una aplicación (incluidas las bibliotecas del sistema operativo) en un paquete portátil, y excluyen todo lo demás. En otras palabras, un unikernel contiene solo los bits necesarios para ejecutar una aplicación específica. Eso los hace aún más livianos y más seguros que los contenedores Docker.

Los Unikernels también son teóricamente ultra portátiles ya que incluyen todo lo que necesitan para arrancar por sí mismos, independientemente del hardware donde se ejecuten. Aunque de momento sólo se ha probado su desarrollo sobre Xen Server.

Actualmente el proyectos con más desarrollo alrededor de los Unikernels es MirageOS.

AIOps

Acrónimo de AI Operations, o en español, operaciones de la inteligencia artificial es un concepto tecnológico genuinamente innovador que vale la pena observar de cerca.

La premisa principal de AIOps es automatizar el trabajo que tradicionalmente realizan los equipos de Operaciones de TI. En lugar de depender de ingenieros humanos para descubrir por qué un servicio de aplicaciones se ha ralentizado, o para identificar la causa raíz de un fallo del sistema, las herramientas AIOps pueden usar datos para interpretar el problema y luego solucionarlo automáticamente.

Estas promesas parecen que ya se han comenzado a hacer realidad, sin ir más lejos muchos de los servicios cloud ya ofrecen esas capacidades. Y para muestra un botón, sino que mejor que referenciar a la base de datos autónoma de Oracle. La cual ya realiza funciones avanzadas de parcheo, copias de seguridad y auto-tunning.

El gran reto es automatizar las operaciones TI extremo a extremo de cualquier empresa, pero hay muchos proveedores tecnológicos que ya han comenzado hace años a trabajar en ellos, muestra de esta tendencia son IPSoft o Cogniziant.

Hands-off Containers

Inicialmente, los despliegues basados en contenedores, principalmente Docker, requerían de mucho esfuerzo para su administrar. Gracias a la llegada de herramientas de orquestación como Kubernetes se simplificaron en gran medida las tareas de gestión, aunque con todo y con eso ron algunas lagunas que los ingenieros tuvieron que abordar a mano.

Ya hemos visto de la mano de los principales proveedores de cloud como han comenzado a evolucionar sus servicios para disponer de servicios PaaS de Contenedores gestionados, ¿pero ¿cuál es el siguiente paso en la gestión de estos entornos?, iniciativas como KNative, facilita la integración de Kubernetes y las metodologías CI / CD. Knative proporciona un conjunto de componentes de middleware esenciales para crear aplicaciones Cloud native. De este modo, los desarrolladores se pueden centrar en escribir código sin tener que preocuparse de la compilación, despliegue y gestión de aplicaciones.

Broader Serverless Support

Las funciones, o los famosos servicios de Serverless, son excelentes para ejecutar código de una manera altamente escalable y rentable, y facilitan la administración de la infraestructura. Sin embargo, la mayoría de los servicios actuales tienen dos principales pegas hasta el momento: la primera y cada vez más preocupante es el vendor locking y la segunda es la limitada variedad de lenguajes de programación soportados.

Las buenas noticias es que la comunidad de software libre dispone de iniciativas Serverles, como son Fn Project Open FaaS. Capaces de corres en entornos on-premise y/o seguro que en breve en proveedores de nube pública.

Conclusiones

A día de hoy parece que las alternativas alrededor de las aplicaciones Cloud native son muchas, parece que el desarrollo de este tipo de aplicaciones está garantizado, el siguiente paso debería ser el de la gestión del dato y como las bases de datos han de evolucionar hacia este nuevo modelo.

3 comentarios sobre “Virtualización, cloud, contenedores, ¿hay vida después del serverless?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *