Qué es Cloud Computing
Imagen via Wikipedia
Si te interesa puedes ver la presentación.
Hemos hablado bastante de cloud computing en este blog, pero creo que no hemos precisado mucho que significa esto de la computación en la nube.
Tener una definición clara de lo que significa este término es importante para tomar decisiones. Hay un video que me sugirieron, que es bastante bueno como introducción, pero se necesita algo más preciso desde el punto de vista técnico.
El NIST tiene una guía bastante útil que contiene definiciones precisas sobre el tema y que voy a compartir con ustedes.
Lo primero que hay que entender que el cloud computing es un paradigma en evolución. Las definiciones van a cambiar en el tiempo. La industria del cloud computing representa un vasto grupo de empresas, modelos, oferentes, y nichos de mercado. La definición del NIST trata de cubrir todo estos temas.
Cloud Computing
Según el NIST, el Cloud Computing es un modelo para habilitar un acceso conveniente, en demanda y a través de la red, a un conjunto de recursos computacionales compartidos (por ejemplo, redes, servidores, almacenamiento, aplicaciones y servicios), los que pueden ser provisionados y liberados rápidamente con un mínimo esfuerzo administrativo o con poca interacción con el proveedor de servicios. Este modelo de nube promueve la disponibilidad y se compone de cinco características esenciales, tres modelos de servicio y cuatro modelos de implementación.
Características Esenciales
Auto servicio a demanda. Un consumidor puede unilateralmente provisionar capacidades computacionales, tales como tiempo de servidor y almacenamiento en red, de acuerdo a la necesidad y en forma automática sin requerir de una interacción humana con cada proveedor de servicio.
Amplio acceso a través de la red. Las capacidades están disponibles a través de la red y se accesan a través de mecanismos estándares que promueven el uso desde plataformas clientes diversasa (por ejemplo, teléfonos móviles, laptops, PDAs).
Disponibilidad de recursos. Los recursos computacionales del proveedor se agrupan para servir a múltiples consumidores usando un modelo de arriendo múltiple, con diferentes recursos físicos y virutales asignados dinámicamente y reasignados de acuerdo a la demanda del consumidor. Hay un sentido de independencia de la localización en que el consumidor generalmente no tiene control o conocimiento de la localización exacta de los recursos provistos, pero puede especificar la localización a un nivel más alto de abstracción (por ejemplo, un país, estado o datacenter). Ejemplos de estos recursos incluyen el almacenamiento, procesadores, memoria, ancho de banda y máquinas virtuales.
Rápida Elasticidad. Las capacidades pueden ser rápida y elasticamente provisionadas, en algunos casos automáticamente, para escalar rápidamente y ser liberadas rápidamente para reducir la escala de operación. Para el consumidor, las capacidades disponibles para el provisionamient a menudo parecen ser ilimitadas y pueden ser compradas en cualquier cantidad en cualquier momento.
Servicio Medido. Los sistemas en nube automáticamente controlan y optimizan el uso de recursos al aprovechar las capacidades de medición en cierto nivel de abstracción apropiado para el tipo de servicio (p.ej. almacenamiento usado, procesamiento, ancho de banda, cuentas de usuario activas). El uso de recursos puede ser monitoreado, controlado y reportado, proveyendo transparencia para ambos, el proveedor y el consumidor del servicio utilizado.
Modelos de Servicio
Los modelos de servicio son tres:
Nube tipo Software como un Servicio(SaaS). La capacidad provista para el consumidor es usar las aplicaciones del proveedor corriendo en una infraestructura en la nube. Las aplicaciones son accesibles desde varios dispositivos clientes a través de una interfaz de cliente "delgada" como un navegador web (p.ej. correo electrónico en la web). El consumidor no administra o controla la infraestructura de nube subyacente que incluye redes, servidores, sistemas operativos, almacenamiento o incluso las capacidades individuales de la aplicación, con la posible excepción de ciertas configuraciones específicas para el usuario en la aplicación.
**Nube tipo Plataforma como un Servivio (PaaS). **La capacidad que se le provee al consumidor es la de desplegar en la infraestructura en la nube las aplicaciones, propias o adquiridas, creadas usando lenguajes de programación y herramientes soportadas por el proveedor. El consumidor no administra o controla la infraestructura de nube subyacente, incluyendo redes, servidores, sistemas operativos o almacenamiento, pero tiene control sobre las aplicaciones desplegadas y posiblemente sobre las configuraciones del entorno de alojamiento.
**Nube tipo Infraestructura como un Servicio (IaaS). **La capacidad provista al consumidor es provisionar procesamiento, almacenamiento, y otros recursos computacionales fundamentales donde el consumidor es capaz de desplegar y ejecutar software arbitrario, el que puede incluir sistemas operativos y aplicaciones. El consumidor no administra o controla la infraestructura de nube subyacente pero tiene control sobre los sistemas operativos, almacenamiento, aplicaciones desplegadas y posiblemente un control limitado sobre componentes selectas de las redes (p.ej. los firewalls de sus hosts).
Modelos de Implementación
Nube Privada. La infraestructura de nube es operada solamente por una organización. Puede ser manejadas por la organización o una tercera parte y puede existir siempre, o ante una situación específica.
Nube Comunitaria. La infraestructura es compartida por varias organizaciones y soporta a una comunidad específica que tiene preocupaciones compartidas (p.ej. misión, requerimientos de seguridad, políticas, y consideraciones de conformidad). Puede ser administradas por las organizaciones o una tercera p arte y puede existir permanentemente o ante situaciones específicas.
Nube Pública. La infraestructura es provista al público general o a un grupo de industria grande y es propiedad de una organización que vende servicios en nube.
Nube Híbrida. La infraestructura de nube es la composición de dos o más nubes (privadas, comunitarias o públicas) que permanecen como entidades únicas pero están enlazadas juntas por una tecnología estandarizada o propietaria que permite la portabilidad de datos y aplicaciones. (ej. cloud bursting (ruptura de nubes) para permitir el balanceo de carga entre nubes).