Muchas personas ahora se dan cuenta de que la computación en la nube es más difícil y complicada de lo que pensamos originalmente. Tratar de minimizar la complejidad desde el principio le ayudará a no perder la cabeza.
por David Linthicum
No es ninguna novedad que haya batido el tambor de la complejidad de la nube durante los últimos años . La complejidad rara vez es un problema cuando una empresa implementa por primera vez una arquitectura en la nube, por lo que muchas personas del personal no sienten la necesidad urgente de lidiar con ella. Últimamente, más personas están notando que la nube es mucho más compleja de lo que indicaba el argumento de venta original. Si la computación en la nube es nuestro destino final, debemos lidiar con esta complejidad lo antes posible.
Adrian Bridgwater, que escribe para Forbes, clavó la razón por la que la computación en la nube es tan compleja: “La nube es complicada porque la computación en sí es intrínsecamente complicada, y la popularización del enfoque del modelo de nube ha estado plagada constitucionalmente de desajustes caóticos a nivel de plataforma que han chocado con fuerza tectónica incongruente “.
La tecnología de computación en la nube es de fácil acceso y admite configuraciones ágiles. Sin disciplina, es rápido y fácil complicar las cosas. Piense en esta pregunta: ¿Puede pensar en una empresa con un estado “tal cual” sin nube que se convirtió en un estado “para ser” habilitado digitalmente con nube donde la complejidad se redujo? Casi nunca sucede. Las métricas que miden la complejidad suelen mostrar al menos un 50% de aumento en la complejidad con poca o ninguna ganancia en el valor comercial.
¿Por qué pasó esto? Hay dos razones básicas y obvias:
Primero, la nube en sí es compleja. Con cientos de servicios nativos integrados en la mayoría de las nubes públicas y miles de servicios de terceros en el mercado, la gran cantidad de opciones disponibles crea arquitecturas y aplicaciones de estado final que son más complejas.
Los encargados de seleccionar y configurar la tecnología en la nube, en última instancia, impulsan la complejidad. Le dirán que simplemente están eligiendo las mejores soluciones y que la complejidad es solo un subproducto. La realidad es que se trata de una plataforma de nube pública sistémicamente compleja; por lo tanto, es probable que las soluciones en la nube resultantes también sean complejas. La complejidad proyectada debe tenerse en cuenta en los mejores factores para la toma de decisiones.
En segundo lugar, la mayoría de nosotros no consideramos la complejidad como un resultado arquitectónico negativo. En los viejos tiempos, cuando construíamos sistemas en mainframes, eran mucho menos complejos porque la plataforma del mainframe era mucho menos compleja. Solo un puñado de lenguajes de programación, sistemas operativos y bases de datos nativas se ejecutaron en el “gran hierro”. La complejidad arquitectónica nunca se mencionó ni se enseñó a los nuevos arquitectos porque las limitaciones integradas mantuvieron la complejidad bajo control.
En estos días, carecemos de enfoque en cómo aprovechar las plataformas basadas en la nube utilizando metodologías sencillas. Además, la complejidad podría ser un resultado necesario, según los requisitos comerciales. Me resulta difícil decir que algo es demasiado complejo sin una comprensión completa de los problemas comerciales que debemos resolver.
Dicho esto, la mayor parte de la complejidad resultante de la nube que veo es el resultado de no considerar alternativas menos complicadas. Nadie hace las preguntas adecuadas mientras se desarrolla la solución. El resultado final es: “Bueno, funciona, ¿no?” El hecho de que algo funcione no significa que la solución resultante esté optimizada, lo que generalmente significa que tiene mayores costos operativos.
He adoptado un enfoque de mediación para la complejidad de la nube en lugar de intentar adelantarme a todas las decisiones arquitectónicas no optimizadas. Desafortunadamente, es más fácil arreglar las cosas después de poder demostrar que están rotas que decirle a la gente al principio: “Si ignoras la complejidad desde el principio, lo harás de la manera incorrecta y tendrás que hacerlo de nuevo manera correcta.” Hay un costo obvio en el enfoque de “hazlo dos veces”.
La mejor solución es administrar la complejidad de inmediato en las etapas iniciales de arquitectura y diseño de la aplicación. Sin embargo, aquí en el mundo real, eliminar la complejidad será principalmente reaccionario durante los próximos tres a seis años. Hay un apetito por la velocidad que significa que alguien tendrá que retroceder y lidiar con los errores resultantes.
Entonces, ahora sabemos por qué existe la complejidad. Sabemos lo que podemos hacer al respecto, de forma proactiva y reactiva. ¿Qué debe hacer como líder de TI empresarial? Al comienzo de cualquier proyecto en la nube, haga preguntas sobre la complejidad adicional. Reconozca que la complejidad es un problema y defina una estrategia para abordarla desde el principio.