Cloud Computing
Nube

Claves para subirse a la nube multiusuario

El arrendamiento múltiple está definiendo la forma en que se construyen e implementan las aplicaciones ahora y en el futuro.

cloud, nube
C. Dustin (Unsplash).

¿Pueden los clientes confiar en la nube pública? La respuesta, por supuesto, es sí. La nube pública es, en muchos sentidos, más segura que su propio centro de datos.

Pero ¿el hecho de que varios clientes compartan el mismo hardware físico no crea un problema de seguridad? ¿No es cualquier sistema de arrendamiento múltiple intrínsecamente menos seguro?

 

¿Qué es la multipropiedad?

En primer lugar, deberíamos hablar de lo que entendemos por entornos de arrendamiento múltiple y de lo que entendemos por entornos de arrendamiento único. Como se puede sospechar, la respuesta no es tan clara como podría parecer.

Echemos un vistazo a una aplicación básica sin nube que se ejecuta en un centro de datos. La figura 1 muestra un sistema de este tipo.

 

 

Aquí se ven dos clientes, cada uno de los cuales ejecuta una instancia distinta de una aplicación en servidores físicos distintos y separados. Los dos servidores pueden estar en el mismo centro de datos y compartir la misma infraestructura de red, pero no comparten ningún otro recurso físico.

Como ambos ejecutan instancias informáticas distintas (con CPU, memoria y hardware de almacenamiento separados), es muy difícil, esencialmente imposible, que la información del cliente del lado izquierdo interfiera con la del cliente del lado derecho.

Sin embargo, si los usuarios quieren añadir un tercer cliente a esta configuración, necesitan una tercera instancia de la aplicación, y eso requiere comprar y configurar un tercer servidor físico, con la configuración de hardware adecuada y el software instalado, actualizado y configurado.

En general, añadir un nuevo cliente es una tarea lenta, engorrosa y extremadamente cara. El lado positivo es que los clientes están separados por paredes físicas de hardware.

Este es el modelo de aplicación de arrendamiento único.

 

Virtualización de arrendimiento múltiple

Compare el modelo anterior de arrendamiento único con el modelo que se muestra en la Figura 2.

En la figura 2, los usuarios tienen los mismos dos clientes distintos que utilizan dos instancias distintas de una aplicación. Pero, en este caso, cada una de ellas se ejecuta en dos servidores virtuales distintos, que en realidad están en el mismo servidor físico.

 

Se trata de un ejemplo de arrendamiento múltiple utilizando la virtualización de servidores, que se viene utilizando desde finales de los 80 y principios de los 90 del siglo pasado. La idea es que cada aplicación reside en un servidor "lógico" separado, pero los dos servidores virtuales residen en el mismo hardware físico.

Este modelo mejora la capacidad de portar aplicaciones y mover el software con más facilidad que el modelo de inquilino único. Ahora, cuando un nuevo cliente se incorpora, no necesita configurar un servidor físico completamente nuevo con el hardware y el software adecuados. Todo lo que tienen que hacer los usuarios es lanzar una nueva instancia de un servidor virtual. Esto es un simple comando o una llamada a la API, y suele ser fácil de hacer.

Siempre que el servidor físico tenga suficiente capacidad, podrían lanzar varios servidores virtuales con una simple llamada a la API. Sólo se necesita nuevo hardware cuando se requieren recursos físicos adicionales.

De hecho, este modelo es tan potente que fue la base del inicio de la computación en nube. La virtualización de servidores permitió a los proveedores de la nube vender instancias de servidores virtuales directamente a las empresas, y permitirles iniciar y detener instancias bajo demanda.

Esta fue la base del servicio EC2 en AWS, y eventualmente de servicios equivalentes en Microsoft Azure, Google Cloud Platform y otras nubes públicas. Las nuevas instancias pueden alquilarse a los clientes durante un periodo de tiempo, y luego liberarse para que otras empresas puedan utilizarlas.

Los clientes están separados por muros de hardware virtual. Se trata de muros que parecen paredes de hardware, pero que están simulados por un software de virtualización. Y aunque añadir clientes es más fácil, sigue siendo necesario lanzar nuevas instancias de servidores virtuales, lo que consume recursos.

Este modelo se denomina modelo físico de múltiples inquilinos y virtual de un solo inquilino. El nombre viene del hecho de que cada instancia virtual se asigna a un solo cliente con su propia instancia de software (monocontenedor virtual), mientras que las instancias virtuales se ejecutan todas en un hardware físico compartido (multicontenedor físico).

 

Software de arrendamiento múltiple

Ahora, compare los dos modelos anteriores con la Figura 3.

 

 

En este modelo, varios clientes comparten la misma instancia de aplicación, que se ejecuta en los mismos servidores físicos y en la misma infraestructura física. En este caso, el software se encarga de separar a un cliente de otro; no hay separación física. Los clientes están separados sólo por el software.

Este modelo se denomina modelo arrendamiento múltiple físico y arrendamiento múltiple virtual, aunque es más conocido como el modelo de software como servicio (SaaS).

En este caso, añadir un nuevo cliente es muy fácil. No se requiere ningún hardware virtual o físico. Siempre que el hardware subyacente tenga recursos suficientes, los usuarios pueden añadir un cliente adicional simplemente actualizando una base de datos o añadiendo una entrada a un archivo de configuración. La adición de nuevos clientes es rápida, fácil y barata.

 

¿Es seguro el arrendamiento múltiple?

¿Es más seguro un arrendamiento que otro múltiple? Esta es una pregunta común y difícil de responder. Ambos modelos pueden ser seguros y ambos pueden ser inseguros. Cuando se trata de malos actores - gente mala que intenta atacar el software, un modelo es tan seguro como el otro. Ambos necesitan procesos y procedimientos seguros para protegerse de los malos actores.

Pero ¿qué pasa con las vulnerabilidades de seguridad accidentales? ¿Qué pasa, por ejemplo, con la exposición accidental de datos de un cliente a otro cliente? Ciertamente, una aplicación SaaS arrendamiento múltiple mal diseñada corre el riesgo de exponer los datos a otros consumidores que utilizan el mismo entorno compartido.

Para ver esto, eche un vistazo a la Figura 4.

 

 

Veamos primero una verdadera aplicación de un solo inquilino, como la que se muestra en la parte superior izquierda de la figura 4. Para que los datos de un cliente queden expuestos accidentalmente a otro cliente, los datos tienen que moverse entre servidores físicos. Esto no es fácil, y es difícil imaginar cómo podría ocurrir accidentalmente. Un sistema de un solo inquilino es menos probable que tenga problemas de seguridad accidentales.

Ahora veamos la aplicación arrendamiento múltiple de servidor virtual, como la que se muestra en la parte superior derecha de la Figura 4. Para que los datos queden expuestos accidentalmente en este modelo, los datos tienen que atravesar una fuerte frontera de virtualización.

Aunque es difícil imaginar que esto ocurra, no es imposible. De hecho, hace unos años, las vulnerabilidades Meltdown y Spectre expusieron un fallo en la virtualización de servidores que podría haber causado este tipo de exposición, pero ese fallo se encontró y corrigió rápidamente.

En una verdadera aplicación arrendamiento múltiple —una aplicación SaaS— como la que se muestra en la parte inferior de la Figura 4, hay una mayor posibilidad de que un error de software pueda exponer los datos entre los clientes. Esto se debe a que la separación entre clientes existe enteramente en la capa de la aplicación, sin separación en el hardware subyacente o la virtualización. En teoría, un error de software podría exponer los datos de otro cliente de forma inesperada.

Este es un riesgo que los usuarios asumen. Pero en realidad, cuando utilizan aplicaciones SaaS de alta calidad de empresas reputadas, este riesgo no es tan grande como podría parecer.

Ciertamente, cualquier vulnerabilidad relacionada con la exposición accidental de datos entre inquilinos se solucionaría muy rápidamente. Se presta mucha atención a esta cuestión específica. Pero es una preocupación que los clientes deberían tener en cuenta cuando seleccionan una empresa de SaaS y deciden qué datos entregarles.

 

¿Por qué utilizar el arrendamiento múltiple?

Si un inquilino es teóricamente más seguro que un inquilino múltiple, ¿por qué utilizar un inquilino múltiple?

En primer lugar, como los usuarios pueden deducir de los casos de uso anteriores, los sistemas de arrendamiento múltiple son más fáciles de ampliar y facilitan la incorporación de nuevos clientes. El coste incremental de añadir un nuevo cliente en un sistema de un solo inquilino es muy alto, ya que incluye el coste del nuevo hardware, la instalación, la configuración, el mantenimiento, el software, las actualizaciones, etc.

Por el contrario, el coste incremental de un nuevo cliente en un verdadero sistema SaaS de arrendamiento múltiple es casi nulo; la incorporación puede ser literalmente tan fácil como añadir una sola fila a una base de datos. Los sistemas SaaS de arrendamiento múltiple permiten a los proveedores incorporar la funcionalidad "probar antes de comprar" en sus aplicaciones, y poner en marcha niveles verdaderamente gratuitos mientras se mantiene la rentabilidad. Esto es prácticamente imposible en una aplicación y hardware de un solo inquilino.

Un sistema de arrendamiento múltiple también facilita mucho la adición de recursos a una aplicación en funcionamiento cuando debe manejar una carga adicional. Si una aplicación requiere un determinado número de servidores para manejar la carga, y los usuarios tienen un pico de tráfico, ¿qué hacen?

En el caso de un sistema con hardware virtual de arrendamiento múltiple, pueden añadir fácilmente capacidad de servidor adicional sobre la marcha, en cuestión de segundos. En el caso de una verdadera aplicación de un solo inquilino, puede llevar días o semanas comprar, instalar y configurar servidores físicos.

Como se tarda tanto en aumentar la capacidad de una aplicación de un solo inquilino, los usuarios tienen que planificar la capacidad con meses de antelación. Tienen que adivinar cuáles serán sus necesidades, y han de contar con suficiente exceso de capacidad "por ahí" para satisfacer cualquier pico inusual o inesperado que puedan tener. Este exceso de capacidad se deja ocioso la mayor parte del tiempo, lo que aumenta los costes de explotación de las aplicaciones.

Con un sistema de arrendamiento múltiple los usuarios pueden añadir capacidad adicional sobre la marcha, sólo cuando la necesitan, poniendo en marcha más servidores virtuales. Como el hardware de una infraestructura de arrendamiento múltiple es compartido, el exceso de capacidad se amortiza entre varios clientes.

 

El futuro es el arrendamiento múltiple

El futuro de las aplicaciones modernas son las aplicaciones de arrendamiento múltiple que se ejecutan en entornos virtuales y en entornos de hardware de aquellas características.

Las aplicaciones de un solo inquilino serán cada vez más escasas y se dejarán principalmente para los entornos de centros de datos locales. Los problemas de seguridad de los sistemas arrendamiento múltiple son simplemente parte del marco general de seguridad para todas las aplicaciones.

El arrendamiento múltiple es la base de la nube pública. Es la espina dorsal de todos los principales entornos operativos de producción, y está definiendo cómo se construyen y despliegan las aplicaciones ahora y en el futuro.



Contenido destacado

Revista Digital

Próximos Webinars

Revistas Digitales IDG

DealerWorld Digital

ComputerWorld Digital

IDG Research

Partnerzones IDG


Especiales IDG:
Registro IDG España:

Eventos IDG: