miércoles, 29 de febrero de 2012

“Lo-que-sea as a Service” (XaaS) y CaaS (Communications as a Service)


Si hay una palabra que esté aún más de moda que Cloud Computing es el estribillo “… as a Service”. Y, como han pronosticado los expertos, nos queda oír muchas veces “Lo-que-sea as a Service”, con sus consiguientes siglas XaaS. Una lista de lo que ya se está oyendo es la siguiente:
  • Security as a Service (SaaS que colisiona en sus siglas con las mucho más populares de Software as a Service, y en algunos caso conduce a equívocos)
  • Data as a Service (DaaS)
  • DataBase as a Service (DBaaS)
  • Disaster Recovery as a Service (DRaaS)
  • DataCentre as a Service (DCaaS)
  • Unified Communications as a Service (UCaaS)
  • HelpDesk as a Service (HDaaS)
  • Etc.
Estos vocablos en algunos casos se mezclan con otros conceptos que apuntan al uso de las Cloud para resolver un problema, pero no a que la tecnología se ofrezca como un servicio, por ejemplo: Cloud-Based Contact Center, Cloud-Based Help Desk, etc. En realidad todo depende en donde se focaliza y enfatiza el uso de la Cloud, si para resolver un problema interno (lo que sería una Cloud Privada) o para ofrecer servicios a terceros (Cloud Pública). En este último caso es cuando se habla, siguiendo con el ejemplo anterior, de HelpDesk as a Service (HDaaS), ContactCenter as a Service (CCaaS), UnifiedComms as a Services (UCaaS), es decir, del uso en modelo Cloud (compartido, autoservicio, elástico, etc.) de “centralitas virtuales”, “puestos de operador virtuales”, etc. destinados a empresas que no quieren o pueden invertir en capital para disponer de su propias infraestructuras de este tipo y en el software (de operador de HelpDesk o de ContactCenter) asociados a su operación (gestión de incidencias, gestión del conocimiento, etc.) y deciden usar las de un proveedor de Servicios Cloud (CCSP).

Muchos de estos vocablos creemos que han sido lanzados al mercado con la idea de convertirse en palabra de moda (buzzworld), pero no creemos que “creen escuela”, aunque lo que sí es cierto es que recogen la tendencia actual de llevarlo todo a la “nube” y por eso lo hemos tratado en el comentario de hoy.

Es más, en estos momentos los ejemplos anteriores están empezando a ser recogidos bajo, dependiendo de los medios que se lea, como CNS (Cloud Networking Services) o CaaS (Communications as a Service) y que mientras unos consideran un nicho de SaaS, otros lo sitúan una extensión del IaaS. Como se ha comentado, bajo ese concepto se recogen de forma aislada o en conjunto los servicios cloud de comunicaciones que hemos usado antes, así como otros próximos a ellos, fundamentalmente por su necesidad para montar una solución completa de servicios de alto nivel como HPaaS, o CCaaS: desde “centralitas virtuales” y “puestos de operador virtuales” hasta “comunicaciones unificadas”, añadiendo el software de gestión de incidencias, y completándolo con servicios de “escritorio en la nube” (“cloud desktop”) que no se debe confundir con “escritorios virtuales” o virtualización del desktop (como ya analizaremos otro día), etc., y que algunos CCSP (Proveedores de Servicios Cloud) ofertan como un paquete y otros individualmente.

Me gustaría destacar que esta área de CaaS (Communications as a Service), a caballo entre el IaaS y el SaaS, también está siendo recogida por algunos autores como un nuevo modelo (o nivel) de servicio (a añadir a los ya definidos de IaaS, PaaS y SaaS). Al margen de lo acertada, o no, de esa clasificación, lo que sí es importante es no confundir dichos servicios CaaS con el concepto de “Cloud Networking”: estos últimos se pueden definir como todo lo que tiene que tener una red y la gestión de la misma para dar soporte al Cloud Computing; esto afecta tanto a la WAN como a la LAN, como a cualquier otro tipo de comunicaciones. Aunque es un tema al que quiero dedicar más tiempo otro día, por realizar una primera aproximación que lo clarifique, lo que pretende el CloudNetworking es resolver problemáticas del siguiente tipo: en la actualidad una máquina virtual no se puede mover fácilmente a una máquina física en un segmento diferente, por problemas en las direcciones IP, en las reglas de firewall, etc., o el aumento de ancho de banda a una máquina física en función del número de máquinas virtuales que soporta, etc. (para los cuales en algunos casos existen soluciones, pero o no son estándares, o no soportan la automatización, o…).

martes, 28 de febrero de 2012

Modelos de Despliegue de CloudComputing (taxonomía del NIST)

En el comentario del 20-feb-2011 veíamos la definición que el NIST realiza para el concepto de CloudComputing, y al día siguiente (el 21-feb-2011) analizábamos los 3 “Modelos (o niveles) de Servicio” (SaaS, Paas, e IaaS) tal como los define el NIST (pues ambas, definición y clasificación, son la más aceptadas en la actualidad).

También el NIST distingue entre 4 “Modelos de Despliegue” (Privado, Comunitario, Público e Híbrido) que introduce una ligera diferencia (el modelo comunitario) sobre el resto de la bibliografía actual al respecto (y que, en mi opinión, es importante considerar en un país como España, donde el cooperativismo tiene buenas raíces):

  • Nube Pública: La infraestructura de la nube está disponible al público en general (o un subconjunto en función de los criterios de venta del Proveedor). La infraestructura pertenece a la organización que vende sus servicios de Cloud Computing. Para el usuario de estos servicios todos sus costes son operativos (OPEX).
  • Nube Privada: La infraestructura de la nube pertenece a una única organización, quien la ofrece como servicio a sus propios departamentos. Puede ser gestionada por la organización o por una tercera parte, y puede estar en los locales de la organización o fuera de ellos. Resuelve algunos de los problemas de las Públicas (seguridad, regulación de datos, prestaciones, etc.), pero implica inversiones de capital (CAPEX).
  • Nube Comunitaria: La infraestructura de la nube es compartida por varias organizaciones y da soporte a una comunidad específica que comparte las mismas preocupaciones (p.e. misión, seguridad, requisitos, consideraciones de normativa legal, etc.). Puede ser gestionada por las organizaciones o una tercera parte, y puede estar locales propios o fuera de ellos. (Nota: como ya se ha comentado, el resto de la bibliografía actual no suele presentar esta categoría que queda incluida en la de “Cloud Privada”).
  • Nube Híbrida: La infraestructura de la nube está compuesta por dos o más tipos de nubes (privada, pública o comunitaria) que mantienen su propia identidad pero que son unidas por una tecnología propietaria o estándar para permitir la portabilidad de datos y aplicaciones.

Si recogemos en una sola figura los tres modelos de servicios (niveles) dentro del Cloud, los cuatro modelos de despliegue, y las cinco características imprescindibles tal como lo define el NIST, obtenemos un modelo tridimensional del mismo, tal como se muestra en la figura:

lunes, 27 de febrero de 2012

Resumen de la Jornada de Presentación del Proyecto ‘REALCLOUD: Aplicación del Cloud Computing en empresas’

El pasado jueves 23 de febrero tuvo lugar en FEMEVAL la Jornada de Presentación del Proyecto ‘REALCLOUD: Aplicación del Cloud Computing en empresas’. El objetivo de la jornada fue dar a conocer las posibilidades actuales y futuras del CLOUD COMPUTING aplicado a empresas para hacerlas más competitivas, así como las actividades del Proyecto REALCLOUD para animar a participar tanto a empresas del sector del metal como del resto de sectores, incluyendo al propio sector informático.

El Proyecto REALCLOUD tiene una duración de 30 meses (de jul-2011 a dic-2013) y cuenta con un presupuesto de 1.660.551,64 € y está siendo cofinanciado por el programa INNPACTO del Ministerio de Ciencia e Innovación. TISSAT lidera el consorcio que desarrolla este proyecto y que está integrado, además, por COREX, AIMME, UJI y URV, y a su vez cuentan con la colaboración de ITIO-DOE-UPV e ITI.

Durante la jornada IECISA, invitado por el consorcio, introdujo el concepto de virtualización de servidores de una forma muy didáctica, y destacádolo como una gran oportunidad para la optimización de recursos informáticos en las organizaciones.

A continuación TISSAT completó la situación actual del Cloud Computing, viendo como su concepto transciende más allá de recursos de cómputo (procesamiento), abarcando otros como almacenamiento, comunicaciones, aplicaciones, etc. Además, analizó los niveles (o clases) de servicios (IaaS, PaaS, SaaS) existentes y las opciones de despliegue que ofrece (Cloud Privadas, Públicas, Comunitarias e Híbridas) y en qué escenarios puede tener sentidos el uso de cada una de ellas y cuáles no. También le correspondió a TISSAT, como líder del proyecto, exponer las actividades del Proyecto REALCLOUD, junto con la propuesta de una aplicación del tipo CLOUD STORAGE o almacenamiento en la nube (denominada StackSync) como uno de los sub-proyectos piloto emblemáticos que se están poniendo en marcha junto a empresas innovadoras. Todos estos nuevos servicios innovadores, así como otros servicios Cloud (del tipo IaaS o SaaS) que ya tiene marcha, TISSAT los está ofreciendo desde su nube de 3 DataCenters: el de Madrid, el del Parc Tecnologic de Paterna (Tier III) y el sito en el ESPAITEC de la UJI de Castellón (denominado Walhalla y que es uno de los pocos certificados como Tier IV en todo el mundo), por lo que a todas las medidas de seguridad y fiabilidad propias de cada DataCenter (especialmente en el caso de Tier IV), y a las propias medidas de alta disponibilidad que ofrece el modelo Cloud, se suma las garantías que en ese sentido añade un modelo Cloud MultiDataCentre como el que TISSAT ha implantado.

Finalmente el Grupo de investigación ITIO-DOE-UPV mostró los resultados del análisis del estado del arte desde el punto de vista científico en la que se han analizado más de un centenar de estudios similares, con la conclusión de que ninguno está realmente orientado a las necesidades reales de las PYMEs y autónomos. Dicho estudio se refleja en forma de encuesta mostrada en la última ponencia llevada a cabo por AIMME en la que se presentó el procedimiento de participación.

Se constató el gran interés despertado por la iniciativa entre las empresas, manifiesta en las numerosas aportaciones por parte de los asistentes durante el coloquio.

Al final del evento se destacó la relevancia de conseguir una cifra suficiente de encuestas que permite aumentar la fiabilidad de sus resultados y de esta forma cumplir con sus objetivos de influir, por una parte, en los servicios finales que se desarrollen en el ámbito del proyecto para que sean las que realmente necesitan la empresas y, por otra parte, servir a su vez de punto de partida de futuras líneas de investigación para otros grupos de investigación punteros de ámbito global, al tiempo que ser un referente para otros estudios pues no se han encontrado en estos momentos estudios con dicha orientación.

Todos los miembros del concorcio de Proyecto RealCloud animamos tanto a las 130 empresas inscritas, como a cualquier otra empresa y organismo interesado en la materia (aunque no pudiera asistir a la presentación), a ver los vídeos de la jornada y obtener una copia de la documentación mostrada, participando en la encuesta accesible desde:


Las ventajas de participar en el proyecto mediante la encuesta anterior, son: 
  • Participar en un sorteo de un iPAD ofrecido por la empresa BROCADE que será entregado en la próxima jornada REALCLOUD (sep-2012).
  • Tener acceso a los videos de las ponencias y a toda la documentación de la Jornada REALCLOUD: ‘Aplicación del Cloud Computing en empresas’ (23-feb).
  • Satisfacer uno de los requisitos para ser una de las empresas seleccionadas para probar gratuitamente los avances del proyecto.
  • Recibir los resultados de la encuesta una vez procesados los datos.
  • Recibir notificaciones de los próximos eventos (jornadas y/o cursos) relacionados con CLOUD COMPUTING.

viernes, 24 de febrero de 2012

¿Cuándo tiene sentido contratar servicios IaaS (Infrastructures as a Service)?

Los servicios de la clase IaaS (Infrastructures as a Services) también están dirigidos principalmente (como los PaaS) a los departamentos TIC de las empresas, ellos son los fundamentales usuarios de este tipo de servicios (aunque hay usuarios finales, generalmente profesionales del sector TIC, que también los usan). Al contratarlos, el departamento TIC de una empresa está renunciado (por las razones que después se exponen) a usar sus propias infaestructuras TIC (servidores, almacenamiento en SAN o en disco, routers, switches, firewalls, balanceadores de carga, etc.), y a cambio usa los recursos TID del mismo tipo que le ofrece un Proveedor de Servicios Cloud (normalmente abreviados como CCSP, de su nombre inglés Cloud Computing Service Providers). Esta renuncia, en algunos casos es total (es decir, la empresa no tiene ninguna infraestructura TIC digna de mención), pero en otros muchos casos es solo parcial, es decir, usa su propios recursos y, además, para algunos aspectos, o tareas, o períodos de tiempo, etc., recurre a los del Proveedor CCSP.

Antes de proseguir adelante, convendría aquí realizar previamente una distinción (pues distinta bibliografía trata el tema de forma dispar) sobre determinados servicios de uso de recursos informáticos. Por centrar el tema, y simplificarlo, vamos a centrarnos (en estos momentos) en un tipo de recursos concreto el almacenamiento de datos: hay empresas, como DropBox, SugarSync que han desarrollado servicios (sobre plataforma IaaS de terceros) para realizar una copia de nuestros datos (ya sean como usuarios finales, ya sean como PYME, etc) en la “red” que nos puede servir de backup (copia de seguridad), a la vez que nos permiten sincronizar dicha copia con todos aquellos dispositivos (PC de casa, PC de empresa, portátil, iPad, móvil, et) que nosotros decidamos (evitándonos el traspaso de ficheros por mecanismos variopintos: USB, e-mail, etc.); además, también hay empresas como Flickr (fotos), YouTube (vídeos) que sobre sus propias infraestructuras nos ofrecen servicios de almacenamiento en la “red”. Como comentaba, distintos autores califican de forma distinta estos servicios: algunos de ellos lo califican como IaaS (motivo por el que introducido la discusión), pero yo me sumo al grupo mayoritario que los califica como SaaS.

Al margen de la disquisición precedente, a continuación vamos a tratar de dar las líneas generales (como ya comenté en días pasados, cada caso concreto necesita de su propio análisis) que nos permitan discernir cuando puede tener sentido contratar este tipo de servicios y cuando no:

DONDE PUEDE TENER MÁS SENTIDO:
  • Cuando la demanda es muy volátil (a picos le suceden valles sin uso de las infraestructuras).
  • Para nuevas organizaciones sin capital para invertir en hardware.
  • En organizaciones que están creciendo rápidamente y no pueden escalar en hardware al mismo ritmo.
  • Para necesidades temporales de infraestructuras, o de pruebas, o demos, etc.
  • Cuando hay necesidad o conveniencia de transformar costes de capital (CAPEX) en costes operativo (OPEX), caso que de alguna forma recoge todos los precedentes.
Ejemplos comerciales de este tipo de servicios son: los Amazon Web Services (AWS EC2 para cómputo, AWS S3 para almacenamiento), Rackspace Cloud (cloud servers, cloud files, cloud load balancers), GoGrid (cloud hosting), etc.
DONDE PUEDE NO SER LA MEJOR SOLUCIÓN:
  • Cuando aspectos legales o regulatorios dificulten el almacenamiento externo de datos o su procesamiento.
  • Cuando se precisen altas prestaciones o SLAs muy exigentes y las infraestructuras propias de una organización, o alquiladas en modo dedicado, tengan la capacidad de satisfacer dichos requerimientos.

jueves, 23 de febrero de 2012

Celebrada hoy la Jornada "REALCLOUD: Aplicación del Cloud Computing en empresas", con 130 inscritos (100 asist.) y 30 organiz. colaboradoras.
Más información en www.realcloudproject.com

¿Cuándo tiene sentido desarrollar sobre PaaS (Plataform as a Service)?

Como aclaraba en el comentario del 21 de febrero, un cliente que usa servicios PaaS (Platform as a Servicios) ofrecidos por un Proveedor de Servicios Cloud, renuncia a desarrollar y ejecutar sus propias aplicaciones en su propio entorno, y en su lugar lo hace sobre un entorno ajeno al suyo ofrecido por el proveedor del servicio. Es decir, el cliente no gestiona ni controla la infraestructura (ni servidores, ni sistemas operativos, ni almacenamiento, ni ningún tipo de elementos de red o seguridad, etc.) NI EL ENTORNO DE DESARROLLO (la propia plataforma de desarrollo, controlador de versiones, servidor de aplicaciones, etc.), pero sí tiene el control de las aplicaciones desplegadas y de la configuración del entorno de ejecución de las mismas (BB.DD. y otro middelware, aunque esta última parte es una frontera difusa que dependiendo del Provedor de PaaS viene ya dado e impuesto por él, o es libre, o en otros casos solo seleccionable entre ciertas opciones) y la responsabilidad de realizar todos los trabajos de operación y mantenimiento correspondientes a dicho nivel de control.



De lo expuesto se deduce que este tipo de servicios están destinados, fundamentalmente, a los Departamentos TIC de las empresas.
Con diferencia, este tipo de servicios son probablemente los menos desarrollados y los menos usados en estos momentos; no obstante, a continuación vamos a exponer unas líneas generales para ayudar a discernir cuando puede tener sentido usarlos, y cuando no:

DONDE PUEDE TENER MÁS SENTIDO:
  • Donde múltiples empresas desarrolladoras trabajen en un mismo proyecto.
  • Donde terceras partes externas necesiten interactuar con los procesos de desarrollo.
  • Desarrollos que quieren sacar ventaja de una fuente de datos ya existente o una lógica de negocio ya desarrollada y que se pretende aprovechar.
  • Desarrollos sobre un entorno de programación que no es el habitual en la empresa, y en el que probablemente nunca se vuelva a trabajar.
Ejemplos comerciales de este tipo de servicios Cloud son: Google App Engine, la plataforma Force.com de SalesForce, los Microsoft Azzure Services, o la empresa Heroku que ofrece distintos entornos de programación y despliegue de software como son: Java, Ruby, Python, Node.js, Clojure, Scala, etc.
DONDE PUEDE NO SER LA MEJOR SOLUCIÓN:
  • Cuando la aplicación necesite ser altamente portable (refiriéndose al sitio donde está alojada).
  • Cuando se necesiten usar lenguajes o enfoques propietarios que incidan en el proceso de desarrollo.
  • Cuando las prestaciones de una aplicación requieran de la customización del hardware o software subyacente desde la misma aplicación.

miércoles, 22 de febrero de 2012

¿Cuándo tiene sentido usar SaaS (Software as a Service)?

Recordando alguna de las características dadas en mi comentario de ayer, los Proveedores de Servicios SaaS ofrecen a los usuarios acceso a un conjunto de aplicaciones (software de usuario) específicas que son ejecutadas en las infraestructuras del propio proveedor y controladas por él. En muchas ocasiones también se le denomina “software bajo demanda” (aludiendo a la forma de uso y pago que caracteriza este servicio).

De lo dicho, y como ya decía en un comentario anterior (uno de los publicados el 18 de febrero), se deduce que el “usuario final” (el “ciudadano de a pie”, como se dice vulgarmente) ve fundamentalmente el Cloud Computing como un servicio que le permite usar aplicaciones en la red necesitando únicamente como recurso propio un simple navegador; es decir, el usuario final usa principalmente servicios SaaS, y asocia mayoritariamente el Cloud Computing con el concepto de SaaS (Software as a Service). Por ello, un extrapolación fácil es pensar que para llegar al gran volumen de usuarios de Internet, lo que nos interesa es desarrollar y ofrecer servicios en modo SaaS, pero no siempre tiene sentido realizar este proceso porque el software o la aplicación en cuestión no es la más adecuada para ello.

Aun siendo una frontera difícil de delimitar, vamos a intentar dar unas cuantas reglas para discernir qué tipo de software o aplicaciones, a día de hoy, pueden tener sentido que se lleven al modelo SaaS y cuáles no (hablando de forma genérica, pues cada caso particular necesita de su propio análisis teniendo en cuenta, como mínimo, 3 aspectos: tipo de empresa, características de la aplicación y modelo de negocio):

DONDE PUEDE TENER MÁS SENTIDO:
  • Software estándar (p.e. e-mail, donde muchos competidores usan la misma tecnología porque es necesaria pero en sí misma no confiere una ventaja competitiva).
  • Aplicaciones donde haya una gran interacción entre el mundo exterior y la organización (p.e. CRM, blog corporativo, etc.).
  • Aplicaciones donde haya una gran necesidad de acceso desde móviles o web (p.e. software de gestión de la fuerza de ventas).
  • Software que será usado solo por un corto período de tiempo (p.e. software de colaboración para un proyecto concreto).
  • Software de uso regular pero puntual, y que en esos momentos necesita muchos recursos (p.e. elaboración de nóminas).
Algunos ejemplos comerciales emblemáticos por su éxito son: los WebMail (gmail, yahoo, etc.), la aplicación de SalesForce para la gestión de la fuerza de ventas, o las aplicaciones para trabajos ofimáticos en red Google Docs, Office 365, etc.


DONDE PUEDE NO SER LA MEJOR SOLUCIÓN:
  • Aplicaciones que precisen de alta rapidez de ejecución o críticas en tiempo real.
  • Aplicaciones donde la legislación u otras regulaciones no permitan que los datos salgan de la organización.
  • Aplicaciones donde una solución ya existente, y cautiva de las infraestructuras de la organización, resuelve todas las necesidades de la organización en ese aspecto (p.e. ERP ad-hoc y aplicaciones heredadas).

martes, 21 de febrero de 2012

Faltan 2 dí­as par la Jornada "REALCLOUD: Aplicación del Cloud Computing en empresas"

A 2 dí­as de la Jornada "REALCLOUD: Aplicación del Cloud Computing en empresas" el aforo (120 plazas) está practicamente lleno: el que quiera inscribirse tiene que ¡darse prisa!. Más información en la web del Proyecto "RealCloud":
http://www.realcloudproject.com/eventos/

Cloud Computing: taxonomía por niveles (o modelos) de servicio (IaaS, PaaS y SaaS)

Uno de los aspectos en los que actualmente practicamente todo el mundo está de acuerdo es en distiguir dentro del Cloud Computing 3 niveles de servicio (o, según la fuente literaria, “modelos de servicio”) que puede prestar el proveedor del Cloud Computing (aunque algunos añaden, como otro día comentaremos, otros niveles de servicio como el CaaS, etc.) y que se diferencian entre sí fundamentalmente por el grado de visión, control (y preocupación) al que el usuario del servicio tiene acceso: aplicaciones (SaaS), plataformas (PaaS) e infraestructuras (IaaS). Cada segmento tiene un propósito diferente y ofrece diferentes productos para empresas y particulares.
  • IaaS: Cloud Infrastructure as a Service provee acceso a grupos de recursos hardware virtualizados, incluyendo máquinas, almacenamiento y redes. Con IaaS los clientes renuncian a usar sus propios equipos físicos, sino que usan los recursos virtuales que le proporciona el Proveedor de Servicios Cloud y sobre dichas infraestructuras el cliente es responsable de la instalación, mantenimiento, y ejecución de su propia pila (stack) de aplicaciones. Es decir, el cliente no gestiona ni controla la infraestructura subyacente (servidores, SAN, routers, switches, etc.), pero tiene control sobre los sistemas operativos, política de almacenamiento, aplicaciones desplegadas y posiblemente un control limitado sobre algunos (pocos y concretos) componentes de red (típicamente, por ejemplo, los firewall o los antispam).
Ejemplos comerciales de IaaS: Amazon Web Services (AWS EC2, AWS S3), Rackspace Cloud, GoGrid, etc.
  • PaaS: Cloud Plataform as a Service provee acceso a un entorno de programación y ejecución que se sustenta sobre una infraestructura escalable de componentes hardware y de middleware, sobre la que el cliente no tiene ningún conocimiento ni control. Con PaaS los clientes desarrollan y ejecutan sus propias aplicaciones sobre un entorno ajeno al cliente ofrecido por el proveedor del servicio. Es decir, el cliente no gestiona ni controla la infraestructura (ni servidores, ni sistemas operativos, ni almacenamiento, ni ningún tipo de elementos de red o seguridad, etc.), pero tiene control de las aplicaciones desplegadas y de la configuración del entorno de ejecución de las mismas (BB.DD. y otro middelware).
Ejemplos comerciales de PaaS: Google App Engine, Force.com (de SalesForce), Microsoft Azzure Services, etc.
  • SaaS: Cloud Software as a Service provee acceso a una colección de programas de aplicación. Los proveedores SaaS ofrecen a los usuarios acceso a un conjunto de aplicaciones específicas que son ejecutadas en las infraestructuras del proveedor y controladas por él. En muchas ocasiones también se le denomina “software bajo demanda” (dependiendo de la forma de pago). Es decir, el cliente no tiene acceso ni control a la Plataforma subyacente ni siquiera, en general, de las capacidades y funcionalidades de la aplicación con la única posible excepción de poder modificar aquellos parámetros de configuración de la aplicación destinados de forma específica para el usuario y su personalización.
Ejemplos comerciales de SaaS: WebMail (gmail, yahoo, etc.), SalesForce, Google Docs, Office 365, etc.

El siguiente esquema pretende aclarar las ideas anteriores, enfatizando en su lado izquierdo en la estructura de como unos servicios se construyen sobre los otros, y en su parte derecha dejando claro el nivel de sevico, es decir hasta donde alcanzan los trabajos y responsabilidades del Proveedor de Servicios Coud en cada uno de los 3 modelos (niveles) de servicio:
Niveles de Servicio (o Modelos de Servicio) en Cloud Computing
Niveles (o Modelos) de Servicio en Cloud Computing

En los próximos días profundizaremos con más detalle en cada uno de estos modelos de servicios, viendo a qué tipo de clientes va dirigido y analizando en qué casos tiene sentido su adopción y en cuáles no.

lunes, 20 de febrero de 2012

Cloud Computing: una definición formal (y la más ampliamente aceptada)

Ya he dicho con anterioridad que, en mi opinión, Cloud Computing es aún un concepto en evolución: su definición, casos de uso, tecnologías subyacentes, características, riesgos y beneficios están siendo y serán aún refinadas en un debate entre proveedores de servicio y la demanda del mercado, tanto en el sector público como en el privado, y en el contexto de la propia evolución de las tecnología que lo habilitan.

En el contexto de la afirmación anterior, el NIST (National Institute of Standards and Technology de EE.UU) ha propuesto una definición que está siendo aceptada mayoritariamente:
“Cloud Computing es un modelo para permitir el acceso adecuado y bajo demanda a un conjunto de recursos de cómputo configurables (p.e. redes, servidores, almacenamiento, apliaciones y servicios) que pueden ser rápidamente provistos y puestos a disposición del cliente con un mínimo esfuerzo de gestión y de interacción con el proveedor del servicio”.

Además, sobre su definición el NIST remarca, puntualiza y aclara 5 características como esenciales para que un servicio pueda ser considerado como Cloud Computing:

Auto-servicio bajo-demanda: Un cliente puede unilateralmente aprovisionarse de capacidades de cómputo (tales como uso de un servidor, almacenamiento en red, etc.) de acuerdo a sus necesidades, de forma automática y sin precisar de la interacción “humana” con el proveedor del servicio. (Nota: esta característica es probablemente la más ampliamente exigida y demandada para caracterizar al Cloud Computing y distinguirlo de otros paradigmas precedentes).

Recursos comunes: Los “recursos de computo” del proveedor son puestos en común para dar servicio a múltiples clientes usando un modelo “multi-tenancy” (infraestructuras compartidas) con diferentes recursos físicos o virtuales asignados dinámicamente y reasignados de acuerdo a la demanda del cliente. El cliente no tiene control ni conocimiento de la ubicación exacta de los recursos aprovisionados. Ejemplos de “recursos de computo” son: almacenamiento, procesamiento, memoria, ancho de banda de comunicaciones, maquinas virtuales, etc. Nota: como se observa el cómputo (o precesamiento) es solo uno de los tipos de recursos que se comparten (una de loas aspectos en los qeu se diferencia de laa virtualizacion de servidores)

Elasticidad rápida: Las capacidades pueden ser provistas (y liberadas) rápida y elásticamente, y en algunos casos automáticamente, de forma que el cliente tiene la visión de tener acceso a recursos ilimitados que puede comprar en cualquier cantidad y en cualquier momento.

Servicio Medible: El uso de los recursos es monitorizado, controlado y medido al nivel de abstracción apropiado para el tipo de servicio o recurso en cuestión (ancho de banda, procesamiento, almacenamiento, cuentas de usuario, etc.). De esta forma, la información del servicio utilizado es clara tanto por el consumidor como para el proveedor.

Acceso por red (Internet): las capacidades de computo están disponibles en la red y son accesibles mediante mecanismos estándares que promueven su uso por equipos de cliente heterogéneos (equipos de sobre mesa, PDAs, móviles, etc.).

domingo, 19 de febrero de 2012

Jornada “REALCLOUD: Aplicación del Cloud Computing en empresas”: jueves, 23 de febrero

En su organización colaboran, además, varios organismos (AI2, ANETCOM, ATI, AVALNET, AVANT, COIICV, COITCV, ESTIC, FEMEVAL, INFOMETAL, ISACA, etc.) y empresas (IECISA, MICROSOFT, DELL, BROCADE, NEXT, AMAUTA, ENCAMINA, etc.).

El OBJETIVO de la Jornada es doble: por una parte, dar a conocer las posibilidades actuales y futuras del CLOUD COMPUTING aplicado a empresas para hacerlas más competitivas; y por otra parte presentar las actividades del Proyecto RealCloud orientadas a animar a la participación en el Proyecto tanto de empresas del sector del metal como del resto de sectores, incluyendo al propio sector informático.

La jornada se inicia a las 9h45m en al sede de FEMEVAL, FEDERACION EMPRESARIAL METALURGICA VALENCIANA, sita en la Av. BLASCO IBAÑEZ, 127 (46022-Valencia).

La inscricpión se puede ralizar en la web del AIMME o siguiendo este enlace.

el PROGRAMA es el siguiente:
09.45 Recepción y acreditación
10.00 Apertura de la jornada. Santiago Bonet, Resp. de la Unidad TIC – AIMME
10.05 Presentación del Proyecto REALCLOUD: Real Data Center Cloud Services and Environment Carlos Cebrián, Dtor. Dpto. Grandes Proyectos – TISSAT
10.15 Una oportunidad para la optimización de recursos informáticos en las organizaciones: Virtualización y Cloud Computing Alberto Ferrús, Resp. de la División de Tecnología de Sistemas y Comunicaciones – INFORMATICA EL CORTE INGLES
11.00 Estado del arte: Resumen ejecutivo sobre Cloud Computing Fernando González y Raúl Oltra, Investigadores del Grupo de Investigación ITIO – DOE – UPV
11.20 Encuesta y Experiencias piloto sobre Cloud Computing. Santiago Bonet, Resp. de la Unidad TIC – AIMME
11.35 Coloquio.
11.50 Infraestructura tecnológica para las Experiencias piloto. Carlos Cebrián, Dtor. Dpto. Grandes Proyectos e I+D+i - TISSAT

sábado, 18 de febrero de 2012

Se inaugura el web-site dedicado al proyecto “RealCloud” (programa INNPACTO)

Logo del Proyecto
Logo del Proyecto "Real Cloud"

Tissat lidera un cosorcio integrado por la Universitat Jaume I, la Universtat Rovira i Virgili, el AIMME (el Instituto Tecnológico Metal-Mecánico) y la empresa Corex que está desarrollando el proyecto “Real Data Center Cloud Services and Environment”, abreviado como “RealCloud” que, con Nº. Exp.: IPT-2011-1232-430000, ha recibido financiación del hasta hace poco Ministerio de Ciencia e Innovación dentro de la dura convocatoria del program INNPACTO del 2011.
El proyecto, al que le dedicaremos más tiempo otro día, tiene una duración de 30 meses y plantea el desarrollo experimental de un entorno completo y auténtico de Cloud Computing basado en Data Center, compuesto por:
  • Una plataforma auténcita de cloud computing, es decir, que soporte el autoservicio bajo-demanda, tenga elasticidad rápida, permita ofrecer servicios medibles, accesibles por Internet, y basada en general en el principio de “multitenancy” – recursos compartidos – aunque permita también la adscripción fija basada en software libre.
  • Servicios reales de Cloud Computing orientados al mercado y basados en la demanda, orientados principalmente a PYMES y autónomos quienes participarán en su definición y serán probados por ellos mismos.
  • Distintas herramientas para la gestión y operación de dicha plataforma cloud necesarias para hacer un uso eficaz y eficiente de la plataforma y recursos subyacentes.
El proyecto acaba de inaugurar su página web dedicada esta semana:
http://www.realcloudproject.com
donde se pueden consultar más datos sobre su evolución, los eventos que se organizan entorno al mismo, etc.
Los resutlados de este proyecto potenciarán la plataforma “Néfeles” de Tissat con la que ofrece su servicios “CloudCentre”, catálogo de servicios que cubre una amplia gama de servicios de Cloud Computing.
Logo de RealCloud incluyendo los de los integrantes del Consorcio
Logo de RealCloud incluyendo los de los integrantes del Consorcio

viernes, 17 de febrero de 2012

Cloud Computing: Contraste con otros conceptos ya existentes

En un comentario anterior (el del martes 14, de febrero), ya enunciamos una distinción tecnológica entre “Virtualización” y “Cloud Computning”. Demorando un poco más una definición formal de Cloud Computing, hoy me gustaría analizar su concepto en contraste a otros conceptos e ideas ya existentes en el mercado.

Cloud Computing no es “Utility Computing”, ni “Grid Computing”, ni pago-por-uso, ni servicios gestionados… De todos estos conceptos ya existentes toma alguno o muchos principios, aunque con dinámicas propias que hay que saber comprender.

El Cloud Computing se puede considerar como una evolución de conceptos (y de los objetivos perseguidos por los mismos) como el “Utility Computing” y el “Grid Computing” que deben responder a las nuevas tendencias de orientación al servicio y de servicios interactivos cada vez más próximos al usuarios (expectativas creadas por la web 2.0) y que para ello cuentan con nuevas tecnologías (como virtualización, la automatización, y el procesamiento en paralelo) para dar ese salto en el nivel de servicio y de abstracción en lo referente a los equipos, plataformas y tecnologías subyacentes.

Si para unificar conceptos definimos Grid y Utility Computing de la siguiente forma:

  • Grid Computing: es la combinación de recursos informáticos de múltiples dominios administrativos aplicados en una tarea común.
  • Utility Computing: es el empaquetamiento de recursos físicos informáticos (para cálculo, para almacenamiento, etc.) ofrecidos como un servicio medible al estilo de las ”Utilities” (es decir, las empresas de servicios públicos: luz, gas, agua, etc.). Nótese que de acuerdo a esta definición, Utility Computing es, en gran medida, el mismo concepto que IaaS (Infrastructure as a Service) uno de los 3 niveles de los servicio que se reconocen en el Cloud Computing, pero los otros 2 niveles de servicios, PaaS y SaaS, van allá del Utility Computig.

Aceptando las anteriores definiciones, entonces podríamos definir al Cloud Computing en su forma más general (que recoja los 3 niveles o modelos de servicio) con la siguiente ecuación:

Cloud Computing = Grid Computing {N * Utility Computing}

que se puede entender como el:

“Cloud Computing es una Grid de varias Computing Utilities”.

¿Aclara esta última definción el concepto?, francamente dudo que lo haga en estos momentos, salvo para aquel que tenía bastante claro el concepto de Cloud Computing (al quien sí puede ayudarle a verlo desde una perspectiva más completa), por eso el próximo día sí daremos una visión formal, pero clarificante de que se entiende actualmente por Cloud Computing.

jueves, 16 de febrero de 2012

Cloud Computing: desde el punto de vista del Departamento TIC y desde una perspectiva evolutiva


Si ayer, de una forma simplista, comentaba que para un usuario final (un ciudadano de la calle) el Cloud Computing se ve principalmente como un servicio que le permite usar aplicaciones en la red (lo que tecnológicamente denominamos SaaS o Software as a Service), hoy en el mismo tono simplificado quiero analizar como ve un departamento TIC de una empresa los “servicios Cloud”.

La casuística es amplia, porque ellos pueden ser tanto usuarios de esos servicios Cloud proporcionados por otra empresa (habitual en empresas más pequeñas), como pueden ser proveedores de esos servicios a otros departamentos o áreas de su propia empresa (en organizaciones de cierto tamaño), como pueden ser proveedores de esos servicios a terceros, como una combinación de varias o todas las posiblilidades anteriores.

De nuevo para simplificar el problema diremos que en gran medida los servicios que en este caso aparecen son del tipo IaaS (Infrastructures as a Service), y por citar algún ejemplo, empresas como dropbox o sugarsync usan servicios IaaS de terceros para dar, a suvez, servicios personalizados de copias sincronizadas de ficheros en red, o como el caso de Hoffman que ofrece el servicio de elaborar tu propio albún de fotos personalizado que ellos imprimen y te envían a casa: es decir son empresas que ofrecen servicios SaaS a usuarios finales y que ellas no adquieren infraestructuras propias (más allá de las estrictamente necesarias) sino que las contrata a proveedores de servicios Cloud del tipo IaaS como Amazon, Rackspace, force.com, o Tissat. Dejo, momento para otro día, los motivos por lo que practican este modelo (aunque todos ellos se resumen en uno: es el que mejor se acopla a su modelo de negocio).

De nuevo un hecho diferencial en este modelo de servicios es que los recursos IaaS que el proveedor de servicios Cloud oferta son en modo compartido (“multi-tenancy”) y su provisión es en modo auto-servicio y bajo demanda del usuario, quien solo paga por el uso que hace de los mismos (“pay as you go”).

Desde este punto de vista, se está completando o cerrando un círculo iniciado en los primeros tiempos de las tecnologías cliente-servidor, y que se resume en la siguiente figura:


Ciclo de Evolución de las TIC desde el punto de vista de Cloud Computing

Si empezamos el recorrido por el cuadrante superior izquierdo; vemos que cuando emergieron las tecnologías cliente-servidor, las diferentes líneas de negocio o áreas organizacionales de una empresa “se procuraban sus propios servidores” (autoservicio) para satisfacer sus necesidades con recursos dedicados y propios: una etapa a la que podemos denominar “IT de nicho”.

Los problemas derivados de este modelo “desorganizado” condujeron (a partir de los 90) a un modelo más controlado de provisión y, sobre todo, gestión de estas infraestructuras que, siendo aún dedicadas, sin embargo hizo posible políticas centralizadas de gestión de dicho activos, de procesos y de seguridad: una etapa que se ha denominado de “Infraestructuras Gestionadas” (cuandrante inferior izquierdo).

En los años recientes, con la adopción de la tecnologías de virtualización, esta aproximación ha transitado hacia una etapa donde las infraestructuras ya no son dedicadas, sino compartidas, es decir, las mismas alojan (hospedan, o alquilan, por proximidad al término inglés usado ampliamente en la literatura para este modelo: “tenancy”) aplicaciones y servicios IT de distintos departamentos, áreas o clientes, pero donde la provisión de las mismas sigue siendo centralizada y controlada por el Departamento IT (quien recibe las peticiones y realiza la provisión necesaria): a esta etapa se la ha denominado de “Infraestructuras Virtualizadas” (cuadrante inferior derecho).

El ciclo se completa con el paradigma del Cloud Computing (cuadrante superior derecho) que sobre unas infraestructuras compartidas (multi-tenancy) permite que cada departamento o cliente se autoprovisione, es decir, se agiliza y facilita la provisión de servicios e infraestructuras IT al consumidor de las mismas (cliente o departamento) pero sobre activos compartidos.

miércoles, 15 de febrero de 2012

Cloud Computing: una aproximación desde el punto de vista del usuario final


Para un usuario final el Cloud Computing se ve principalmente como un servicio que le permite usar aplicaciones en la red (lo que tecnológicamente denominamos SaaS o Software as a Service).

Desde ese punto de vista, pues, Cloud Computing es una tecnología que utiliza principalmente Internet y un conjunto indefinido de servidores remotos para mantener los datos y aplicaciones. Este tipo de “nube” permite a los consumidores y a las empresas utilizar las aplicaciones sin necesidad de instalarlas en sus propios equipos y acceder a sus archivos personales usando sólo un terminal remoto con acceso a Internet. Esta tecnología permite la utilización mucho más racional de las aplicaciones mediante la des-ubicación del almacenamiento, la memoria, el procesamiento de datos y ancho de banda.

Un ejemplo sencillo de Cloud Computing es el correo electrónico de Yahoo o Gmail, las aplicaciones ofimáticas “Google Docs” u “Office 365″, etc. El usuario no necesita de un software o servidor específico para su uso, todo lo que se necesita es una conexión a Internet y se puede enviar y recibir mensajes de correo electrónico. El servidor y el software de gestión de correo electrónico están todo en la “nube” (Internet) y es totalmente gestionado por el proveedor de los servicios “Cloud” (Yahoo, Google, etc.), el consumidor no necesita instalar ningún software (salvo el navegador) en su PC o equipo local, pero sí disfruta de sus beneficios.

El uso del término “Cloud Computing” (“computación en nube”) viene probablemente del uso de una imagen de nube para representar a Internet u otro entorno de red de gran tamaño. No nos importa mucho lo que está en la nube o lo que ocurre allí, excepto que puedo enviar y recibir datos de forma fiable. Sin embargo en el caso de Cloud Computing la “nube” se asocia a un nivel de abstracción más alto: en lugar de la existencia de canales de datos, routers y servidores, ahora hay servicios. El hardware y software subyacente de la red, por supuesto, siguen ahí, pero ahora se utilizan las nuevas tecnologías para elevar el nivel de servicio construyendo aplicaciones o servicios que se ponen a disposición del usuario de forma que un usuario del mismo no se debe preocupar por la forma en que se lleva a cabo, o de qué tecnologías se utilizan para implementarlo o de cómo se mantiene (es más estos aspectos son transparentes para él): solo se preocupa de elegir un proveedor que le proporcione acceso a ella con un nivel de disponibilidad, prestaciones y fiabilidad acordes a los requisitos de la aplicación.

Una característica adicional que se debe enfatizar en esta primera aproximación es el carácter de auto-servicio y bajo-demanda: en general el usuario accede al servicio cuando quiere y con las prestaciones que elige, y por lo que está dispuesto a pagar de acuerdo a lo que haya pactado con su proveedor externo (o aceptando la repercusión de costes de su Departamento TIC en caso una Cloud interna) de acuerdo a los SLAs y recursos que el mismo decide aprovisionarse en cada momento (especialmente en el caso de IaaS o PaaS como posteriormente se describen al explicar estos conceptos que ahora se avanzan).

martes, 14 de febrero de 2012

Cloud Computing: palabra de moda y mucha confusión en su entorno


Una de de las principales líneas de I+D+i de Tissat en los últimos años es el Cloud Computing, donde estamos trabajando en distintas áreas.

Tratando de explicar esos conceptos a socios, colaboradores, e incluso en algún caso a clientes, me he encontardo con la situación de que no todo el mundo entiende lo que significa el Cloud Computing, al margen de que en si mismo es un concepto en evolución y cuyo significado actual no será el que finalmente se le quede (aunque en mi opinión, ya está suficientemente maduro para que las diferencia finales sean menores).

Así por ejemplo, hay muchas personas que confunden virtualización y cloud computing, y no, no son lo mismo: es un tema que trataré otro día con más detenimiento, pero en estos momentos me gustaría aclarar, por una parte, que la virtualización es una “habilitador y facilitador” del cloud computing pero no es la única tecnología que habilita y posibilita el cloud computing (por ejemplo, las técnicas de “grid” también lo permiten, etc.); y, por otra parte, que para qeu el paradigma del Cloud Computing se pueda llevar a cabo, son necesarios otras tecnologías o procesos para que una “nube” se comporte como un “Cloud Computing”.

Del mismo modo hay muchas empresas que dicen ofrecer servicos de Cloud Computing, y realmente no lo son: un servico por el mero hecho de estar accesible en modo web en un sitio remoto no es necesariamente un servicio Cloud. Al fin y al cabo, “cloud computing” es una palabra de moda, que todo el mundo trata de aprovechar.

Además, mucha gente reduce el Cloud Computing a un solo recurso, el que le da nombre, el “cómputo”, que podemos traducir en CPU, memoria, etc, pero Cloud Computing recoge el uso compartido (en modo auto-servico, bajo-demanda y nomralemtne en modalidad de pago-por-uso) de muchos más recursos como el almacenamiento (en disco), las comunicaciones, las aplicaciones, los elementos de seguridad, etc., y sobre todo el hecho de que hay personas o empresas que solo están interesadas en el uso de alguno de dichos recursos; por ejemplo hay empresas que usan servicios básicos (que recaerían en la categoría IaaS) de almacenamiento en Cloud de terceros (p.e, dropobox, sugarsync) o propios (p.e. flickr, youtube), para a su vez dar servicos de almacenamiento avanzado usuarios finales (en la categoria SaaS)

También hay mucha confusión debido a los distintos modelos y niveles de servicios, y alos qeu ya hemos introducido hace un momento:

  • IaaS: Cloud Infrastructure as a Service
  • PaaS: Cloud Plataform as a Service
  • SaaS: Cloud Software as a Service

Confusion que se incrementa cuando hablamos de los disitintos tipos de nubes:

  • Clouds Públicas
  • Clouds Privadas
  • Clouds Comunitarias
  • Clouds Híbridas

Por todo ello he decidido empezar una serie de comentarios para esclarecer muchos aspectos que rodean al Cloud Computing, tal como se entiende mayoritariamente hoy en día