Vente a la nube Pepe

Vente a la nube Pepe. Porque el multicloud es la decisión ganadora. 

He dudado el título de este artículo hasta el último minuto entre “vente a la nube Pepe” y “la nube no es para mí”. Ambos con referencia evidente a clásicos del cine patrio. 

En el primer título, amigos y familiares animaban al protagonista a emigrar a un lugar nuevo que ellos entendían más ventajoso y lleno de oportunidades; mientras que, en el otro, se muda del pueblo a la ciudad para conocer la vida de sus hijos que supone han progresado. Sin embargo, pronto comprendían que el cambio que habían iniciado implicaba mucho más de lo que había previsto (o le habían contado). 

Cada vez que veo el titular de un gran proyecto de transformación digital en que se migra la carga de trabajo de un cliente a un cloud en particular (normalmente a una de las tres grandes nubes públicas) no puedo dejar de pensar si estaremos ante una decisión bien razonada o si ha sido tomada desde un despacho y sin tener en cuenta todas las implicaciones de la decisión. 

De ninguna manera estoy en contra de la nube, lo que vengo a decir es que en definitiva la nube es un servicio y cuando se contrata un servicio lo que se ha de tener en cuenta es un análisis del coste/beneficio de contratar ese servicio frente a las alternativas. 

Siendo esto así ¿Son todas las nubes iguales? ¿Hay nubes públicas más allá de AWS, Azure, Gcloud? ¿Tiene sentido separar los servicios en diferentes nubes? 

Para los ansiosos: No, sí y sí. 

¿Son todas las nubes iguales? 

No, ni muchísimo menos. Cada nube tiene unas características y servicios diferenciados. Empezando por la ubicación física real de los datos, los servicios gestionados y no gestionados que ofertan, el coste de dichos servicios o incluso los parámetros que se usan para calcular esos costes. 

¿Hay nubes públicas más allá de AWS, Azure, Gcloud? 

La respuesta es: Por supuesto. A veces perdemos la perspectiva e identificamos “la Nube” con los grandes proveedores. Para la inmensa mayoría de la población los demás son desconocidos y no me refiero sólo a pequeños proveedores. Gigantes como IBM tienen nubes con servicios tan buenos como los anteriores y sin embargo necesitan hacer grandísimas inversiones en promoción para rascar una pequeña parte del mercado. Y tras los gigantes una miríada de proveedores de todos los tamaños y con servicios más o menos estandarizados (si, hasta las nubes también ha llegado el software libre) 

¿Tiene sentido separar los servicios en diferentes nubes? 

¿Y por qué no? Es decir, si no hay una razón técnica o económica que lo desaconseje ¿Por qué no aprovechar las razones técnicas o económicas que lo aconsejen? Creo que este punto se entiende mejor con un ejemplo. 

Supongamos que tenemos una infraestructura de base en la nube de Microsoft ya que sus servicios de correo y federación nos parecieron la mejor opción en su momento; pero ahora vamos a desarrollar una aplicación de información turística, que recibe las coordenadas de geolocalización desde una app móvil y devuelve un video explicativo del monumento frente al que se está situado. Y supongamos también que el desarrollador principal del proyecto es un experto en las funciones lambda de AWS. 

¿Qué nube seleccionamos para el backend de nuestra aplicación? 

Si nos aferramos a tener toda nuestra infraestructura en una sola nube usaremos Azure puesto que ahí tenemos la infraestructura previa. Otra opción sería migrar toda la infraestructura previa a AWS y así aprovechar el “know how” del programador; pero ¿Usa la app alguno de los servicios previos? No; entonces ¿Podemos desarrollar la app para AWS y mantener el correo en Azure? Si. Mmmmmm. Parece lógico ahorrase la migración. Ya tenemos 2 nubes. 

Tras la primera semana de uso de la aplicación nos damos cuenta de que la factura de AWS es mucho mayor de lo que esperábamos y que prácticamente la totalidad de la factura corresponde al tráfico de enviar los videos a los dispositivos. Descubrimos entonces que el tráfico de AWS es N veces más caro que en un proveedor como IONOS, pero IONOS no nos ofrece la funcionalidad de las funciones lambda que el desarrollador ha usado para la aplicación. ¿No sería genial tener lo mejor de ambos proveedores? ¿Y por qué no? De AWS tenemos la disponibilidad y el cómputo que transforma las coordenadas en un identificador de un video y desde IONOS servimos los videos. 3 nubes. 

Como se puede ver los titulares del tipo “la empresa X migra su carga de trabajo a la nube Y” que decía al principio, son tan generalistas que difícilmente tendrán en cuenta detalles técnicos de proyectos concretos y resultarán en ineficiencias técnicas o económicas.