El término cloud computing, cómputo en la nube, aparece cada vez con más frecuencia en todas partes. En la industria de TI mucha gente de la prensa, los proveedores, los analistas y  los integradores habla del tema y promueve sus bondades como el nuevo nirvana de la computación (uno más). Pero ¿qué es el cómputo en la nube? Trataré de responder a ello en el presente artículo, presentando las definiciones básicas y tratando de aclarar algunas confusiones comunes al respecto.

Así pues, como dicen los clásicos, empecemos por el principio: ¿de dónde viene el término? En palabras de Kevin Marks, de Google, “viene de los primeros días de Internet en los que dibujábamos la red como una nube… no nos importaba a dónde iban los mensajes… la nube lo ocultaba de nuestra vista”[i]. Esta analogía surge, a decir de algunos, de la manera en que la gente de telecomunicaciones ilustra desde hace mucho diagramas de red en los que se utiliza la infraestructura de un carrier, y luego de Internet, para conectar redes locales en la creación de una WAN:

Figura 1 - ¿Qué es el cómputo en la nube?

De esta manera “la nube” no era más que una abstracción de la infraestructura TCP/IP más allá de la frontera de la red local. Posteriormente, conforme los proveedores cayeron en la cuenta de que no sólo se podía ofrecer infraestructura de telecomunicaciones en la nube sino también software y aplicaciones, surgió el término de cloud computing, en donde ahora “la nube” pasa a ser una abstracción de datos, documentos, aplicaciones e infraestructura de TI que están “en algún lugar del mundo”.

En pocas palabras, el cómputo en la nube es un modelo que permite el acceso sobre demanda a recursos compartidos de cómputo (redes, servidores, aplicaciones, servicios, etc.), de una manera fácil, rápida y con facilidades de servicio a la carta según sean las necesidades del usuario ¿Y qué significa esto? Pues simple y sencillamente que en el mundo ideal un usuario de cómputo en la nube podría llegar al extremo de sólo requerir su PC y un enlace de datos pues su infraestructura de TI, las aplicaciones que usa y aún sus datos estarán en la nube, sin que el usuario sepa dónde están exactamente y permitiéndole modificar al vuelo, y en un modelo de auto servicio, la infraestructura, aplicaciones y servicios de TI de acuerdo a sus necesidades puntuales.

Ahora bien, dado que estamos en las primeras etapas del desarrollo de este modelo, el cómputo en la nube es un término que está en plena evolución y no todo el mundo define de la misma manera lo que significa. Es por ello que han surgido una serie de iniciativas que tratan de estandarizar los términos y definiciones al respecto (ver recuadro 1), siendo el NIST (National Institute of Standards and Technology) y la CSA (Cloud Security Alliance) dos de los organismos que se han establecido como referentes en la industria en lo que toca a la definición de lo que es el cómputo en la nube.

Precisamente la CSA publicó la “Guía para la seguridad en áreas críticas de atención en Cloud Computing”, que a mi parecer es un documento fundamental que debe leer cualquier persona que quiera entender y adentrarse en el nuevo paradigma llamado cloud computing. En dicho documento la CSA define claramente qué se entiende, por ahora, por cómputo en la nube y contiene, organizadas en 11 dominios, “las claves a tener en cuenta para comprender los principios y procesos que rigen el Cloud Computing, los modelos a los que podemos adherirnos, y sobre todo, las áreas críticas que debemos tener en cuenta y las medidas que deberíamos tomar los responsables de seguridad de la información para que nuestras organizaciones puedan trabajar “en la nube” con la máxima garantía y confianza y los mínimos riesgos posibles”.

En la guía de la CSA aparece un diagrama que resume de una excelente manera lo que se entiende por cómputo en la nube y el cual explicaré a continuación:

Figura 2 - ¿Qué es el cómputo en la nube?

Características esenciales

El cómputo en la nube posee 5 características esenciales:

  1. Autoservicio a la carta. Los usuarios requieren muy poca o nula intervención del proveedor para satisfacer sus necesidades de servicio en la nube. Así pues, por ejemplo, si se necesitan 3 servidores virtuales con Windows 2003, 4 GB de RAM y 160 GB de disco,  basta con entrar a una página web en la que se hace dicha elección en un sistema automatizado que no requiere de intervención de nadie más.
  2. Amplio acceso a la red. La nube tiende a ser, por definición, ubicua. Y el modelo de cómputo en la nube  funciona mejor conforme esto avanza pues la idea es que un usuario pueda hacer uso de los servicios en cualquier lugar y desde cualquier plataforma.
  3. Reservas de recursos en común. Los proveedores ponen una gran reserva de recursos (disco, CPU, memoria, aplicaciones, etc.) que son utilizados en un modelo de multi-posesión por los clientes, siendo tarea del proveedor el control y segregación de los mismos.
  4. Rapidez y elasticidad. Para poder cumplir con las primeras dos características, es necesario que la nube pueda ser flexible y rápida en la provisión de recursos para sus usuarios. De hecho, para dichos usuarios, pareciera que la nube es un depósito ilimitado de recursos.
  5. Servicio supervisado. El proveedor de servicios en la nube establece sistemas que controlan y optimizan el uso de los recursos, estableciendo mecanismos de supervisión, control y notificación que permitan a cada usuario saber cómo y qué recursos está empleando.

Modelos de servicio en la nube

Este es uno de los temas más conocidos del cómputo en la nube, pues la publicidad y la prensa constantemente lo mencionan y se refiere a cómo y para qué se empleará la nube por un usuario: como sustituto de una aplicación, de una plataforma de desarrollo o de infraestructura básica de TI.  A partir de lo anterior, en el documento de la CSA se define un “Modelo SPI como servicio”, donde S, P e I hacen referencia a software, plataforma e infraestructura, respectivamente:

  1. Software como servicio (Software as a Service, SaaS). En este modelo el usuario utiliza aplicaciones que se ejecutan en la nube y no tiene control de la infraestructura en la que dicha aplicación corre; de hecho a veces ni idea tiene de cómo y dónde está esa infraestructura. Los sistemas de correo web (GMail, Hotmail, etc.) son un ejemplo clásico de este modelo.
  2. Plataforma como servicio (Platform as a Service, PaaS). En este caso se tiene acceso a una plataforma de programación sobre la cual el cliente puede desarrollar sus propias aplicaciones en la nube, pero sigue sin tener control sobre la infraestructura básica de TI debajo de dicha plataforma.
  3. Infraestructura como servicio (Infrastructure as a Service, IaaS). En el tercer modelo de servicio, lo que el proveedor suministra a sus clientes es infraestructura básica de TI, normalmente bajo un esquema de virtualización, de tal manera que se tiene acceso a, por ejemplo, servidores virtuales sobre demanda, los cuales son administrados y operados por el cliente para lo que él quiera. En este caso el proveedor sólo administra la infraestructura de nube subyacente

Modelos de despliegue en la nube

Independientemente de si el cliente está empleando la nube para SaaS, PaaS o IaaS, la manera en la que el proveedor hace disponible los servicios de nube da origen a 4 modelos de despliegue en la nube:

  1. Nube pública: El proveedor pone los servicios de la nube a disposición de cualquier persona u organización que quiera contratarlos.
  2. Nube privada: Los servicios de cómputo en la nube son exclusivos para una organización, quien puede ser a su vez la propietaria de la nube o puede contratarla con un tercero.
  3. Nube comunitaria: Cuando un grupo limitado de organizaciones comparte una infraestructura de nube, soportada por el grupo mismo o por un tercero, se habla de una nube comunitaria.
  4. Nube híbrida: No es más que una combinación de dos o más nubes de los tipos anteriores. La idea principal aquí es que se tienen nubes separadas pero con portabilidad de datos y aplicaciones entre ellas.

Con los términos expuestos hasta aquí, espero haber explicado de una manera más o menos clara los conceptos básicos del cómputo en la nube y antes de dar por terminado este artículo quisiera dedicarle algunas líneas a listar cuáles son algunos de los retos más importantes que debe enfrentar la industria si quiere que este nuevo paradigma sea un éxito en el futuro cercano:

 

  • Madurez del mercado.- Clara señal de la inmadurez del mercado es el hecho de que aún la propia definición de qué es el cómputo en la nube está terminando de establecerse. “Cloud computing probablemente se convertirá en la norma a largo plazo, pero pasarán 10 años para antes de que el modelo evolucione a ese nivel”, Jason Creasey, responsable de investigación en el Information Security Forum.
  • Estandarización incipiente.- Como resultado de la inmadurez aún no se establecen estándares, ni de facto ni de jure, para la implantación,  operación y federación de servicios de cómputo en la nube. Cada proveedor está desarrollando sus propias soluciones, aunque ya hay iniciativas haciendo esfuerzos de estandarización.
  • Viabilidad a largo plazo.- ¿Qué pasa si su proveedor de cómputo en la nube es adquirido por otra empresa, o peor aún, desaparece? Los clientes deberían establecer mecanismos y procesos que les aseguren que sus datos estarán disponibles si eso pasa.
  • Portabilidad entre nubes.- Dado que los estándares aún están evolucionando, hoy en día no es tan fácil migrar de una nube a otra en caso de ser necesario.
  • Mecanismos de recuperación.- Los planes de recuperación del negocio y de TI, siempre importantes, adquieren mayor relevancia cuando parte de los datos y las aplicaciones están “en algún lugar  de la nube”. Es muy importante saber qué previsiones tiene el proveedor para recuperar la operación en caso de fallas en su infraestructura.
  • Soporte para análisis forense (técnico y legal).- La investigación de actividades inapropiadas o ilegales puede llegar a ser imposible en un ambiente de cómputo en la nube, tanto por cuestiones técnicas como legales: se requiere que la infraestructura del proveedor permita la vigilancia y recopilación de la posible evidencia, pero también se necesitan mecanismos contractuales y legales que permitan a los clientes el acceso a dicha  evidencia.
  • Legislación inadecuada.- De todos es conocido que la legislación en casi cualquier país suele estar retrasada en lo que tiene que ver con aspectos relacionados a cómputo e Internet. Esto es especialmente notable en el caso del cómputo en la nube, pues se trata de uno de los paradigmas más nuevos.
  • Cumplimiento regulatorio y jurisdicción.- Este es un tema fundamental que no debe ser soslayado y que corre el peligro de ser ignorado pues más que una cuestión técnica se trata de un asunto legal. Finalmente los clientes son los responsables de la seguridad y la integridad de sus datos, aún si estos están con un proveedor de servicios, y en un modelo de cómputo en la nube hay dos grandes preocupaciones:
    • ¿Cómo se puede auditar y certificar a un proveedor de servicios de cómputo en la nube, sobre todo de cara al cumplimiento regulatorio?
    • Dado que el cliente puede no saber dónde están sus datos ¿cómo saber si se están infringiendo leyes sin saberlo (por ejemplo, al permitir que los datos del cliente sean almacenados en países en los que las regulaciones legales lo prohíben)?
  • Seguridad de la información.- De acuerdo a lo dicho líneas arriba, el mantenimiento de la famosa CIA (confidencialidad, integridad y disponibilidad) de la información es uno de los temas más relevantes: “…los expertos dicen que el modelo de cómputo en la nube sigue siendo inmaduro y tendrá que demostrar un alto nivel de seguridad que satisfaga a la mayoría de los usuarios empresariales” (ComputerWeekly, septiembre 2009). Algunos de los temas que más hay que cuidar al respecto son los siguientes:
    • Acceso privilegiado (Privileged user access). ¿Cómo se asegura que personal no autorizado, tanto del cliente como de otros clientes y del propio proveedor, no tendrá acceso a los datos?
    • Localización de los datos (Data location). Ya se habló de esto en la parte de cumplimiento regulatorio y en resumen la preocupación se centra en cómo lograr que los proveedores mantengan y procesen los datos en jurisdicciones específicas y cómo lograr que acepten el cumplimiento de leyes y regulaciones locales que son de relevancia para sus clientes.
    • Segregación de los datos (Data segregation). En ambientes de cómputo en la nube, por su propia naturaleza, los datos de los clientes comparten una infraestructura común. Es por ello que los clientes deberían pedir evidencia de que su información está cifrada y segregada de los datos de otros clientes.
    • Falta de estrategia de seguridad.- Como siempre, no todo es responsabilidad de los proveedores. De acuerdo a IDC, más del 30% de las grandes corporaciones en Estados Unidos tienen datos o aplicaciones en la nube, pero dos tercios de ellas no tienen una estrategia de seguridad para el cómputo en la nube.

Como se puede ver, los retos son muchos, complejos y requerirán de la participación de equipos multidisciplinarios para poder vencerlos. Con el cómputo en la nube es cierto, más que nunca, eso de que “TI no es una cuestión de los técnicos, sino del negocio”.

[email protected]

————————————————————————————————————————————————————————

Recuadro 1: Dos definiciones de cómputo en la nube.

El NIST (National Institute of Standards and Technology), que es uno de los organismos más reconocidos en la industria de TI define el cómputo en la nube como un modelo para permitir el acceso sobre demanda vía la red a un conjunto compartido de recursos de cómputo que pueden ser rápidamente provisionados y liberados con un esfuerzo de administración mínimo o con poca interacción del proveedor de servicio.

Por su parte, la CSA (Cloud Security Alliance) tomó la definición del NIST y la re fraseó para definir el cómputo en la nube es un modelo a la carta para la asignación y el consumo de computación. Describe el uso de una serie de servicios, aplicaciones, información e infraestructura compuesta por reservas de recursos de computación, redes, información y almacenamiento. Y estos componentes pueden orquestarse, abastecerse, implementarse y desmantelarse rápidamente, y escalarse en función de las dimensiones para ofrecer unos servicios de tipo utilidad.

————————————————————————————————————————————————————————

Recuadro 2: Referencias.

Cloud Security Alliance
Es una organización sin fines de lucro que busca promover el uso de mejores prácticas que aseguren la seguridad de la información en el cómputo en la nube y para promover la educación de los usuarios de cómputo en la nube que ayude a la seguridad en todos los ambientes de cómputo.
http://www.cloudsecurityalliance.org/

National Institute of Standards and Technology
Fundado en 1901, el NIST es una agencia no regulatoria del gobierno federal de los Estados Unidos cuya misión es promover la innovación y la competitividad del país promoviendo el avance en las ciencias de medición, estándares y tecnologías. Está reconocido como un organismo de gran influencia a nivel mundial en el establecimiento de estándares y recomendaciones de cuestiones tecnológicas.
www.nist.gov

Foro Jericó
Es una asociación internacional dedicada a promover la seguridad en ambientes de redes abiertas. Sus miembros incluyen a los responsables de seguridad de TI de grandes empresas, proveedores, agencias de gobierno y gente del mundo académico.
www.opengroup.org/jericho/

————————————————————————————————————————————————————————

[i] En la dirección http://news.cnet.com/8301-13953_3-9938949-80.html?tag=mncol video interview puede consultarse un video con las respuestas de diversas personalidades a la pregunta ¿qué es el cómputo en la nube?