Bloques de creación de la nube
- 25 minutos
La informática en la nube ofrece el uso de recursos informáticos como servicio mediante la red. Antes de analizar los modelos de servicio que se ofrecen en una nube, es necesario pensar en los distintos niveles de hardware y software necesarios para crear servicios en la nube. Por supuesto, no todos los requisitos de servicio son idénticos; algunos usuarios de la nube quizás solo quieran obtener acceso a la infraestructura sin procesar para compilar aplicaciones. Es posible que otros usuarios no quieran trabajar con la infraestructura en absoluto, sino simplemente desarrollar e implementar aplicaciones con una plataforma fácil de usar. Para cumplir estos diversos requisitos, los proveedores de servicios en la nube dividen sus ofertas en varias capas abstractas.
Bloques de creación en la nube
Aquí se presenta una abstracción apilada de la nube a través de la presentación de los bloques de creación típicos y se analiza la asociación con tres modelos de servicio en la informática en la nube. Presentamos cuatro bloques de creación principales en la informática en la nube: software de aplicaciones, plataformas de desarrollo, uso compartido de recursos e infraestructura, tal como se muestra en la figura 7. La infraestructura incluye los recursos físicos en un centro de datos. Normalmente, el nivel de uso compartido de recursos implica técnicas de software y hardware que permiten el uso compartido de los recursos físicos, a la vez que ofrecen un cierto nivel de aislamiento. Las plataformas de desarrollo se usan para desarrollar aplicaciones en la nube.

Figura 7: Bloques de creación de informática en la nube
Software de aplicación: la capa superior de la pila es el software de aplicación, que normalmente es el componente del sistema que utiliza el usuario final.
Plataformas de desarrollo: la capa siguiente, las plataformas de desarrollo, permite a los desarrolladores de aplicaciones escribir software de aplicación en términos de la interfaz de programación de aplicaciones (API) de una nube. Las plataformas de desarrollo suelen proporcionar especificaciones que los desarrolladores pueden usar para rutinas, estructuras de datos, clases de objetos, bibliotecas y variables.
Uso compartido de recursos: mecanismos de uso compartido de recursos, la tercera capa, incorporan algunas ideas clave de la nube:
- Proporcionar servicios de software, cálculo, red y almacenamiento.
- Permite un entorno compartido en el que se pueden ejecutar en paralelo varias imágenes de hardware (por ejemplo, máquinas virtuales) e imágenes del sistema (por ejemplo, sistemas operativos de uso general) en un solo servidor, junto con los aislamientos de seguridad, recursos y errores. Estas propiedades de aislamiento se proporcionan mediante una combinación de técnicas de hardware y software que se tratarán más adelante.
- Consolide los servidores físicos en servidores virtuales que se ejecutan en menos servidores físicos.
- Ofrezca agilidad y elasticidad para responder rápidamente a las demandas de recursos y servicios de los usuarios.
Estas ideas normalmente se vehiculan a través de la virtualización, una tecnología que se describe en un módulo posterior.
Infraestructura: los recursos físicos componen la capa inferior y, en la informática en la nube, se implementan principalmente en el lado del proveedor de nube. Entre las amplias clases de recursos se incluyen las siguientes:
- Recursos de proceso, normalmente servidores, que son equipos diseñados para la informática empresarial (en contraposición a estaciones de trabajo de usuario). Normalmente están montados en bastidor para que usen el espacio de forma eficaz.
- Recursos de almacenamiento que mantienen los datos de la nube. Normalmente, el almacenamiento de aplicaciones se cobra en términos de uso de la capacidad (por ejemplo, por gigabyte o terabyte).
- Recursos de red que permiten la comunicación entre servidores y entre servidores y clientes.
- Software que administra la infraestructura de proceso, red y almacenamiento.
Posteriormente, analizaremos qué abstracciones se pueden proporcionar como un servicio alquilado a través de una red. Por ejemplo, los servicios y recursos necesarios para un desarrollador de software serán diferentes en comparación con los de alguien que quiera tener acceso a una aplicación de correo electrónico basado en web que se ejecute en la nube.
Servicios de informática en la nube
En un sentido amplio, los servicios en la nube difieren en función de las necesidades de los distintos usuarios. En esta sección se revisan tres tipos populares de servicios en la nube:
- Software como servicio (SaaS)
- Plataforma como servicio (PaaS)
- Infraestructura como servicio (IaaS)
SaaS es cualquier aplicación en la que el usuario final tenga acceso a una aplicación de software a través de la red y pague en función de una variedad de modelos de negocio, algunos de los cuales son gratis. PaaS es la oferta de plataformas de desarrollo de software como servicio que se usan para desarrollar aplicaciones SaaS. Por último, IaaS es el alquiler de la infraestructura virtualizada a través de la red. En este último modelo, el usuario final tiene la flexibilidad de instalar y usar cualquier software que quiera en la infraestructura alquilada.
En el vídeo siguiente se revisan estos servicios:
Modelo SaaS
Software como servicio (SaaS)
(definición) Software como servicio (SaaS) es un modelo de entrega de software en el que el software y los datos asociados se hospedan en una nube. Normalmente, los usuarios tienen acceso a las aplicaciones SaaS mediante un cliente ligero a través de un explorador web.
SaaS es uno de los modelos de servicio en la nube más comunes en los que el proveedor de servicios en la nube ofrece software como un servicio de Internet. En el vídeo siguiente se describe este escenario. Los usuarios de SaaS simplemente usan sus exploradores para tener acceso al software, por lo que se elimina la necesidad de instalar, ejecutar y mantener (actualizar, revisar, volver a configurar, etc.) la aplicación en sus equipos. El explorador web carga el servicio de aplicación SaaS de forma dinámica y transparente.
SaaS se ha convertido en un modelo de entrega de software común para muchas aplicaciones empresariales, como contabilidad, colaboración, administración de relaciones con clientes (CRM), sistemas de información de administración (MIS), planeamiento de recursos empresariales (ERP), facturación, administración de recursos humanos (HRM), administración de contenido (CM) y administración del departamento de servicios.
Con SaaS, el proveedor mantiene el software y la infraestructura necesaria para ejecutarlo. El proveedor desarrolla de forma rutinaria el software y las mejoras se ponen a disposición la próxima vez que un usuario inicia sesión en el servicio. Además, los datos de aplicación que resulten del uso del servicio residen en la nube y están disponibles para el usuario desde cualquier ubicación.
Características de SaaS
Una gran mayoría de las soluciones de SaaS se basan en lo que se conoce como arquitectura multiempresa. En esta arquitectura, se usa una versión única de la aplicación, con una única configuración, para todos los clientes (denominados inquilinos). Para permitir que el servicio se escale bien, puede instalarse en varios servidores del lado del proveedor. El escalado dinámico se utiliza para permitir a más usuarios usar el servicio a medida que se hace más popular.
Las características típicas de SaaS incluyen:
- El acceso al servicio de software está basado en web.
- El proveedor de la nube administra el software desde una ubicación central.
- El software se entrega en un modelo de uno a varios en el que "uno" es el proveedor de nube y "varios" son los usuarios de la nube.
- El proveedor de nube controla las actualizaciones y revisiones de software.
Modelos de precios de SaaS
A diferencia del software tradicional, que se vende en el modelo de licencias de software (con un costo de licencia inicial y una cuota de soporte técnico continua opcional), los proveedores de SaaS suelen determinar los precios de las aplicaciones que usan una cuota de suscripción mensual o anual. Este modelo permite a SaaS cumplir una de las principales ventajas de la informática en la nube: reducir el gasto de capital o el costo inicial del software. Los proveedores de SaaS normalmente realizan el cargo en función de los parámetros de uso, como el número de usuarios que utilizan la aplicación.
Casos de uso de SaaS
SaaS es un buen modelo para determinados tipos de aplicaciones, como:
- Aplicaciones que están bastante estandarizadas y no necesitan soluciones personalizadas. El correo electrónico es un buen ejemplo de una aplicación bastante estandarizada.
- Aplicaciones que tienen una necesidad importante de acceso remoto/web/móvil, como el software de administración de ventas móviles.
- Aplicaciones que tienen una necesidad a corto plazo, como software de colaboración para un proyecto determinado.
- Aplicaciones en las que la demanda tiene aumentos significativos puntuales, como software de impuestos o de facturación que se utiliza una vez al mes.
Aunque hay situaciones en las que es posible que SaaS no sea la elección adecuada, tales como:
- Aplicaciones que requieren acceso sin conexión a los datos.
- Aplicaciones que necesitan una importante personalización.
- Aplicaciones donde las directivas o normativas no permiten que los datos se hospeden externamente.
- Aplicaciones donde las soluciones internas existentes satisfacen todas las necesidades de la organización.
Ejemplos de SaaS
El correo electrónico basado en web es uno de los primeros ejemplos de SaaS. El correo electrónico basado en web permite a los usuarios que disponen de un explorador y una conexión a Internet acceder al correo electrónico en cualquier momento. Ofertas como Outlook, Yahoo Mail y Gmail son muy populares. Estos servicios se basan en el modelo "freemium", donde los servicios básicos son gratuitos y hay características más avanzadas disponibles con una suscripción. Además, los proveedores obtienen ingresos principalmente de los anuncios que se muestran a los usuarios cuando usan el servicio.
Otro ejemplo popular de SaaS son los conjuntos de trabajo ofimático en línea, como Microsoft 365, que permiten a los usuarios crear, editar y compartir documentos en línea.
Modelo de PaaS
Plataforma como servicio (PaaS)
(definición) Plataforma como servicio (PaaS) es una plataforma informática que permite la creación de aplicaciones web de forma simplificada sin la complejidad de adquirir y mantener el software y la infraestructura subyacentes.
Las ofertas basadas en PaaS permiten a los usuarios desarrollar, implementar y escalar aplicaciones en plataformas que ofrecen los proveedores de servicios en la nube. PaaS es análogo a SaaS, salvo que, en lugar de consistir en software entregado a través de la web, es una plataforma para la creación de software que se entrega a través de la web.
Características de PaaS
Las ofertas de PaaS varían entre los proveedores, pero normalmente contienen una funcionalidad básica, que incluye:
- Servicios para desarrollar, probar, implementar, hospedar y mantener aplicaciones en el mismo entorno de desarrollo integrado (IDE).
- Herramientas de creación de interfaz de usuario (IU) basadas en web para ayudar a crear, modificar y probar distintos escenarios de interfaz de usuario.
- Una arquitectura multiempresa en la que varios usuarios simultáneos usan las mismas herramientas de desarrollo.
- Mecanismos de escalado integrados de software implementado que el proveedor de nube puede administrar automáticamente con mecanismos de equilibrio de carga y conmutación por error.
Modelos de precios de PaaS
A diferencia del modelo de precios de SaaS (que es un modelo basado en suscripciones o anuncios), el precio de PaaS normalmente se calcula en términos de uso de la plataforma. Por ejemplo, en el modelo de precios de Azure Functions, el cargo se realiza según el número total de ejecuciones y el tiempo de ejecución. Por lo tanto, cuanto más aplicaciones desarrolladas con PaaS se usan, mayor es el cargo que realiza el desarrollador de PaaS.
Casos de uso de PaaS
PaaS es un modelo atractivo para determinados tipos de aplicaciones, como:
- Escenarios de desarrollo rápido de aplicaciones.
- Aplicaciones que necesitan una infraestructura basada en web para controlar las distintas cargas de los usuarios.
- Es posible que las aplicaciones que no necesiten volver a implementarse o se puedan migrar a otras plataformas en el futuro.
Hay algunos escenarios en los que es posible que PaaS no sea lo ideal, como:
- Cuando la aplicación debe ser muy portátil en cuanto a dónde se hospeda, ya que las API de PaaS pueden variar de un proveedor de PaaS a otro.
- Cuando los lenguajes o las API patentados podrían afectar al proceso de desarrollo o causar problemas en el futuro debido al bloqueo del proveedor.
- Cuando el rendimiento de la aplicación exige la personalización del hardware y el software subyacentes.
Ejemplos de PaaS
Azure Functions es un ejemplo de PaaS. Con Azure Functions, los desarrolladores pueden ejecutar pequeños fragmentos de código en la infraestructura de Azure sin preocuparse por administrar su propio código.
Modelo de IaaS
Infraestructura como servicio (IaaS)
(definición) Infraestructura como servicio (IaaS) es un modelo de informática en la nube en el que los proveedores de nube hacen que los recursos informáticos estén disponibles para los clientes, normalmente en forma de instancias de máquinas virtuales.
En el modelo de IaaS, los proveedores alquilan recursos de proceso en forma de instancias de máquina virtual, bajo diversas formas de CPU, memoria, disco y ancho de banda de red adjuntadas configurables. Después del aprovisionamiento, los usuarios de IaaS pueden conectarse de forma remota a estas instancias y configurar su elección de plataformas y aplicaciones. Este modelo ofrece la máxima flexibilidad a los usuarios de IaaS en cuanto a desarrollo de software e implementación. En lugar de adquirir servidores, software, espacio del centro de datos o equipo de red, los usuarios alquilan estos recursos como un servicio totalmente subcontratado a petición.
Características de IaaS
IaaS tiene las siguientes características:
- Los recursos informáticos se proporcionan a los usuarios de IaaS como servicio.
- Los proveedores de IaaS proporcionan herramientas que permiten a los usuarios de IaaS configurar el escalado dinámico de los recursos.
- Los proveedores de IaaS normalmente tienen diferentes ofertas de recursos en costos diferentes y siguen un modelo de precios de la utilidad (normalmente calculado por hora).
- Los mismos recursos físicos se comparten entre varios usuarios.
Modelos de precios de IaaS
A diferencia del modelo de precios de SaaS (que es un modelo basado en suscripciones o anuncios) o el modelo de PaaS (que normalmente tiene un precio basado en el número de transacciones o ancho de banda o almacenamiento utilizado), IaaS normalmente tiene un precio basado en horas, por instancia. Por ejemplo, Azure Virtual Machines ofrece un espectro de recursos de proceso como instancias de sistema operativo virtualizado, que varían en cuanto al proceso, la memoria, el almacenamiento y el ancho de banda.
Los proveedores de servicios en la nube también pueden optar por facturar según una base prorrateada o no prorrateada. En una base prorrateada, cada hora parcial se factura parcialmente, mientras que, sin prorratear, cada hora parcial se factura como una hora completa. Esta diferencia es importante cuando los usuarios de IaaS necesitan un gran número de instancias durante un breve período para el procesamiento de ráfagas.
Casos de uso de IaaS
IaaS tiene sentido en una serie de situaciones:
- Cuando la demanda de recursos informáticos es volátil. Por ejemplo, los sitios de comercio electrónico experimentan la mayor demanda durante las fiestas de Navidad.
- Para las nuevas organizaciones que no tienen el capital invertido en la infraestructura en el sitio.
- Cuando las organizaciones necesitan aumentar sus recursos de TI rápidamente (por ejemplo, las compañías startup de Internet).
- Para proyectos temporales o necesidades de infraestructura temporales (cuando las organizaciones necesitan una gran cantidad de capacidad de proceso durante un período limitado).
Es posible que IaaS no sea la mejor opción cuando:
- El cumplimiento normativo no permite que los datos se externalicen o se subcontraten.
- Las aplicaciones tienen requisitos estrictos de calidad de servicio (QoS).
- Las organizaciones tienen una infraestructura personalizada interna para satisfacer sus necesidades de TI.
Ejemplos de IaaS
Todos los principales proveedores en la nube ofrecen productos IaaS. Las máquinas virtuales de Azure alquilan las instancias de varias ubicaciones de centros de datos dispersos por todo el mundo. Los usuarios pueden elegir entre varios tipos de instancia, desde una CPU de poca memoria y una sola CPU (con un precio muy bajo, de pocos céntimos o centavos por hora), hasta las instancias de múltiples núcleos, de alto rendimiento y aceleradas por GPU (que pueden llegar a tener un precio de varios USD, o divisa equivalente, por hora).