Cloud computing (computación en nube), conceptos y terminología

Cloud Computing

Cloud computing es un término que se refiere a  distintos entornos de TI que están diseñados para el propósito del aprovisionamiento remoto de recursos de TI que tengan  características tales como  elasticidad, escalabilidad y que su uso sea medible. El término se originó como una metáfora de Internet, que es, en esencia, una red de redes que proporciona acceso remoto a un conjunto de recursos de TI descentralizados. Antes que cloud computing se transformara en un segmento propio de la industria de TI, el símbolo de una nube era (y es) de uso general para representar Internet en una variedad de especificaciones y documentación de  arquitecturas basadas en Web. Este mismo símbolo se utiliza ahora para representar específicamente el límite de un entorno de nube, como se muestra en la Figura 1.

Paradigma Cloud
Paradigma Cloud

Es importante distinguir el término «nube» y el símbolo de la nube de Internet. Como un entorno específico utilizado para la provisión remota de recursos de TI, una nube tiene un límite finito. Hay muchas nubes individuales que son accesibles a través de Internet.

Considerando que Internet proporciona acceso abierto a muchos recursos de TI basados ​​en la Web, una nube suele ser, frecuentemente, de propiedad privada y ofrece acceso a recursos de TI que pueden ser medidos en su uso.

Gran parte de Internet está dedicada al acceso de contenidos basados en recursos de TI y que son publicados a través de la World Wide Web. Los recursos de TI proporcionados por entornos de nube, por el contrario, se dedican a suministrar capacidades de procesamiento y
acceso basado en usuarios a estas capacidades.

Otra distinción clave es que no es necesario para las nubes que esten basadas en Web, incluso en el caso que se basen en protocolos y tecnologías que comúnmente se usan en Internet. Los Protocolos se refieren a estándares y métodos que permiten a los computadores que se comuniquen entre sí de una manera predefinida y estructurada. El protocolo de Internet es TCP/IP. Una nube se puede basar en el uso de cualquier protocolo que permita el acceso remoto a sus recursos de TI.

Características

La computación en nube presenta las siguientes características clave:

Agilidad:

Capacidad de mejora para ofrecer recursos tecnológicos al usuario por parte del proveedor.

Costo:

Los proveedores de computación en la nube afirman que los costos se reducen. Un modelo de prestación pública en la nube convierte los gastos de capital en gastos de funcionamiento. Ello reduce barreras de entrada, ya que la infraestructura se proporciona típicamente por una tercera parte y no tiene que ser adquirida por una sola vez o tareas informáticas intensivas infrecuentes.

Escalabilidad y elasticidad:

  • El aprovisionamiento de recursos sobre una base de autoservicio en casi en tiempo real, sin que los usuarios necesiten cargas de alta duración.
  • Dispositivo e independencia de la ubicación permite a los usuarios acceder a los sistemas utilizando un navegador web, independientemente de su ubicación o del dispositivo que utilice (por ejemplo, PC, teléfono móvil).
  • La tecnología de virtualización permite compartir servidores y dispositivos de almacenamiento y una mayor utilización. Las aplicaciones pueden ser fácilmente migradas de un servidor físico a otro.

Rendimiento

Los sistemas en la nube controlan y optimizan el uso de los recursos de manera automática, dicha característica permite un seguimiento, control y notificación del mismo. Esta capacidad aporta transparencia tanto para el consumidor o el proveedor de servicio.
La seguridad: puede mejorar debido a la centralización de los datos.

Seguridad

Es a menudo tan buena o mejor que otros sistemas tradicionales, en parte porque los proveedores son capaces de dedicar recursos a la solución de los problemas de seguridad que muchos clientes no pueden permitirse el lujo de abordar.

Mantenimiento

El Mantenimiento de las aplicaciones de computación en la nube es más sencillo, ya que no necesitan ser instalados en el ordenador de cada usuario y se puede acceder desde diferentes lugares.

Modelos de Servicio

SaaS:  Software como servicio

El software como servicio (en inglés software as a service, SaaS) se encuentra en la capa más alta y caracteriza una aplicación completa ofrecida como un servicio, por-demanda, vía multitenencia —que significa una sola instancia del software que corre en la infraestructura del proveedor y sirve a múltiples organizaciones de clientes. Las aplicaciones que suministran este modelo de servicio son accesibles a través de un navegador web -o de cualquier aplicación diseñada para tal efecto- y el usuario no tiene control sobre ellas, aunque en algunos casos se le permite realizar algunas configuraciones. Esto le elimina la necesidad al cliente de instalar la aplicación en sus propios computadores, evitando asumir los costos de soporte y el mantenimiento de hardware y software. Una compañía paradigmática que ofrece servicios de nube para administrar todos los procesos que regulan el ciclo de vida de los clientes (CRM) es SalesForce, líder mundial en este nicho de aplicaciones, otros ejemplos  Workday, Concur, Citrix GoToMeeting, Cisco WebEx

PaaS: Plataforma como servicio

La capa del medio, que es la plataforma como servicio (en inglés platform as a service, PaaS), es la encapsulación de una abstracción de un ambiente de desarrollo y el empaquetamiento de una serie de módulos o complementos que proporcionan, normalmente, una funcionalidad horizontal (persistencia de datos, autenticación, mensajería, etc.). De esta forma, un arquetipo de plataforma como servicio podría consistir en un entorno conteniendo una pila básica de sistemas, componentes o APIs preconfiguradas y listas para integrarse sobre una tecnología concreta de desarrollo (por ejemplo, un sistema Linux, un servidor web, y un ambiente de programación como Perl o Ruby). Las ofertas de PaaS pueden dar servicio a todas las fases del ciclo de desarrollo y pruebas del software, o pueden estar especializadas en cualquier área en particular, tal como la administración del contenido.

Los ejemplos comerciales incluyen Google App Engine, que sirve aplicaciones de la infraestructura Google, Azure, de Microsoft, una plataforma en la nube que permite el desarrollo y ejecución de aplicaciones codificadas en varios lenguajes y tecnologías como .NET, Java y PHP; y también la Plataforma G, desarrollada en Perl. Servicios PaaS tales como éstos permiten gran flexibilidad, pero puede ser restringida por las capacidades que están disponibles a través del proveedor.

En este modelo de servicio al usuario se le ofrece la plataforma de desarrollo y las herramientas de programación por lo que puede desarrollar aplicaciones propias y controlar la aplicación, pero no controla la infraestructura.

IaaS: Infraestructura como servicio

La infraestructura como servicio (infrastructure as a service, IaaS) -también llamado en algunos casos hardware as a service, HaaS)7 se encuentra en la capa inferior y es un medio de entregar almacenamiento básico y capacidades de cómputo como servicios estandarizados en la red. Servidores, sistemas de almacenamiento, conexiones, enrutadores, y otros sistemas se concentran (por ejemplo a través de la tecnología de virtualización) para manejar tipos específicos de cargas de trabajo —desde procesamiento en lotes (“batch”) hasta aumento de servidor/almacenamiento durante las cargas pico. El ejemplo comercial mejor conocido es Amazon Web Services, cuyos servicios EC2 y S3 ofrecen cómputo y servicios de almacenamiento esenciales (respectivamente). Otro ejemplo es Joyent cuyo producto principal es una línea de servidores virtualizados, que proveen una infraestructura en-demanda altamente escalable para manejar sitios Web, incluyendo aplicaciones Web complejas escritas en Python, Ruby, PHP, y Java.


Lea nuestro último artículo: Licenciamiento MySQL, mitos y verdades.