La re-evolución del cloud - BABEL Sistemas de Información
Saltar al contenido
También puedes escuchar este post en audio, ¡dale al play!

La nube, entendida como un fenómeno tecnológico, es uno de los casos más interesantes de evolución en las últimas dos décadas, porque representa perfectamente la capacidad de adaptación de las compañías que han crecido gracias a la innovación continua. En este post analizamos el momento actual de las tecnologías cloud y cómo las organizaciones estamos cambiando hacia un paradigma de operación que las convierta en Organizaciones Nativas en la Nube, comenzando con un breve recorrido por su evolución.
 

Infraestructura as a Service

La fase inicial de la nube se caracteriza por la transformación en servicio de la infraestructura (IaaS), donde cualquier organización puede acceder remotamente y a través de una consola (posteriormente a través de APIs y SDKs) a la infraestructura necesaria para diseñar su plataforma, pagando por el uso de los recursos y tiempo utilizado.

Fue la primera gran revolución que introdujo el cloud, y daba oportunidades a pequeñas compañías con pocos recursos para empezar sin necesidad de comenzar con grandes inversiones para provisionamiento del hardware. Naturalmente, la otra gran ventaja era la posibilidad de devolver estos recursos de infraestructura si la compañía (o la línea de negocio) no tenía éxito.

Durante esta etapa del IaaS, las motivaciones principales de las organizaciones fueron el uso elástico del hardware, lo que se traduciría en ahorros de coste por no tener que estar sobredimensionados en capacidad, y el acceso inmediato a los recursos.

Durante esta fase tuvimos que aprender a gestionar infraestructura de forma remota y gestionar el riesgo asociado a la seguridad y privacidad. También es el momento en el que faltaba equipo cualificado, si bien esta carencia se mantiene hasta la fecha.
 

Plataforma como servicio

En la siguiente fase los proveedores de cloud continuaron servitizando nuevos servicios como bases de datos, servidores de aplicaciones, motores de integración, etc. De nuevo se extrae el valor de estos sistemas y se les despoja de las actividades que aportan menos valor para el usuario, como la administración y mantenimiento del software base y de la infraestructura que lo soporta.

Son los primeros servicios gestionados que forman parte de un conjunto de bloques de construcción que se conocerían como Plataform as a Service (PaaS).

La nube en esta fase da un salto importante de innovación, dejando la primera etapa muy basada en la virtualización hacia una orientación pura de servicio, donde la figura del administrador del sistema comienza a perder funciones a favor de la autonomía del ingeniero cloud.

 

La nube como ecosistema

En esta tercera fase las nubes públicas, después de haber servitizado los recursos de software más habituales comenzaron a proporcionar servicios para resolver problemas más específicos, creando un ecosistema de pequeños ‘bloques de construcción’ que hace que diseñar un sistema, se pareciera realmente a ensamblar una construcción modular. El proceso detrás del lanzamiento de cada nuevo proceso es similar a los anteriores, se separa la utilidad neta del recurso (notificaciones, emails masivos, transcodificación de vídeos, análisis de imágenes, etc.) y se ocultan las tareas de mantenimiento y configuración del software base y de la infraestructura subyacente.

Esta oferta tan amplia hace que roles como los administradores de sistemas se reciclen como ingenieros cloud, especializados en el catálogo de servicios. Para las organizaciones implica a su vez decidir en qué dirección va su estrategia cloud: hacía un modelo PaaS, donde se aprovechan las ventajas y rapidez apalancándose en servicios gestionados al tiempo que aumenta el acoplamiento al proveedor cloud, o, por el contrario, hacia un modelo que favorezca la independencia del cloud, utilizando soluciones que funcionen sobre cualquier infraestructura.

La nueva oferta de servicios se centró en los siguientes ámbitos:

  • Gestión de datos. Las nubes públicas posicionan su capacidad elástica y casi infinita, para resolver el tratamiento de los datos con soluciones para la gestión del ciclo de vida del dato, desde la ingesta y transformación, hasta la explotación y visualización.

  • Inteligencia artificial. Poner en disposición soluciones de inteligencia artificial, ya sea a través de herramientas especializadas para desarrollar modelos propietarios (hardware específico y soluciones de deep learning), o servicios en forma de API que facilitan el acceso a los casos de uso más generales, como son el tratamiento del lenguaje natural o el reconocimiento de imágenes.

  • Al tiempo que facilitan la automatización del proceso de construcción, despliegue y operación por medio de herramientas nativas que cubren el ciclo de vida devops. Estas herramientas permiten orquestar todas las tareas con la idea de que el ciclo completo tenga lugar en la nube y así sacar el mayor número de sinergias posible. Por ejemplo, Microsoft integró Visual Code dentro de Github para poder desarrollar directamente desde el navegador.

Esta fase sigue desplazando fuertemente la oferta hacia el desacoplamiento entre la utilidad y la infraestructura, dando a los desarrolladores acceso directo a la utilidad y convirtiéndolos en protagonistas de esta nueva era. Con la llegada de la Infraestructura como código (IaC) todo puede ser descrito en un fichero, asociado al repositorio de código fuente junto con el resto de la aplicación. Los desarrolladores y los arquitectos cloud pasan a tener un rol decisivo, y sus decisiones técnicas tienen consecuencias en la factura cloud.

En este momento, la discusión ya no trata sobre si las organizaciones deben o no ir al cloud, si no cuál debe ser su estrategia de adopción.
 

El multi-cloud

Los servicios que componen la capa PaaS son el intento de los proveedores de las nubes públicas por mantener su diferenciación, ya que están viendo como la capa del IaaS está sufriendo el proceso de comoditización, a través del cual la variable principal de competencia es el precio, ya que se ha alcanzado un nivel óptimo de calidad entre todos los proveedores y la oferta es casi intercambiable. Este proceso es consecuencia de la presión por la alta competitividad y la demanda de los clientes por aumentar la estandarización para minimizar este vendor lock-in.

En este momento, las organizaciones con mayor exposición al cloud empiezan a prestar más atención a los siguientes riesgos: la dependencia con el fabricante (lo cual influye en la atadura a nivel de costes y de estabilidad de su infraestructura), la complejidad de gobierno y operación (incluida la dificultad para gestionar el gasto en la nube) y la seguridad (las cargas de trabajo aumentan el perímetro y cada vez hay más equipos trabajando en este entorno).

El multi-cloud es una topología de infraestructura en la que los recursos y servicios se encuentran repartidos entre varios proveedores. Existen varias modalidades de multi-cloud, desde aquella que despliega cargas de trabajo independientes en varias nubes y simplemente se conectan a nivel de transferencia de datos (también conocida como intercloud), hasta el modelo más integrado en el que cualquiera de las cargas de trabajo podría desplegarse en cualquiera de las nubes.

El multi-cloud completo, hoy en día, presenta grandes retos cuyo esfuerzo de resolución seguramente no compensen sus beneficios. Cuestiones como una seguridad unificada, una portabilidad a todos los niveles (computo, red y almacenamiento), un panel de control único, una visión operativa homogénea (con una monitorización integrada) todavía requieren de un esfuerzo y combinación de soluciones que todavía está lejos de la simplicidad y facilidad de gestión que tienen las soluciones cloud centralizadas de los hyperscalers.
Con la llegada de las plataformas de virtualización basadas en contenedores, que están adoptando todos los fabricantes, se empiezan a ver soluciones que posibilitan a los clientes una estrategia multi-cloud: desde las soluciones propietarias de las nubes (Azure ARC, AWS OutPosts, etc.), fabricantes independientes (VMWare, Openshift) o propuestas open source (OpenNebula, OpenStack, etc.).

Dentro del multi-cloud, y gracias a la estandarización de la capa de plataforma, los modelos híbridos están recuperando interés para poder aprovechar las bondades del cloud privado: control pleno de la infraestructura (pudiendo diseña soluciones más personalizadas que las que ofrecen los hyperscalers), control de costes (mayor predictibilidad y menos sorpresas), mayor privacidad y control sobre la información.
Y dentro de la categoría de nube híbrida aparece también el concepto de cloud edge, que permite llevar la gestión integral también a la infraestructura desplegada en el lugar dónde ocurre la acción (Edge), permitiendo así procesar la información cerca de donde se genera, desacoplándose de un sistema central, y mejorar la latencia. La revolución de los contenedores y Kubernetes llega también al Edge con iniciativas cómo KubeEdge, Azure Stack Edge, o MicroK8s on Ubuntu Core.

 

Cultura cloud

En la fase actual, el cloud se convierte en una cultura que cambia la forma de trabajar de la organización. Con la tecnología actual, prácticamente todo el ciclo de la cadena de valor de una organización puede ser medido y analizado en la nube. Este control fino permite diseñar nuevos formatos de gestión propios de los retos a los que se enfrentan las organizaciones. Por ejemplo, podemos hacer más sensibles a los equipos de ingeniería sobre el impacto en el medio ambiente que provocan diseños técnicos, ser más conscientes de lo que cuesta un dato (su tamaño y longevidad), o incluso a medir la carga cognitiva (la cantidad de información que deben retener en su memoria de trabajo para realizar una actividad) que están soportando los equipos y que afecta a su rendimiento, cómo alerta para reorganizar los equipos de forma diferente, tal y cómo comentan Matthew Skelton y Manuel Pais en su libro “Team Topologies”.

A estas compañías que se han adaptado a la flexibilidad y micro-gestión que permite la nube se las conoce como nativas en la nube y se caracterizan principalmente por:

  • Se organizan en equipos que tienen la responsabilidad completa sobre una parte (línea de servicio, producto o característica) que aporta su propio valor de negocio, el cual puede ser cuantificado y asignado cómo ingreso al equipo. De esta forma, el equipo multidisciplinar puede ser plenamente responsable sobre sus decisiones, cuyas consecuencias (en gastos e ingresos) son ahora atribuibles. El nivel de atomicidad que nos proporciona el cloud permite este tipo de asignaciones. Así, el equipo puede decidir (teniendo en cuenta la estrategia del negocio, que forma parte del equipo) dónde aplicar su esfuerzo (por ejemplo, en optimización de costes o en crecimiento de mercado).

  • Adoptan un modelo de mejora continua aprovechando que todo en cloud es medible. Asumen un estado de búsqueda constante del equilibrio, mediante el movimiento, ya que no existen soluciones perfectas ni definitivas. En lugar de buscar la solución arquitectónica definitiva, las organizaciones buscan aquellas que le permitan la mayor adaptación a futuro, como, por ejemplo, arquitecturas distribuidas donde cada elemento tiene su responsabilidad y su independencia permitiendo que el conjunto sea más flexible.

  • Llevan la automatización hasta el extremo. El cloud permite que cada activo de la compañía sea respaldado en código y, por tanto, automatizable por programación. La automatización es lo que permitirá aumentar la eficiencia operativa, mejorar la calidad del servicio al cliente y aumentar la resiliencia, desacoplando el crecimiento del negocio del tamaño de los equipos de ingeniería.

  • Son conscientes de la importancia de la innovación como palanca para la diferenciación y por tanto distanciamiento de la competencia. La cultura de experimentación se lleva a los equipos de producto y plataforma, quienes ahora pueden lanzar cambios en producción, medir su impacto y rectificar aprovechando el control fino que proporciona el cloud.

 
Estas organizaciones operan en la nube pero son agnósticas a estas. Diseñarán sus sistemas para sacar el mayor provecho de cada infraestructura y de los bloques de construcción disponibles en los PaaS.


¿…y la seguridad?

La seguridad de los activos en cloud ha sido una de las grandes olvidadas en todo este camino. Muchos han pensado que la seguridad era cosa de los proveedores cloud y que no tenían de que preocuparse. Sin embargo, una de las primeras cosas que hay que conocer de los proveedores cloud es que utilizan un modelo de responsabilidad compartido. En el siguiente cuadro se puede ver el de Microsoft Azure (https://docs.microsoft.com/es-es/azure/security/fundamentals/shared-responsibility), siendo el de todos los proveedores muy similar:


Según el modelo que se esté usando (IaaS, PaaS, SaaS), el proveedor cloud asume más responsabilidades (incluidas de seguridad) pero en ningún caso las asume todas. Por ejemplo, la seguridad física de los equipos siempre será responsabilidad del proveedor, pero la seguridad de los datos, o del control de acceso a las aplicaciones o datos, siempre será responsabilidad del cliente.

En definitiva, la seguridad debe tenerse en cuenta desde el diseño, en el mismo momento en el que se está pensando en utilizar la cloud para algún servicio. Existen multitud de formas de securizar los servicios en cloud, bien con tecnologías proporcionadas por los propios proveedores cloud o bien con tecnologías de terceros especializados, y dependerá del tipo de proyecto que se va a implementar. Es imprescindible contar con expertos en seguridad en la nube que puedan aconsejar las medidas más adecuadas para cada proyecto para que se tengan en cuenta desde el inicio. 
 
En Babel trabajamos por adaptar nuestros servicios a las necesidades de esta nueva forma de trabajar, ayudando a las compañías a iniciar este viaje y mantenerse (y mantenernos) en constante revisión del modelo para maximizar los beneficios del cloud, aplicando la seguridad desde el diseño.

Leopoldo Colorado
Leopoldo Colorado

Head of Cloud and LowCode Services en Babel.

logo linkedin compartir en Linkedin Contacto