Contenedores, la solución para no atarse a un proveedor cloud.
Uno de los stoppers más habituales que vemos cuando hablamos con el cliente a la hora de abordar o diseñar una solución o aplicación cloud es el miedo a crear una dependencia tan directa que a la larga sea difícil poder mover la aplicación a otro entorno.
Este motivo es uno de los principales para seguir utilizando estrategias basadas en máquinas virtuales, el servidor virtual en mi opinión, genera una falsa sensación de control sobre lo que ejecuto en la nube y conlleva unos costes asociados que en muchos casos no compensan esa sensación de control. El cliente percibe que al ejecutar su aplicación en un servidor puede migrarlo en caso de querer cambiar de proveedor cloud o modelo de negocio. En la práctica es cierto, pero esa migración suele ser muy costosa, ¿realmente compensa?
Como he comentado en otros artículos, para aprovechar la potencia de las cloud públicas, se deben diseñar las aplicaciones pensando en que serán ejecutadas en la nube, existen dos tendencias muy claras en este aspecto, Serverless y Diseño Nativo Cloud. Esta última a grandes rasgos, consiste en diseñar la aplicación o solución tecnológica directamente pensando donde se va a ejecutar, aprovechando las funcionalidades genéricas de los proveedores de cloud publica y en concreto las específicas de uno en concreto. El objetivo principal es aprovechar al máximo todas las ventajas desde el inicio, muy diferente al concepto de transformación que, siendo necesario para aprovechar la potencia de las cloud públicas, siempre tiene algún requisito de diseño que penaliza de una u otra manera.
Esta estrategia nos permite optimizar al máximo costes de uso y administración, pero por el contrario nos vincula y nos hace depender del proveedor elegido. Por el contrario, si ejecutamos nuestra aplicación en un servidor virtual tradicional tendremos un sobre coste innecesario de gestión y administración relativo al sistema operativo y servidor que nos encarece la solución.
¿Cuál es la solución?, los contenedores se presentan precisamente como la solución ideal para este tipo de problemas donde el cliente no quiere estar ligado a un proveedor en concreto. La tecnología de contenedores nos permite ejecutar aplicaciones sin la complejidad de una gestión de máquinas virtuales siendo un camino intermedio entre una aplicación 100% diseñada para la computación en cloud publica y una aplicación tradicional IaaS en máquina virtual. Los contenedores nos garantizan que en cualquier momento la aplicación podrá ser “movida” fácilmente de una infraestructura cloud a otra o incluso a un modelo hibrido si fuese necesario.
A. Morales