15 Jun Los Mitos de la Computación en la Nube (Cloud Computing)
El paradigma de Cloud Computing ha redefinido no solo el stack de tecnología que los proveedores utilizan para brindar soluciones, sino aún más importante, ha cambiado la experiencia del usuario frente a soluciones tecnológicas.
No perdamos nuestro enfoque aquí. Como proveedores de software o, al menos, profesionales, nos encanta la idea de una infraestructura simple, fáciles configuraciones de ambientes productivos de trabajo, integración continua, escalabilidad y la lista continúa. Pero debemos tener en cuenta que, en última instancia, estamos haciendo todo esto para que el usuario tenga la mejor experiencia posible y nos elija día tras día sobre nuestros competidores.
Habiendo dicho eso, hay muchos mitos y conceptos erróneos sobre la nube que me encantaría abordar. No todo es como parece. A veces se nos presentan supuestos beneficios, que pueden resultar en costos ocultos o factores que finalmente hacen que ese beneficio se convierta en una desventaja.
Presunto beneficio 1 – Más económico:
La nube “no necesita ninguna inversión en inversiones físicas ni ningún tipo de experto para la gestión, ya que es manejada por el proveedor de servicios en la nube”. (Anuja Lath, 2019)
Personalmente, no afirmaría que esto es enteramente cierto.
Un factor clave para administrar una solución en la nube rentable es comprender completamente su modelo de consumo/uso. Si sabes que tus servidores tendrán una gran demanda, por ejemplo, de 10 AM A 5 PM, entonces puedes preparar tu infraestructura para escalarse en ese período, y reducirse rápidamente en períodos de inactividad, ahorrando así tu presupuesto.
Si tienes varios servidores que funcionan las 24 horas del día, los 7 días de la semana, las soluciones locales (conocidas también como on-premise) pueden brindarle un mejor rendimiento por el mismo dinero.
Incluso cada vez más proveedores de hardware están bajando continuamente los precios para competir con los proveedores de la nube. Particularmente las infraestructuras hiperconvergentes han demostrado ser más rentables en comparación con las infraestructuras en la nube.
Echa un vistazo a la siguiente comparación entre las infraestructuras en la nube y las locales en Europa y el Reino Unido:

Fuente: Matthew Beale (2018), “Comparación de costos – nube vs local 2018/19”
https://cdn.mos.cms.futurecdn.net/x9wZBmXbYN8qEaE6ygADZf-970-80.jpg
También debes tener en cuenta el impacto económico que representa tener un equipo experimentado de DevOps requerido para implementar, dar soporte y escalar soluciones en la nube en cualquiera de los principales proveedores de nube disponibles en la actualidad. Aún más, los ingenieros especializados de DevOps que están certificados en infraestructuras de nube pública tienden a tener salarios más altos.
Con todo esto en cuenta, espero haber desmitificado que el cloud no necesariamente es más económico, y todos concienticemos sobre cómo administrar mejor nuestros servicios en la nube.
Después de todo, la nube se trata de dinero.
Presunto beneficio 2 – Implementación fácil:
“Las empresas no tienen que lidiar con los tecnicismos del backend” (Stratosphere Networks).
Aunque la nube proporciona soluciones prefabricadas que facilitan la implementación inicial de aplicaciones, es probable que su servicio comience siendo simple al principio y fácil de manejar, pero definitivamente crecerá volviéndose cada vez más complejo y convirtiendo lo que se conoce como ” implementación fácil “en un complicado problema de ingeniería.
Presunto beneficio 3 – Fácilmente escalable:
Imaginemos el siguiente escenario: tienes un servidor EC2 que ejecuta y maneja varias solicitudes. Tu servicio comienza a crecer y cada vez llegan más solicitudes hasta que llega el punto en que tu servidor comienza a responder con el código de error HTTP 408 Request Timeout. Puedes pensar, hey, estoy en la nube, no hay problema, simplemente actualizaré mi servidor al doble de su capacidad y problema resuelto! … bueno, eso podría ayudar, pero es posible que no resuelva tu problema en absoluto. Lo más probable es que tengas que lidiar con la configuración del servidor de aplicaciones, los workers, hilos, subprocesos, cálculos y muchas otros desafíos de ingeniería para finalmente poder resolver el problema de escalado correctamente. Puede sonar fácil, pero en realidad está lejos de eso.
Presunta desventaja 4 – Tiempo de inactividad o downtime:
“El tiempo de inactividad se considera uno de los mayores inconvenientes potenciales” (Hemant Sharma, 2020). Seguramente te vas a encontrar con este punto en varias referencias vinculadas al cloud. Aunque definitivamente es un problema que debes considerar, especialmente para aplicaciones de misión crítica, según Gartner, “Amazon Web Services y Google tenían estadísticas de tiempo de actividad casi idénticas para las máquinas virtuales en el corazón de los servicios en la nube: 99.9987 por ciento y 99.9982 por ciento, respectivamente ”(Tom Krazit, 2019).
Si profundizamos más, según un estudio realizado por Zeus Kerravala, desde principios de 2018 hasta el 3 de mayo de 2019, AWS tuvo solo 338 horas de tiempo de inactividad, seguido por Google con 361, mientras que Microsoft Azure falló muy por detrás de un total de 1,934 horas de tiempo de inactividad.
Queda comprobado que en realidad el tiempo de downtime no es un factor tan importante como tal vez pensabamos inicialmente.
Todo se reduce a seleccionar la aplicación correcta y el proveedor adecuado para pasarse a la nube.
Conclusión
No digo que la nube sea engañosa y que no debas utilizarla, de hecho, en @Cualit creemos todo lo contrario y somos los primeros en promoverla debido al potencial que tiene para dar soporte a hermosas experiencias innovadoras, pero sí te advierto que estés preparado, especialmente cuando estás en la etapa de escalar tu solución en la nube.