7 formas en que la nube está cambiando

1
30
Custom Text

La palabra «nube» es una de esas palabras nebulosas que la gente despliega con firme convicción. Cuando los políticos se ven en un aprieto, les gusta decir que la solución a un problema es más «educación». Los médicos lanzan la palabra «descanso». Y desde hace una década o más, todo el mundo en la tienda de informática, desde el becario hasta el CIO, sabe que la respuesta correcta a cualquier pregunta es «la nube».

La palabra, sin embargo, esconde una gran complejidad y confusión porque ha significado muchas cosas diferentes a lo largo de los años. Antes de que se adoptara la palabra de moda, las empresas de mainframe vendían sistemas de multipropiedad. Las primeras empresas de colocación alquilaban cuentas en servidores Unix. Empresas como America Online ofrecían servicios de almacenamiento y computación similares a la nube bajo la apariencia de entretenimiento.

Esta evolución ha continuado incluso después de que se coronara la palabra. Las primeras ofertas no eran más que docenas de máquinas virtuales delgadas que funcionaban en servidores gordos. Podías fingir ser root aunque su instancia fuera una fracción minúscula de la máquina. Luego, los servidores FTP fueron rebautizados como buckets y dropboxes. Desde entonces, los servicios han explotado y las letras «aaS» se han convertido en el sufijo favorito de los creadores de acrónimos.

La evolución continúa y cada novedad hace que los usuarios de la nube se replanteen qué quieren alquilar y qué esperan obtener por su dinero. Muchas de ellas son ideas redescubiertas que se han vuelto a empaquetar y a promocionar. Muchas son soluciones inteligentes que resuelven los problemas creados por la última generación de soluciones. Todas ellas nos dan la oportunidad de mirar lo que estamos construyendo y, en palabras del poeta, «hacerlo nuevo de nuevo».

He aquí siete formas importantes en las que la nube está innovando y evolucionando.

Granularidad que ahorra dinero
La primera generación de computación sin servidor vino con unidades de computación relativamente grandes. AWS Lambda, por ejemplo, comenzó redondeando todas las llamadas a 100ms. Los programadores aprendieron rápidamente que estaban pagando la misma cantidad de dinero por un sabor rápido y simple de computación o uno que era tal vez 20, 30 o incluso 100 veces más grande. Si no eran tan cuidadosos o tan despiadadamente eficientes, no importaba. La factura era la misma.

Esa libertad perezosa ha desaparecido. A medida que compiten más y más plataformas sin servidor, el tamaño del grano más pequeño de computación es cada vez más pequeño. AWS acaba de dejar de redondear a 100ms y ha empezado a facturar en incrementos de 1ms. Ahora limpiar su código y vigilar los desvíos lentos se reflejará en una factura más baja.

Una dieta para el sistema operativo
El sistema operativo moderno es una maravillosa máquina de Rube Goldberg diseñada para hacer malabarismos con los bits para los trabajos de impresión, los videojuegos, la edición de documentos y un billón de otras tareas. ¿Se ha preguntado alguna vez por qué arrancaba sus instancias en la nube con todo el código preparado para manejar estas tareas?

Los unikernels son una forma de eliminar toda esa complejidad. Una vez que el código se ejecute, el compilador construirá un paquete mucho más pequeño que vivirá sobre el hipervisor estándar. Los defensores no solo celebran la eficiencia de dejar de lado todas esas bibliotecas adicionales, sino que señalan que la superficie de ataque es mucho más pequeña, lo que hace que sean más fáciles de asegurar.

¿O por qué no obtener su sistema operativo mínimo directamente de AWS o Google? El Container-Optimized OS de Google y el Bottlerocket de Amazon aplican el paradigma de virtualización tradicional al sistema operativo, con contenedores como sistema operativo virtual y un Linux mínimo que desempeña el papel de hipervisor. Brillan por envolver microservicios que hacen una pequeña cosa, sin apoyarse en gran parte de la funcionalidad del sistema operativo.

Funciones de código abierto
Otra forma de simplificar el trabajo de despliegue en la nube es dejar que los desarrolladores escriban una función sencilla y dejar todo el resto del trabajo a la propia nube. En los últimos años, todas las principales nubes dieron a conocer sus propias herramientas que permiten que un pequeño fragmento de código, una sola función, tome algunas decisiones y procese algunos datos. Fueron avances maravillosos, sobre todo para las personas que reunían muchos servicios en un gran producto.

El único inconveniente era la dependencia del proveedor. Aunque las funciones podían escribirse en muchos lenguajes, la interacción con el marco de trabajo era propietaria. Ahora hay una serie de interesantes proyectos de código abierto -OpenWhisk, OpenFaaS, Kubeless, Knative, Fission- que llevan las funciones como servicio a cualquier máquina de su elección. Puede leer sobre todas estas opciones de FaaS aquí.

Chips de Arm
No son solo para los amantes de la Mac. Amazon tiene una línea de servidores con sus propios chips Gravitron con núcleos Arm que prometen ser un 40% más baratos de ejecutar. Por supuesto, hay algunas advertencias. Tiene que recompilar sus ejecutables para que funcionen en la plataforma Arm, a menos que trabaje en lenguajes de alto nivel como Java, JavaScript (Node.js) o PHP (Drupal, WordPress, etc.).

La determinación de si verá un gran ahorro dependerá en gran medida de la naturaleza de su cálculo y de la carga. Algunas pruebas de referencia sitúan a las máquinas Gravitron en el mismo rango general que las máquinas originales basadas en Intel. Otros sugieren que las instancias basadas en Arm son un poco menos capaces, por lo que son más apropiadas para ejecutar código poco usado que puede disfrutar del ahorro de costos sin que se ejecute durante más tiempo.

¿Debería hacer el cambio? La única forma de averiguarlo es probando sus propias cargas de trabajo en entornos cercanos a la producción para ver si pueden disfrutar del ahorro.

Bases de datos que lo hacen todo
Hace mucho tiempo, los programadores de Fortran veían cómo éste añadía una nueva y emocionante función tras otra y bromeaban diciendo que no sabían cuál sería el lenguaje de programación del futuro, pero que se llamaría «Fortran». Hoy en día, podría decirse lo mismo de las bases de datos, la microfunción original como capa de servicio. Hace tiempo, las bases de datos almacenaban tablas rectangulares. Ahora lo hacen casi todo.

Los desarrolladores están empezando a darse cuenta de lo mucho que hay bajo el capó. PostgreSQL 11, por ejemplo, tiene su propio JIT para compilar consultas, y sus funciones integradas tienen ahora la capacidad de confirmar o revertir transacciones. La base de datos habla JSON, por lo que es más fácil que nunca construir un microservicio completo sin salir de los límites de la base de datos.

Otras bases de datos, como Azure Cosmos DB, combinan SQL, MongoDB, Cassandra y API de gráficos. Otras, como Firebase de Google, ofrecen la oportunidad de almacenar los datos y entregarlos a los clientes mediante la replicación. Combinan la distribución con el almacenamiento. Hay docenas de nuevas bases de datos como éstas que aportan nuevas funcionalidades al término básico y utilitario de «base de datos».

Nuevas funciones para las aplicaciones ofimáticas
Las cuadrículas llenas de números, letras y fórmulas son la lengua franca de los contables y gestores, no de los codificadores; pero cada vez se respetan más como formato de archivo inteligente y como forma de abrir la nube a las masas. El movimiento «sin código» está dejando de lado a los programadores y se dirige directamente a los macrojockeys con herramientas que convierten las hojas de cálculo en aplicaciones. Google, por ejemplo, ha presumido de que una empresa ha creado y desplegado más de 35 aplicaciones empresariales «sin conocimientos de programación» utilizando AppSheet.

No se trata solo de la hoja de cálculo. Todo el conjunto de aplicaciones ofimáticas es ahora el hogar de cada vez más aplicaciones personalizadas que hacen funcionar una empresa. En lugar de crear y desplegar aplicaciones en instancias independientes, algunos programadores están creando aplicaciones que se integran con los procesadores de texto, los creadores de presentaciones de diapositivas y otras herramientas genéricas en los universos de Google o Microsoft. Cuando las conexiones están ahí, se facilita la vida a todos los miembros de la empresa que pasan la mayor parte de su tiempo haciendo malabarismos con los documentos y el correo electrónico.

Computación en el borde
La nube sigue evolucionando al llevar cada vez más potencia de cálculo a los bordes de la red. Empresas como Cloudflare fueron en su día cachés tontos. Ahora ofrecen servicios de computación inteligentes. Cloudflare Workers ejecuta código JavaScript, Rust, C o C++ en uno de sus más de 200 centros de datos situados lo más cerca posible de los usuarios. También hay bases de datos locales.

El servicio AWS for the Edge de Amazon ofrece una oportunidad similar para acercar el código a los usuarios. Los que utilizan los servicios de aprendizaje automático de Amazon SageMaker pueden sacarlos de los principales centros de datos y llevarlos a los bordes. Amazon está haciendo hincapié en su conexión con las emergentes redes celulares 5G, sin duda esperando que los dispositivos móviles pasen de ser consumidores ocasionales de datos caros, a ser los principales portales a través de los cuales la gente hará la mayor parte de su navegación por Internet.

Azure IoT Edge de Microsoft se dirige a la explosión de dispositivos con funciones que dependen de la nube. El servicio Custom Vision, por ejemplo, lleva la computación de borde a todas las florecientes redes de cámaras.

Hay docenas de ejemplos como éste que se están desarrollando a medida que la nube crece y se insinúa en todas partes. La nube se limitaba antes a una colección centralizada de edificios de colocación de datos con instancias alquilables, pero ahora se está trasladando a la red. ¿Y después? ¿La Internet de las cosas? ¿El horno inteligente de la cocina? ¿Las computadoras de nuestros autos?

Si la computación en la nube no fuera tan útil, sería tentador desplegar metáforas de ciencia ficción como el Blob o el Borg. Pero mientras sea más fácil alquilarla que poseerla, la nube será adoptada por cualquiera que necesite computadoras y almacenamiento de datos para llevar su empresa adelante.

Peter Wayner InfoWorld.com – CIOPeru.pe

Artículo anteriorGoogle gana el litigio sobre Java, Oracle sigue desafiando
Artículo siguienteMicrosoft presenta su propia distribución de Java

1 COMENTARIO

Comments are closed.