martes, 29 de mayo de 2012

"Real” Cloud Computing Services vs. “Fake” Cloud Computing Services

Some days ago (I’ve left enough days in order people that meets me wasn’t be able to find out what event was) I assisted to an event about Cloud Computing that was developed in the campus of an important Spanish university and organized by an international organization created for fostering business around Cloud Computing (let me not mention its name, because I think they don’t do their best in moderating and focusing the meeting). Most of the assistant was local entrepreneurs or technical staff. Besides, all but one of the speakers was local people, including a University chairman; in the other side, the organizer representative was foreigner (non local people) and supposed expert, or al least knower, in the subject to be treated. In that meeting I listened, and nobody contradicts or opposites them (nor the organizer, nor other speakers, nor university teachers that was present, probably because they want to be polite), some statements that I disagree (unfortunately I couldn’t, nor wished, to stay until the final open round table).

First of all, let me summarize some opinions (in fact I am not its owner, I just copied them from a lot of experts with who I share their point of view):
  • Cloud Computing is an open and evolving concept that probably will be redefined in coming years in function of:
    • the way Clients (companies, organizations or persons) use its services and demands new ones,
    • Providers imagine and develops new services
    • and, also, Technical Advances enable new ideas or services
  • Historically the use of its name, “cloud computing”, comes from:
    • the “cloud” that was used to represent the abstraction of Internet connecting everything
    • The verb “to compute” used in its utmost widest meaning, I mean, not only the calculation itself but also everything needed for the calculation: storage, communications, and so on.
  • In order to have a “reference”, the most used and accepted definition of Cloud Computing is the one of NIST that, without regarding the Service Model (IaaS, PaaS or Saas) and the Deployment Model (Private, Community, Public or Hybrid), states 5 Essential Characteristics for a CloudComputing services (see http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf) that I copy below because it’s worth remembering them:
    • On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
    • Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).
    • Resource pooling (multi-tenant). The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, and network bandwidth.
    • Rapid elasticity. Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
    • Measured service. Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
  • Computer Virtualization is a technology that enables cloud computing of processing (calculating) resources: it’s currently needed for developing a Cloud solution, but it’s only about a subset of resources (computing, but also storage and communications must be faced up, and these 2 last are not afforded by virtualization) and it’s only part of tool and features needed (for example self-service feature isn’t used to be provided by most of existing virtualization products).
  • Internet based application accessed by a browser is not necessarily a cloud computing service.

So when I earth that someone is doing Cloud Computing since firsts 2000s I think, I believe that he is wrong or he misunderstand the concept (or simply hi’s taking advantage of a buzz-world).

So when I listen to someone to state that its “vertical” application (not a generalist horizontal service as e-mail, CRM, and so on) is SaaS since 5 years ago I think he is wrong: maybe you only need a browser to use his application, maybe the service is sold in a pay-per-use basis and even maybe is on a multi-tenant platform; however a 5 year old vertical application (neither modified, nor migrated to some cloud service as the provided by RightScale, nor migrated to a PaaS, nor so) probably will not scale fast up (or down) to provides enough resources to incoming users (or when user log out).

I agree that so far it has been a purist discussion (in some way an academic point of view). However, it’s more worrying if you find out that the application you use in a pseudo-cloud-service way is hosted in a server, maybe a big server, even a mainframe, or even a clustered platform, but the application is “anchored” to a specific existent platform been not able to move to other or to increase when more compute or storage or broadband is needed.

I also agree that for most SaaS users (mainly citizens and SME) the difference is neither perceptible nor important. They only want the service, as cheaper as possible and paying for the use they do of it and they trust, or hope, the promised SLAs will be met (or not?).

So, the tradeoff is: in one hand, a Real Cloud Service Provider will probably serves you better; in the other hand, Real Could Service Providers use to be more expensive than the fake one.

In one side, a Real Cloud Service Provider will probably serves you better; of course, Real Cloud Providers have a big platform, but it is limited, and in general they overbook its capabilities, and that it is also possible they do not meet SLAs (in fact it happens seldom). In the other side, it was quite difficult you lose service for days in a Real Cloud Servicer as it seldom happens in a fake “buzz-worded” Cloud Service, losing data even, and so on.

Finally, it’s also known some important companies (RIM, Google, …) failed in delivering some of its services for a few days (by the way, let me another academic question: are they Real Cloud Service Providers?)

Therefore my question is:  is it worth paying the difference? or when?

PLEASE, LET ME KNOW YOUR OPINION ABOUT

martes, 22 de mayo de 2012

Market Analysis of Personal Cloud Services

In previous comments in this blog, some in English (“Personal Cloud, pending challenges”, “Discussion on Gartner Forecast about Personal Cloud”, and so on) and others in Spanish (“StackSync, un ejemplo español de Personal Cloud”, “Personal Cloud ¿un nuevo modelo de despliegue de Cloud Computing?”, etc.) we have already discuss about Personal Clouds. Among the current services that could be qualified as Personal Cloud, the pioneer o probably the most mature is an application that allow sharing and synchronizing data between different devices of the same person, or even from different person but always under the fine control of the owner of the information and with its permission. The main well-known paradigm and probably the reference against others are compared is DropBox. (Note, in this discussion we are to focus in DropBox similar services, and to forget other kind of Personal Cloud Services, for example Cloud Desktop that was treated by Gartner in “Personal Cloud to replace PC by 2014” as mentioned in a previous comment on 2012-mar-20).

In today comment I want analyze the market about this service, first, focusing in the main business features of this market, and after reviewing the current services and players that are competing.

The state of the market could be digested in the following points:
  • Market is still in its early stages. Although there are some long-established products and suppliers, most are still young.
  • The space is highly fragmented. Besides, all of the suppliers in this market, especially the smaller ones, are finding it challenging to clearly map out where they and their competitors play – and where they want to be.
  • There are some significant strategic uncertainties hanging over the entire Personal Cloud SaaS solutions.
  • The technology trends are difficult to read, and changing very fast.
  • Acquisitions and consolidation will probably begin to occur, since some big players are outside of the market right now.

As stated previously Dropbox is a no too big company, but it’s probably the main reference currently. Besides there already are some big companies playing in this market:
  • The just come Google Drive,
  • Microsoft SkyDrive,
  • iCloud of Apple,
known by everyone interested in this subjet. All of them (with differences, of course) are mainly cloud storage solutions, and it’s quite difficult compete with them.

However, there are other alternatives, perhaps not as well known as their large relatives, looking for some kind of specialization that open a niche market for themselves:
  • SugarSync. Dropbox’s main competitor until the arrival of Google Drive, works on both Windows and Mac, iPhone OS, Android, BlackBerry and Windows Phone. One of the main distinguishing features is that the user can simply indicate in each folder or file if he wants to upload files to the cloud and also if must synchronize all user devices or just the data at some specific.
  • Box. A very popular and widespread alternative, is remarked all the integration possibilities it offers. Having opened its API, mainly emphasizes collaboration options offered to users.
  • Cubby. Cubby, a product of LogMeIn, tries to become the perfect choice for those looking functionalities between Dropbox and SugarSync, allowing the user also to synchronize multiple computers simultaneously. Because of the API is not public, it does not integrate with other apps.
  • Insync. This product may be one of the solutions more affected by the announcement of Google Drive, because this cloud is focused on access to Google Docs from different devices.
  • Wuala. With a privacy-oriented design, the user can not even access their own files through the web, using for connection a Java web app, that assures that encryption is always processed on the device.
  • Syncplicity. Focused at business sector, provides automatic backups and is able to access multiple versions of documents, also offering the flexibility to synchronize files with different devices (Windows, Mac, Android and IOS), and other features for real-time collaboration.
  • OwnCloud. Is a flexible, open source file sync and share solution. Whether using a mobile device, a workstation, or a web client, can be synchronized with Amazon, or Google localStorage.

Most of that solutions are USA companies that are not worried, in general, to be compliant with Directive 95/46/EC of the European Parliament and related user’s privacy rights.

Besides for the success of the solution, it’s also needed to make the user feel that he’s no captive of the solution, therefore standardization and/or, at least, interoperability are needed. Besides, Public Administrations and many private companies are reluctant to store their information in the cloud, due to legal restrictions and because of the lack of security, about the property and access conditions to such information.

In summary, Personal Clouds are in their infancy, and two major problems must be solved to facilitate their massive adoption by users and companies: privacy and interoperability.

Tissat is partnering with other European companies (Canonical and Eye OS ) and R&D organizations (Universitat Rovira y Virgili, Institut Eurecom, and Ecole Polytechnique Fédérale de Lausanne) to launch the CloudSpaces project (partially funded by European Commission) that will face up to both challenges and we hope its research activities bring new ideas and approaches to solve them, and let Tissat to improve its StackSync service with even enhanced security features.

miércoles, 16 de mayo de 2012

Migrando aplicaciones a la nube (AaaS, o SaaS específicos o sectoriales)

En el área de SaaS, hay un subsector del mismo al que algunos llaman AaaS (Application as a Service) para recoger en él a un subconjunto de software compuesto por aquellas aplicaciones propias con las que una empresa está dando servicio a clientes externos (haciendo negocio) o a usuarios internos (resolviendo una necesidad común, pero específica e interna de una gran empresa), es decir aplicaciones que aunque se usen por un amplio conjunto de usuarios de alguna forma son aplicaciones propietarias o verticales de un sector muy concreto y no son altamente generalistas. Estos servicios del tipo AaaS (al igual como sucede en general con el resto del SaaS) se pueden llevar a la “nube” de 4 formas muy diferentes:
  1. Una de ellas la podríamos considerar “no pura” y que de forma simplista consistiría en virtualizarla, y gestionar de forma manual sus necesidades cambiantes de recursos en función de la demanda de los usuarios (levantando más máquinas virtuales o reduciéndolas en función de la carga, que es monitorizada por sistema de gestión tradicionales). De forma similar o incluso menos sistemática habría que resolver sus necesidades de almacenamiento o de comunicaciones. La infraestructura que utilice puede ser propio o externa, y en este caso puede ser una auténtica plataforma IaaS o una plataforma que contrata de máquinas virtuales. Para simplificar la casuística a analizar, y para cercarnos al purismo, vamos a entender que la plataforma en la que se instale la aplicación es auténticamente IaaS.
  2. Una segunda opción, es usar la primera aproximación y, además, usar los servicios de empresas intermedias que se encargan de realizar la correcta gestión del entorno virtual para asegurar que nuestra aplicación tiene en todo momento los recursos necesarios y suficientes (es decir, sin pecar de un exceso onerosos) para atender a la demanda de los usuarios. Una empresa paradigmática en ofrecer tales servicios es RightScale.
  3. Una tercera opción es desplegarla sobre un entorno PaaS real (aquí dependemos de que de nuevo la palabra cloud es un “buzzworld” y todo el mundo califica de tal sus servicios, encontrándonos con algunos proveedores de servicios PaaS que no son tales (sino más bien una Plataforma más o menos grande con un servidor de aplicaciones, si se me permite esta aproximación muy simplista). Si el servicio que se contrata es una auténtico PaaS, este detectará las necesidades en cada momentos de la aplicación y se encargará de aprovisionarla con los recursos correctos (algunas de las plataformas PaaS existentes sí realizan este aprovisionamiento automático para la aplicación que corre sobre él, pero solo de recursos de cómputo, siendo el almacenamiento y las comunicaciones gestionados de forma manual o semi-automatizada).
  4. Otra forma, la que podríamos denominar auténtico “cloud” (SaaS real en este caso) que consiste en que la propia aplicación se auto-aprovisione de más máquinas virtuales o de más almacenamiento en disco o de más ancho de banda, en función de la carga o necesidades que sus usuarios le generen en cada momento.
Evidentemente, puristamente hablando, sólo se podrían considerar auténticos AaaS (o SaaS en general) las dos últimas soluciones, pero eso al usuario final no le importa siempre y cuando el servicio que recibe sea bueno, acorde a la filosofía SaaS (siguiendo la definición del NIST), y el precio aquilatado al nivel de servicio que contrata. Es más en ocasiones “vive engañado”, quiero decir que cree que está recibiendo un servicio SaaS real (pues así lo afirma el vendedor) pero en el fondo tiene un servicio de uno de los dos primeros tipos que hemos enumerado. Profundizando en este aspecto:
  • Lo que es cierto es que en condiciones normales, y con un buen equipo técnico de soporte y gestión en el caso de la primera opción, el usuario final nunca detectará la diferencia, por lo que a él no le importa siempre que el precio sea competitivo aspecto que en principio, en la primeros opción no es tan fácil de conseguir, pues hace falta más recursos humanos para realizar una buena gestión, además de que deberá formarse en las herramientas que en tal sentido le ofrezca el proveedor al que contrate la plataforma
  • En la segunda opción el coste interno de la correcta gestión del aprovisionamiento es externalizado, y realizado mediante los servicios de una tercera empresa (p.e: RightScale).
  • En el tercer caso, y asumiendo que el servicio PaaS (sobre el que se apoya) es real y completo, la despreocupación del aprovisionamiento es total, pero a cambio aparece el coste de la proveedor de los servicios PaaS, y en general de tener que adaptar nuestra aplicación para que funciones en la plataforma PaaS (necesidad común a prácticamente todas las plataformas PaaS, y más o menos compleja en función del proveedor PaaS e de las características de nuestra aplicación). Además en este caso, en general también se convierte en cautivo del proveedor PaaS pues la adaptación que hemos hecho en nuestra aplicación para que funciones en su plataforma PaaS no sirve para otras plataformas PaaS.
  • Por último, el cuarto caso se trata de adaptar la aplicación para que ella se auto-aprovisione de los recursos (de más máquinas virtuales o de más almacenamiento en disco o de más ancho de banda), en función de la carga o necesidades que sus usuarios le generen en cada momento, y los libere cuando ya no los precise. Para ello la aplicación llamará directamente, desde el propio código de la aplicación, a las APIs correspondientes de la plataforma IaaS subyacentes para aprovisionarse o liberar el recurso que precise en función de la cara de usuarios en cada momento. En este caso, también pueden aparecer problemas de estandarización e interoperabilidad como ya hemos comentado anteriormente (ver el comentario titulado “Nubes en la bola de cristal”). Sin embargo en el campo del IaaS ya existen plataforma a abiertos y estándares de facto que permiten liberarse de esta situación. Este es el motivo por el que TISSAT, como ya he comentado en día precedentes, ha aportado por la solución OpenStack que ofrece un a plataforma de auténticos servicios IaaS siendo de código abierto y que en este momento está soportada por un consorcio en el que participan más de 170 empresas (entre ellas Tissat). Cualquier empresa que desarrolle (o migre) sus aplicaciones en la nube sobre dicha plataforma IaaS (llamando a sus APIS para auto-aprovisionarse de recursos cuando lo necesite la carga de trabajo que soporta) tendrá la opción de mover sus aplicaciones entre todos los proveedores que ya dan servicio con dicha plataforma OpenStack (entre ellos, por mencionar uno, el gigante RackSpace), o incluso, llegado el caso, de montarse el mismo una cloud privada con OpenStack y en ella ejecutar sus aplicaciones así desarrolladas.

martes, 8 de mayo de 2012

Nubes en la “bola de cristal” (o un pronóstico sobre la evolución de los servicios Cloud)

Desde el punto de vista de realizar un pronóstico sobre la evolución de los servicios Cloud, a la luz de las tendencias actuales, estos son algunas conjeturas personales que (a día de hoy) me atrevo a decir (para después comprobar en lo mucho que me he equivocado):

Previamente, conviene recordar que este es un mercado joven (recordemos que Amazon EC2, la gran referencia actual del mercado, fue publicado en 2006) y que por tanto adolece de las características habituales del mismo: por una parte, para los proveedores hay cierta variedad de productos con los que construir su oferta que en general aportan solo una parte de las funcionalidades exigibles, y por otra parte hay diversidad de pequeñas compañías que se llevan pequeñas cuotas de dicho mercado, los grandes del sector se están posicionado en muchos caso por la vía de la compra de pequeñas empresas, la política de precios es muy variada, poco uniforme y responde a criterios muy dispares, etc.
Por una parte, creemos que la mayor diversidad y creatividad se dará en el entorno de SaaS, al tiempo que servicio tradicionales se transformaran para darse en modo Cloud (Amazon es una prueba evidente de ello, donde por poner un ejemplo curioso, hasta ofrece un servicio para que el usuario se gestione su propio DNS). En esta misma línea, en general, se alinean el conjunto de servicios que caen dentro de los que se ha denominado las “Cloud Personales” cuyo advenimiento parece inminente (no ya por lo que vaticine Gartner, si no porque se está convirtiendo en uno de los “service killers”), siendo ejemplo paradigmático de ellos los servicios de almacenamiento, sincronización y compartición en la nube como DropBox, SugarSync, Boxt (por citar primero a los pequeños) y el iCloud de Apple, SkyDrive de Miscrosfot o el recién inaugurado Google Drive (ver blog del 26-3-2012) y dejándonos en el tintero otros tantos servicios tal vez algo más especializados o de nicho como Cubby, ShareFile, Insync, Wuala, Syncplicity (y permitidme que haga propaganda de StackSync que está desarrollando Tissat en colaboración con la Universitat Rovira i Virgili, dentro del proyecto “RealCloud” paracialmente financiado por el programa INNPACTO del anterior Ministerio de Ciencia e Innovación, actualmente Min. de Economía y Competitividad).
Por otra parte, y cambiando el enfoque, en lo que se refiere a los servicios IaaS, en nuestra opinión los servicios “puros” de IaaS como cómputo o almacenamiento (por puros entiendo aquellos en los que la empresa precisa esos servicios para montar sobre ellos aplicaciones propias) son los que primero se generalizarán.
Por otra parte, los que pensamos tardarán algo más en generalizar son aquellos servicios en que la empresa use servicios cloud “empotrados en sus propias aplicaciones” (llamando a las APIs correspondientes desde el propio código de la aplicación), pese a ser de los primeros que han llegado al mercado de las mano de las empresas del sector TIC que ofrecen servicios muy innovadores, tal vez sean los que más tarde en generalizarse al resto de los sectores por los problemas de estandarización e interoperabilidad que ya hemos comentado anteriormente.
En otra índole de cosas, y tratando de los obstáculos actuales, en mi opinión hay dos obstáculos mayores que la seguridad (no es quiera quitarle importancia a este aspecto, pero es que el que todo el mundo poner como principal barrera)q ue hacen dudar hoy en día a las empresas a la hora de adoptar servicios de Cloud Computing e influyen sobre al elección del Proveedor (en caso de su adopción): la estandarización de servicio (que permita la migración de un proveedor a otro) y la interoperabilidad son dos de los aspectos que más hacen dudar al cliente, por miedo de caer cautivo de un proveedor concreto.
Por estos motivos, la solución adoptada por TISSAT se basa en OpenStack, un software libre, abierto, que busca la interoperabilidad (p.e. en la parte de virtualización de servidores, soporta prácticamente todos los hypervisores) y la estandarización y está liderada por un consorcio en el que se integran más de 170 empresas líderes del mercado (entre ellos, RackSpace, NASA, Cisco, Citrix, Dell, Intel, Microsoft, etc.):
Todo ello motivo que TISSAT, como ya he comentado en días precedentes, se integró en el Consorcio OpenStack en el que queremos ser participantes activos, además de generar negocio con estas soluciones, porque creemos que es lo que precisa las empresas: una solución real de Cloud Computing, a coste muy competitivo basado en una solución que gestione de forma eficaz el entorno completo que da soporte a los servicios de Cloud Computing (desde sus aspectos operativos hasta los energéticos) y que garantice la disponibilidad del negocio de la empresa.