Cloud Computing (informática o computación en nube) es un término que representa un nuevo modelo de informática que engloba a un conjunto de tecnologías que afectan al enfoque de las organizaciones y empresas en la construcción de sus infraestructuras de TI (Tecnologías de la Información). Estas tecnologías que han configurado la nube son variadas, aunque las más notables son: virtualización, almacenamiento físico y en la web, centros de datos, software como servicio (SaaS), aplicaciones web y sistemas operativos web.
Diversas empresas de la web y de tecnologías como: Google, Amazon, IBM, HP, Microsoft, Oracle, Dell, SAP, son quienes constituyen el Cloud Computing. Siendo estas las que nos brinden las tecnologías cuando se necesita, mientras se necesite y ni un minuto más. Es de tener claro que en la que cuando las utilizamos no se instala nada de forma local y ni se paga por esta tecnología cuando no se utilizan, estas pueden ser gratuita o se paga cuando se utiliza o se ejecuta la aplicación.
La Cloud Computing puede ser infraestructura o software, es decir, puede ser según Reese(2009): una aplicación a la que se accede a través del escritorio y se ejecuta inmediatamente tras su descarga, o bien un servidor al que se invocará cuando se necesite. Siendo estos un servicio que cumple estos tres criterios:
• El servicio es accesible vía navegador Web (no propietario) o servicios Web.
• No se necesita ninguna inversión para comenzar a funcionar.
• Se paga sólo cuando se utiliza y mientras se utilice.
El NIST y la mayoría de los usuarios y proveedores de la nube, clasifican la computación en nube en dos conjuntos distintos de modelos (véase la figura 1):
Figura 1. Modelo de Computación en Nube del NIST (Elaboración propia en base a la
definición de computación en nube del NIST).
• Modelos de despliegue. Se refieren a la posición (localización) y administración (gestión) de la infraestructura de la nube (Pública, Privada, Comunitaria, Híbrida).
• Modelos de servicio. Se refieren a los tipos específicos de servicios a los que se puede acceder en una plataforma de cloud computing (Software como Servicio, Plataforma como Servicio e Infraestructura como Servicio).
Las tecnologías Cloud Computing ofrecen tres modelos de servicio (véase la figura 2):
:
Figura 2. Arquitectura de Computación en Nube en Capas.
1. Software como Servicio (Saas). Al usuario se le da la capacidad de que las aplicaciones que su proveedor le suministra corran en una infraestructura cloud, siendo las aplicaciones accesibles a través de un navegador web como en el caso del web mail, que es quizá el ejemplo más representativo, por lo extendido, de este modelo de servicio. El usuario carece de cualquier control sobre la infraestructura o sobre las propias aplicaciones, excepción hecha de las posibles configuraciones de usuario o personalizaciones que se le permitan.
2. Plataforma como Servicio (PaaS). Al usuario se le permite desplegar aplicaciones propias (ya sean adquiridas o desarrolladas por el propio usuario) en la infraestructura cloud de su proveedor, que es quien ofrece la plataforma de desarrollo y las herramientas de programación. En este caso, es el usuario quien mantiene el control de la aplicación, aunque no de toda la infraestructura subyacente.
3. Infraestructura como Servicio (IaaS). El proveedor ofrece al usuario recursos como capacidad de procesamiento, de almacenamiento o comunicaciones, que el usuario puede utilizar para ejecutar cualquier tipo de software, desde sistemas operativos hasta aplicaciones.
Figura 3. Modelo de despliegue.
Según el NIST hay cuatro posibles formas de desplegar y operar una infraestructura de Cloud Computing (Véase Figura 3):
- Nube pública. La infraestructura es operada por un proveedor que ofrece servicios al público en general.
- Nube privada. Los servicios cloud no son ofrecidos al público en general. La infraestructura es íntegramente gestionada por una organización.
- Nube hibrida. Resultado de la combinación de dos o más clouds individuales que, pudiendo ser a su vez propias, compartidas o públicas, permite portar datos o aplicaciones entre ellas.
- Nube comunitaria. Una nube comunitaria (community) es aquella nube que ha sido organizada para servir a una función o propósito común. Puede ser para una organización o varias organizaciones, pero que comparten objetivos comunes como su misión, políticas, seguridad o necesidades de cumplimientos regulatorios (compliances).
Las características básicas de la informática en la nube y que la han convertido en una de las tecnologías claves de esta década, son (Véase Figura 4):
Figura 4. Características de cloud computing.
Escalabilidad y elasticidad
Los servicios deber ser escalables y estar disponibles en todo momento (en el modelo 7x24, 7 días una semana y 24 horas al día, los 365 días del año) y deben estar diseñados para las necesidades del cliente, tanto cuando desee aumentar la demanda como cuando deseen reducirla en función de las exigencias de sus negocios. Esto significa que el servicio debe adaptarse a los clientes que utilicen el servicio un número determinado de veces a la semana, tanto como a todos aquellos que lo emplean de modo permanente o también para aquellos que lo usen como plataforma de desarrollo principal para todas las aplicaciones. La escalabilidad también debe manifestarse cuando la aplicación requiere de cambios en sus requerimientos o debe añadir usuarios adicionales. Esta capacidad para escalar (ampliar o reducir la escala de trabajo) se consigue mediante la propiedad de elasticidad o flexibilidad en el cambio. La nube debe ser escalable y elástica.
Aprovisionamiento de autoservicio
Los clientes de los servicios de la nube deben obtener (aprovisionarse) estos servicios en un proceso que no debe ser grande ni prolongado en el tiempo. Es decir, los clientes deben solicitar el servicio al proveedor ―al igual que cualquier otro, como un hotel o un viaje en avión―, especificar la cantidad que requiere de almacenamiento, aplicaciones, capacidad de proceso o de infraestructura o cualquier otro recurso ofertado, y debe recibir el servicio lo más pronto posible con fiabilidad, calidad y seguridad. El funcionamiento de los servicios en la nube, o mejor dicho en los centros de datos en la nube, difiere esencialmente del funcionamiento de los centros de datos corporativos. En estos casos, el cliente o departamento solicita el servicio a su centro de datos indicando los recursos que necesita de hardware, software, capacidad de proceso, aplicaciones, etc. El centro de datos analiza y estudia la petición, ordena la petición en el tiempo, poniéndola en una lista de espera con otras peticiones de usuarios y/o departamentos, estudia la disponibilidad de recursos existentes o la necesidad de compra o alquiler de aquellos recursos no disponibles, establece plazos de tiempo y fija un calendario, y si el servicio requiere compra de hardware o de software, o instalaciones, pruebas, verificación, etc. Todos estos procesos de aprovisionamiento llevarán un tiempo más o menos largo dependiendo de las normativas de las organizaciones y empresas. En los centros de datos de la nube, el sistema es muy diferente; al igual que cualquier otro servicio, la capacidad de aprovisionamiento bajo demanda dependerá de la disponibilidad del proveedor. Normalmente para los servicios ofertados y disponibles se reducirán los periodos de tiempo, porque probablemente sólo requerirán el registro o contrato del servicio y en corto tiempo, por no decir inmediato, el servicio estará disponible, ya que no requerirá instalaciones sino sólo la ejecución; e incluso el mantenimiento o lanzamiento de nuevas versiones, no se requerirá ya que corre a cargo del proveedor. Naturalmente estos servicios no serán gratis, con excepción de las tarifas especiales y de coste cero, por lo que es indispensable que las necesidades y requerimientos se determinen antes que se proporcione el servicio especificado y con el contrato comercial correspondiente (el SLA, acuerdo a nivel de servicio, suele ser un tipo de acuerdo o contrato reconocido a nivel internacional).
Interfaces de programación de aplicaciones API
Los servicios en la nube necesitan que sus API estén estandarizadas con el objetivo de conseguir la interoperabilidad con las aplicaciones de los clientes. Es decir, las interfaces deben proporcionar las instrucciones necesarias para que las aplicaciones o fuentes de datos se puedan comunicar entre sí, esto es, ser interoperables. Además de la interoperabilidad, se requiere también que las API’s cumplan con otras características como la portabilidad, la integración o la seguridad. Existen organizaciones y grupos de estandarización importantes tales como ISO, NIST, DMTF, etc., o en el caso más específico de aplicaciones Web sociales, estándares como OpenId u OpenSocial, para conseguir la interoperabilidad entre redes sociales, microblogs y aplicaciones Web. Un caso notable es la plataforma Force de Salesforce.com, que permite a un cliente enlazar fácilmente un servicio en la nube, tal como su software de CRM (gestión de relaciones con los clientes) con sistemas de contabilidad o financiero, sin tener que recurrir a complejas aplicaciones de integración, en muchos casos imposibles o difíciles de realizar. Facturación y contabilidad de los servicios Facturación y contabilidad de los servicios Facturación y contabilidad de los servicios Facturación y contabilidad de los servicios Los servicios de la nube deben poder realizar la facturación y medición o conteo de los mismos, es decir, como cualquier servicio que existe en los negocios y en la vida diaria de las empresas. Los servicios requieren de una buena gestión tanto de los procesos de negocio, como de la medición y efectividad de sus resultados. La facturación de un servicio en la nube debe ser un proceso nítido y transparente de modo que las herramientas de conteo de tiempo, de cantidad de almacenamiento, etc., permitan la verificación de lo que pueda suceder con un servicio de restauración como los de energía eléctrica, térmica o telefónica.
Monitorización y medida del rendimiento
Un proveedor de servicios de la nube debe incluir en sus contratos un entorno de gestión de servicios que permita gestionar sus sistemas de TI y sus entornos físicos. De este modo, el entorno de gestión de servicios debe poder mantener y garantizar el nivel de servicio requerido por la organización o empresa. El entorno de gestión de servicios debe garantizar la monitorización y la medida del rendimiento del sistema globalmente, tanto en los aspectos de seguridad como en el propio rendimiento. El proveedor debe garantizar al cliente el máximo de seguridad, y en servicios críticos como puede ser el correo electrónico o el almacenamiento de datos, ha de estar en condiciones de ofrecer el 99.99% de seguridad de funcionamiento. Muchos proveedores de la nube proporcionan a sus clientes herramientas para monitorizar el rendimiento de los servicios.
El número de proveedores de la nube cambia día a día y el número de aplicaciones ofrecidas a través de la nube cambia también por días o por semanas. ¿Cómo hacer para seleccionar el proveedor adecuado? ¿Cuáles son proveedores globales y cuáles son proveedores locales? Lo más importante es tener en cuenta los mejores conceptos comerciales que han aplicado los líderes pioneros de la nube y de qué modo esos conceptos se pueden extender a muchos otros actores del mercado que están apareciendo y seguirán apareciendo, buscando esencialmente la productividad de los servicios ofrecidos y la implementación en acuerdos de nivel de servicio (SLA) que beneficien tanto a proveedores como a clientes de la nube, Existen multitud de proveedores (vendedores) de hlos diferentes modelos de computación en nube, aunque no es una sorpresa que la mayoría de grandes nombres del mundo de la computación se han convertido también en importantes proveedores de la nube. La lista se vuelve interminable, pero tal vez conviene hacer una primera criba de proveedores con prestigio y fiabilidad ya probados: Amazon, Rackspace, Oracle, IBM, Microsoft Azure, Google, Salesforce.com, VMware, Cisco, EMC, Acens, Strato, NetApp, GoGrid, AppNexus, Arsys, Zoho…. Hay rankings para todos los gustos, desde los realizados por las grandes consultoras de TI, tales como IDC, McKinsey, Forrester, Gartner, Atos… a los realizados por medios de comunicación pasando por organizaciones y asociaciones profesionales o sin ánimo de lucro que invaden las noticias de la Web día a día.
Seguridad
Dado que la informática en la nube representa un nuevo modelo de computación, existe un alto grado de incertidumbre en lo relativo a la consecución de la seguridad en todos los niveles (por ejemplo, redes, aplicaciones, datos). Esta incertidumbre hace que los directivos y ejecutivos consideren la seguridad como primera prioridad en su estudio de migración a la nube. Las empresas exigen la seguridad, sobre todo en datos críticos o en la infraestructura de aplicaciones que les garantice no sólo que no se perderán los datos y que las aplicaciones funcionarán con el modelo 7x24, sino que la información de la empresa no podrá ser accedida por ninguna otra empresa, así como también el máximo de garantías ante ataques de hackers o similares. Dada la importancia del tema, dedicaremos un capítulo a la seguridad de la infraestructura y otro a la seguridad de los datos.
Bibliografía:
REESE, George (2009). Cloud Application Architectures. Building Applications and Infrastructure in the Cloud. Sebastopol (USA): O´Reilly
Ángel Arias (2015). Computación en la Nube. CreateSpace Independent Publishing Platform
Aguilar, Luis (2012). Computación en la nube: estrategias de Cloud Computing en las empresas. Marcombo.
No hay comentarios:
Publicar un comentario