Desde hace un tiempo no es posible asistir a un congreso, foro, taller o seminario relacionado con las TICs sin que se hable de lo maravilloso que es el «Cloud Computing», de las oportunidades de negocio que ofrece, de sus innumerables ventajas y de lo mal que lo van a pasar las empresas de software que no se adapten a él, si no es que van a desaparecer, directamente. Es un tema repetido, cansino, omnipresente y en el que no cabe opinión en contra, bajo peligro de ser tachado de retrógrado, ignorante y dinosaurio. Así, literalmente.
Y lo que más me molesta es que siempre, siempre que voy a una mesa redonda, tertulia, foro… sobre este asunto todos los presentes, sin excepción, están a favor de la dichosa nube. Y eso me molesta. ¿Dónde está el debate si todos son del mismo bando? ¿Es tan maravillosa esta nueva tecnología que no tiene pega alguna? Esa es la primera gran mentira, y por eso me animo a escribir, para ver si soy el único que le ve pegas al cloud (espero comentarios para salir de dudas).
Antes de empezar a escribir le he echado un ojo a la Wikipedia para intentar usar el lenguaje correcto, y no contar exáctamente lo mismo. La entrada es bastante interesante, aunque empieza mal: «La computación en la nube o informática en la nube, del inglés «Cloud computing«, es un paradigma…». Un «paradigma»: «…una propuesta tecnológica… cuyo núcleo central es incuestionable» ¡Ya estamos! Verdades absolutas. ¿Es el Cloud Computing una religión? Si es incuestionable empezamos muy mal. Claro que esto explica que en las mesas redondas no haya nadie que lo cuestione: ¡si es incuestionable! Hasta ahora, porque pienso cuestionarla sin inmutarme.
Quizás lo mejor sea empezar por el principio, por una definición. En este caso (o mejor, en este blog), la mía. A ver si estás de acuerdo.
Creo que la mejor forma de definir el «Cloud Computing» es como una «arquitectura», un conjunto de elementos, hardware y software, que se configuran de una forma determinada para resolver una necesidad tecnológica. Un pequeño, e incompleto, resumen de las arquitecturas más extendidas ilustra bien mi idea de la evolución que nos ha llevado al «cloud».
La «arquitectura» más sencilla es un ordenador aislado. Un PC, o portátil, o Mac… que incluye todo lo necesario para ejecutar una aplicación. Por ejemplo, un programa de contabilidad (el ejemplo es el recurso del torpe, y por eso lo utilizo mucho). El ordenador tiene el propio programa instalado, guarda los datos en su disco duro y no necesita conexión alguna para funcionar perfectamente.
El siguiente «paso» sería conectar varios ordenadores en una red local a un servidor. Ahora tenemos más «elementos»: cada usuario tiene su ordenador, en el que está instalado el programa, hay un ordenador «central» o servidor, en el que residen los datos, y una serie de cables y accesorios (la red local) que lo conectan todos. Es la arquitectura «cliente-servidor» que durante tantos años ha proliferado en empresas de todo el mundo.
Una evolución muy interesante fue la «arquitectura Web» en la que los ordenadores de cada usuario (los clientes) no tenían que tener ningún software instalado, salvo un navegador Web estándar. Cuando el número de usuarios es muy grande el ahorro que supone instalar y mantener actualizado el programa «cliente» en cada ordenador es muy importante. Y si los usuarios están dispersos en diferentes edificios o incluso ciudades por todo el mundo, las ventajas son realmente muy importantes.
Para llegar al Cloud Computing solo faltan dos «pasos» más: en primer lugar, que el servidor no esté fisicamente en las oficinas de la empresa sino que sea propiedad de un proveedor de servicios de Internet, de forma similar al «hosting» de páginas Web. De esta forma la empresa que utiliza esa aplicación se despreocupa de la instalación y mantenimiento de los servidores, que no es poco.
El siguiente paso para una instalación «Cloud» como Dios manda es que el proveedor de los equipos y programas lo ofrezca como un «servicio», como un alquiler o «pago por uso» de forma que la empresa que utiliza el programa de contabilidad (en este ejemplo) solamente paga una cuota mensual por el uso «real» que hace de los servidores, programas y ancho de banda que usa.
(Repito que he simplificado mucho y cometido algunos errores, pero creo que para un resumen rápido este ejemplo es válido).
Visto así el Cloud Computing pinta muy bien y se entiende que se llame dinosaurios a los que defendemos el modelo cliente-servidor: parece que no hemos evolucionado. Las ventajas, yo también las veo, son muchas. Y muy conocidas. Pero las repito brevemente:
- Sólo pago por lo que realmente uso.
- No necesito un técnico en plantilla para mantener los servidores.
- Puedo ampliar (o reducir) el número de usuarios o la capacidad de archivo fácilmente.
- Tengo acceso desde cualquier lugar, etc…
Todo esto está muy bien, pero hay también pegas, o al menos precisiones a estas ventajas. Esas pegas que echo en falta, que hoy voy a comentar y que restan credibilidad a los vendedores que sólo hablan de las ventajas.
¿Por qué lo llaman Cloud cuando deberían hablar de «Movilidad»?
Es una de las cosas que más me molesta de los «talibanes» del Cloud: se apropian de las ventajas de la movilidad, en sentido general, como si fueran exclusivas del modelo «Cloud». Hace ya muchos años que existen servidores remotos, servidores Web, clientes Web, conexiones remotas… y todo tipo de técnicas y tecnologías que me permiten acceder a los datos de mi empresa, o directamente al ordenador de mi oficina, desde cualquier punto con una conexión a internet. No es una ventaja del Cloud.
¿Y por qué lo llaman Cloud cuando debería ser «alquiler»?
Está claro que resulta más «exótico» decir que ofreces tu producto en modelo «SaaS» (Software as a Service) o «Pago por uso», o algún anglicismo por el estilo. Pero no deja de ser un alquiler, un pago mensual (o trimestral o diario…) por un servicio. Hace más de 15 años que «vendo» mis programas con la opción de alquiler, y no me parece una «tecnología revolucionaria». Es una modalidad de contratación, no precisamente nueva.
¿Va a arrasar el Cloud con todo lo anterior?
Esta es la «mentira» que más me molesta, seguramente porque suele llevar asociada una dosis de desdén y desprecio a las «viejas» arquitecturas. Cada modelo tiene unas determinadas características que lo convierten en el más adecuado para unas situaciones concretas, pero no para otras. Pensar que el «paradigma» Cloud Compunting es tan superior a los anteriores que va a arrasar con todo es tan absurdo como lo fue pensar que la televisión acabaría con la radio (como decía la canción). El problema que tienen muchos defensores del Cloud que pertenecen a grandes empresas es que sólo ven los casos más cercanos y, con frecuencia, los más vistosos. Hace sólo unos días comentaba un directivo de Microsoft a un auditorio de cientos de empresarios TIC en Sevilla que el Cloud había permitido aumentar de 100.000 a 125.000 usuarios la instalación de un cliente. ¡125.000 usuarios! ¿Acaso se creía este gurú que estaba en la bolsa de Nueva York? ¡Estamos en Sevilla! Aquí lo que hay es PYMES de 10 ó 12 empleados de media. Y estoy hablando del 95% de las empresas españolas. A veces me sorprende la poca visión de la realidad de muchos profesionales que viven en Madrid o Barcelona. ¿No se dan cuenta de que las empresas «normales» no tienen esas necesidades?
Ejemplo tipo: una PYME con 10 usuarios en una oficina en una ciudad pequeña o un pueblo cualquiera. Con una conexión a internet muy justita (y que se corta de vez en cuando). Con un servidor de 500€ que le sobra para guardar todos los datos de toda la vida de la empresa. Con una aplicación de contabilidad o un ERP que lo actualizan 2 ó 3 veces al año. ¿Para qué quiere todas esas maravillosas ventajas del Cloud Computing? Para nada. Y dile al gerente que sus datos van a estar «en la nube».
Alguno habrá que valore el acceso remoto (que no es exclusivo del Cloud), alguno que contrate copias de seguridad remotas (que se aplican a todo tipo de arquitecturas) y puede que le interese a alguno el pago por uso (alquiler, que tampoco se limita a la nube). Pero en general lo que quieren estas empresas es: sus datos en un servidor cercano, a la vista, con un acceso rápido y, probablemente, sin acceso directo a internet. Ese es el cliente medio HOY y por mucho que la nube evolucione lo seguirá siendo durante mucho tiempo.
Para terminar y antes de que te lances a comentar lo obsoleto que soy te diré que, personalmente, y no lo digo por compensar, me gusta la nube para algunas ocasiones y, más aún, me gustan algunas de sus características como «complemento». Me gusta la «arquitectura mixta» en la que se coge lo mejor de cada modelo. Tenemos ya una versión de nuestra gestión documental en arquitectura Web que se complementa perfectamente con el producto «cliente-servidor» y proporciona movilidad a los usuarios. Y se puede montar como una aplicación 100% en la nube. Creo que tiene su lugar, y no vamos a quedarnos al margen.
Pero de ahí a pensar que la nube va a acabar con todo lo demás, nada de nada. Hay sitio para todos y una opción mejor para cada caso. Sólo hay que saber elegir cuál.
Veo que efectivamente no eres nada objetivo en el tema, pero claro es tu blog y tú no eres partidario.
El auténtico problema de softwere en la nube es que hay gente que se está subiendo al concepto y que no son más que una web, que están en un servidor elastico y como dan servicios nuevos nos dicen que son Cloud, por marketing puro y duro, pero son una Web, como los listos de Yerbabuena, que ofrecía la gestión documental Cloud instalando Alfresco en una Amazon EC2. Además de tener un servidor o una red de servidores en sitios como Amazon EC2, hay que tener otras cosas, como redundancia de nodos que garanticen que nunca vas a perder el servicio, como les pasó a los de Foursquare, HootSuite, CoTweet, Quora o ReddIt, como nuestro proveedor de salvaguarda de archivos Nirvanix, que debido al terremoto de Japón ha cerrado dicho nodo, y los usuario no nos hemos dado cuenta hasta que no lo han comunicado por email a los clientes.
El otro término de moda es SaaS, Software as a Service. No es como dices un mero alquiler del software, ya que va un poco más allá, la infraestructura que hay que tener para poder hacer eso es mayor, se paga además un mantenimiento de los servidores, software de los servidores, actualizaciones de los programas o de las webs, cambio de versiones del programa sin coste adicional, y en ocasiones en vez de por lo que consumes, por lo que puedes consumir.
Por poner un símil con la vida es como alquilar un piso, y cada cierto tiempo te cambian los electrodomésticos de la casa sin pedirlo, por modelos con más prestaciones, por el mismo precio. Y si viene familia a estar unos días te añaden una habitación al piso durante el tiempo que vas a necesitar esa habitación extra amueblada, por un pago extra, en vez de poner el sofá cama.
Otra ventaja de un servicio SaaS es que pagas y si no te gusta lo dejas y listo, como mucho pierdes un mes de suscripción, o lo que hayas pagado de suscripción. Si te compras un servidor para la oficina, te gastas un dinero, y sino te sirve, te lo comes o lo tienes que revender perdiéndole dinero.
Sí te reconozco que a día de hoy, la gente no necesita tanto los programas distribuidos, pero si las comunicaciones crecen como parecen que van a crecer en ancho de banda disponible y bajando los precios, la gente va a demandar cada vez más esa movilidad que tú comentas.
También decirte que los programas en nube no son todos una web, ahí tienes Dropbox o los clientes de Twitter de los smartphones o de los escritorios de los distintos sistemas operativos.
En cuanto a probar las distintas opciones de los programas en Nube, la mayoría son Freenium (otro concepto de moda) que no es más que te permiten el servicio gratis limitado y ampliarlo pagando, o otros servicios regalan algún tiempo para que puedas probar su sistema.
Puede parecer que soy un extremista al software distribuido, pero nada más lejos de la verdad, hay que saber siempre para qué quieres las cosas, algunas cosas van a ser mejor tenerlas distribuidas, y otras cosas mejor tenerlas local, eso ya dependerá de las necesidades de cada momento, del precio y de la oferta que haya en el mercado.
No es que seas un dinosaurio desfasado, solo que estás ofuscado. Esto no es un cambio a corto plazo es a medio y largo plazo, como pasó con el paso de MS-DOS a Windows 3.11, que hasta que no llegó Windows 95 la gente no se puso las pilas para pasar sus aplicaciones a Windows.
En cuanto desde el punto de vista del desarrollador, o vendedor, tienes que ver que la ventaja del SaaS es que no te pueden piratear el programa, ya que sino pagas, te corto la cuenta y me quedo tan tranquilo, sin problemas, o haces una actualización y deshabilitas los programas que sabes que te están utilizando sin pagar, o que están haciendo un mal uso de tu software.
Un buen comentario, aunque no comparto algunas apreciaciones. Sobre todo el que esté ofuscado. Opino ésto de la nube desde hace mucho tiempo. ¡No voy a estar un año ofuscado!
Curiosamente muchas de las ventajas que comentas las llevo disfrutando con mi modalidad de «alquiler» desde hace más de 15 años, conlo cual me alineo con tu planteamiento.
En cuanto a la objetividad, creo que no soy demasiado subjetivo porque también tengo aplicaciones en la nube, lo que me elimina de la lista de sospechosos por interés.
En todo caso, te agradezco el comentario y la contribución al debate.
Muy interesante el debate, pero creo que en realidad la gran revolución del cloud no es su movilidad ni su alquiler… sinó su TECNOLOGIA.
Está claro que no es la movilidad la novedad, pues ya los terminales tontos de los mainframes tenian movilidad así como el Carbon Copy o Procom plus de los años ochenta o el Termianl server del W2000 server, etc.
Y es evidente que podemos establecer un contrato en modo local en versión alquiler con actualizaciones y demás servicios en lugar de compra venta.
Aquí el gran problema es que hay mucha, mucha… gente que está haciendo el agosto, vendiendo el término cloud por el simple hecho de hacer hosting del servidor del cliente de toda la vida, lo cual redunda en utilizar los ordenadores de cada usuario como terminal tonto (sólo muestra la pantalla que ha construido el servidor y recoge los eventos del teclado y ratón), a cambio de sobrecargar el servidor que debe ejecutar un software de virtualización, uno de acceso remoto como terminal server, citrix, etc. y cada uno de los programas de los usuarios, o sea tirando largo entre 6 y 8 usuarios por servidor(normal) y en lugar de reducir COSTES, pasamos a incrementarlos.
Existe un término llamado «multitenancy» que viene a ser la madre del cordero del cloud y que revierte en una reducción de costes drástica para un programa cloud «nativo»:
– Existe una única instancia de la aplicación que puede atender a multitud de usuarios de empresas diferentes, sin ningún tipo de virtualización.
– Las empresas pueden ser de diferentes sectores (Fabricación, Transportistas, Alimentación…) y tal como decíamos, ser atendidas por la misma instancia de programa incluso con idiomas diferentes para cada usuario.
– Un usuario puede tener varias sesiones abiertas y cada una de ellas ser atendida por diferentes servidores de aplicaciones.
– Puesto que los servidores de aplicaciones son totalmente independientes de las empresas, se levantan o bajan servidores en función del número global de usuarios, no por empresa.
– Dado que existe una única instancia del programa, quiere decir que cuando actualizamos un servidor, se está actualizando para todas las empresas cliente, mientras que en los otros sistemas comentados de virtualizaciones, sigues teniendo que hacer una actualización para cada empresa.
– El servidor de aplicaciones se encargan de procesar la lógica de negocio y enviar al cliente los «datos» que debe mostrar.(No construye pantallas).
– El programa cliente que se ejecuta en el ordenador del usuario, se encarga de construir la pantalla para mostrar los datos al usuario. (No tiene lógica de negocio)
En este modelo un servidor de aplicaciones puede atender del orden de 100 usuarios concurrentes, ya que además los datos que circulan por la red en comparación con un programa web, son del orden de 85/15.
Con estos datos es facil calcular que la diferencia de COSTES de este cloud, tardará más o menos pero se va a llevar el gato al agua.
Un ejemplo de este cloud nativo lo tienes en http://www.clickgest.com y por cierto aunque estamos en Barcelona, también trabajamos con partners en Andalucía cuyos clientes trabajan sin ningún problema con la adsl, aunque dada la ínfima transmisión de datos también es posible trabajar BIEN, desde un 3G (lo usan muchos comerciales).
Saludos cordiales
Un comentario interesante, sin duda.
Pero (parece que si no pongo un «pero» es que no me lo he leído) ojo con la «tecnología». La tecnología es un medio, no un fin. El cliente no compra tecnología, sino soluciones. Y lo que hay «detrás» no le importa, una vez que sea lo «suficientemente buena». Es condición necesaria pero no suficiente para que el producto sea un éxito comercial. Que es lo que todos buscamos al final. De nada me sirve tener el mejor producto «tecnológico» si la gente no lo compra. Quizás porque no lo entiende.
Espero que no hayáis olvidado esto al desarrollar vuestro producto.
Un saludo y gracias por el comentario.
[…] “Está claro que resulta más “exótico” decir que ofreces tu producto en modelo “SaaS” (Software as a Service) o “Pago por uso”, o algún anglicismo por el estilo. Pero no deja de ser un alquiler, un pago mensual (o trimestral o diario…) por un servicio. Hace más de 15 años que “vendo” mis programas con la opción de alquiler, y no me parece una “tecnología revolucionaria”. Es una modalidad de contratación, no precisamente nueva”. Tomado de: https://gestiondocumentalparagentenormal.com/2011/05/03/verdades-y-mentiras-del-cloud-computing/ […]