Iniciar sesión / Registrar Cuenta

Cloud computing

¿Qué es la arquitectura multiempresa?

Jump to section

La arquitectura multiempresa es una arquitectura de software en la que varios grupos de usuarios diferentes pueden utilizar una sola instancia de software. Un ejemplo son las ofertas de Software como servicio (SaaS).

En el ámbito del cloud computing, también puede referirse al hosting compartido, donde los recursos del servidor se dividen entre diferentes clientes.

La arquitectura multiempresa es lo contrario a aquellas con un solo propietario, donde una instancia de software o un sistema informático tiene solo un usuario o un grupo de usuarios finales.

Las aplicaciones con este tipo de arquitectura suelen ofrecer cierto nivel de personalización, como la posibilidad de modificar su aspecto o de elegir restricciones y permisos de control de acceso específicos para los usuarios.

Del tiempo compartido al SaaS

El concepto de la arquitectura multiempresa ya tiene varias décadas. En los años sesenta, las universidades que tenían computadoras centrales potentes y costosas desarrollaron sistemas de software de tiempo compartido, los cuales permitían que varios usuarios accedieran al sistema al mismo tiempo.

La idea jamás desapareció, y hoy en día es lo que posibilita el cloud computing. La nube pública toma un conjunto de recursos compartidos (la capacidad de procesamiento y la memoria) y lo divide entre varios usuarios. Las cargas de trabajo y los datos de cada uno de ellos permanecen aislados, incluso si se ejecutan en uno o más equipos físicos.

Si ampliamos esta idea un poco más y la aplicamos a la arquitectura de software, obtenemos el concepto moderno de SaaS. Un proveedor de SaaS ejecuta una sola instancia de una aplicación y brinda acceso a los clientes individuales. Los datos de cada usuario permanecen aislados a pesar de que todos acceden al mismo software.

En el caso de una plataforma de organización en contenedores como Kubernetes, la arquitectura multiempresa implica que un clúster individual se utiliza en varios proyectos y está configurado para ejecutarse con independencia de los demás.

Guía estratégica para desarrollar aplicaciones en la nube

 

Diferencias entre la arquitectura multiempresa y el cloud computing

Como se demostró anteriormente, el concepto de arquitectura multiempresa es una característica importante del cloud computing, ya que se trata de una instancia individual de una aplicación de software que se ofrece a varios usuarios. Las nubes se consideran Plataformas como servicio (PaaS), mientras que la arquitectura multiempresa suele asociarse con las aplicaciones de SaaS.  

Los proveedores de servicios de nube ponen a disposición de los usuarios la plataforma y la infraestructura de TI subyacente que necesita el cloud computing a partir de un conjunto de recursos que luego se asignan a varios usuarios. 

La arquitectura de nube define la manera en la que se conectan todos los elementos y las funciones necesarias para diseñar este tipo de entornos y obtener una plataforma en línea donde se puedan ejecutar las aplicaciones.

Para diseñar una plataforma de nube, se requieren niveles adicionales de desarrollo, a fin de incorporar la organización en contenedores, la coordinación, las interfaces de programación de aplicaciones (API), el enrutamiento, la seguridad, la gestión y el software de automatización.

Arquitectura de nube pública: entorno de nube creado a partir de recursos ajenos al usuario final que pueden redistribuirse a otros usuarios.

Arquitectura de nube privada: en líneas generales, se trata de un entorno de nube diseñado solo para el usuario final, que por lo general se encuentra dentro del firewall del usuario y, a veces, de manera local.

Ventajas de la arquitectura multiempresa

La arquitectura multiempresa aporta muchos beneficios, los cuales explican la popularidad del cloud computing.

Permite ahorrar dinero. La informática resulta más económica a escala, y la arquitectura multiempresa permite consolidar y asignar los recursos de manera eficiente, lo cual se traduce en un ahorro de costos operativos.Para un usuario individual, suele ser más rentable pagar el acceso a un servicio de nube o a una aplicación de SaaS que ejecutar su propio hardware y software.

Brinda flexibilidad. Si invirtió en sus propios sistemas de hardware y software, es probable que alcancen su capacidad máxima en los momentos de mucha demanda o que permanezcan inactivos cuando haya poca. Sin embargo, una nube multiempresa puede asignar un grupo de recursos a los usuarios según sus necesidades aumenten o disminuyan. Si es cliente de un proveedor de nube pública, puede obtener más capacidad cuando la necesite, sin tener que pagar por ella cuando no la requiera.

Ofrece mayor eficiencia. Con la arquitectura multiempresa, los usuarios no tienen que ocuparse de gestionar la infraestructura ni realizar las tareas de actualización y mantenimiento. Los clientes individuales pueden delegar los trabajos rutinarios a un proveedor central de nube, en lugar de que sus propios equipos deban hacerse cargo.

Cuándo conviene la arquitectura de usuario único

Si bien la arquitectura multiempresa tiene muchas ventajas, los sistemas informáticos destinados a un solo usuario son mejores en ciertos casos de uso (p. ej., para utilizar la nube privada o su propio centro de datos).

El más destacado es el caso de la seguridad de los datos para las aplicaciones que involucran información sumamente confidencial. Los entornos de nube pública y los productos de SaaS están diseñados para aislar las cargas de trabajo y los datos, y tienen un historial de buen funcionamiento, pero los investigadores encontraron puntos vulnerables en las pruebas controladas que podrían dar lugar a ataques a las distintas empresas en los entornos de nube.

En la práctica, estos riesgos son relativamente pequeños. Los aspectos vulnerables de las arquitecturas compartidas son poco comunes y necesitan una gran destreza, según un informe sobre los puntos vulnerables de la nube, que realizó la Agencia de Seguridad Nacional (NSA) de Estados Unidos en 2020. Hasta ese momento, no se habían documentado ataques entre los distintos clientes de ningún proveedor importante de nube pública. La NSA considera que estos riesgos son menores que los derivados de un control deficiente del acceso y de los errores en la configuración.

Entornos multiempresa en Linux

Establecer un entorno multiempresa implica elegir entre aislar los entornos por medio de máquinas virtuales (VM) o de los contenedores.

En el caso de las VM, un hipervisor pone en marcha las máquinas guest con sus propias aplicaciones, dependencias y sistema operativo, y se asegura de que los usuarios estén aislados de los demás.

Los contenedores ofrecen un modelo más ligero, flexible y fácil de ampliar en comparación con las VM. Simplifican las implementaciones multiempresa al ejecutar varias aplicaciones en un solo host, y utilizan el kernel y el tiempo de ejecución del contenedor para ponerse en marcha. Las aplicaciones que se ejecutan en los contenedores comparten un kernel, incluso entre varios usuarios, a diferencia de las VM, donde cada una incluye el propio.

En Linux®, los espacios de nombres permiten que varios contenedores utilicen el mismo recurso a la vez, sin generar problemas. Asegurar un contenedor es como asegurar cualquier proceso en ejecución. 

Cuando se utiliza Kubernetes para la organización en contenedores, se pueden configurar los entornos multiempresa usando un solo clúster de Kubernetes. Es posible separar a los usuarios en sus propios espacios de nombre y crear políticas que aseguren su aislamiento.

Las herramientas que necesita para el cloud computing

Red Hat Enterprise Linux logo

Conserve los sistemas ligeros y ejecute sus contenedores de Linux con un sistema operativo optimizado y con un espacio mínimo.

Red Hat OpenStack Platform product logo

Infraestructura de nube que se ejecuta fuera del hardware estándar y le permite implementar las herramientas de nube privada que necesita y en el momento en que las necesita, todo desde un solo lugar.

Red Hat OpenShift product logo

Desarrolle, implemente y gestione sus contenedores a cualquier escala y en cualquier lugar.

Hay mucho más por hacer con las nubes