Razones para encarar el diseño y construcción de una arquitectura cloud propia

In Blogfest, Software by Baufest

Todavía estamos en la era de la fascinación por los servicios cloud, que ofrecen ventajas evidentes tanto a nivel de precios, de escalabilidad y de data management.

miércoles 23 - octubre - 2019
Baufest
Razones para encarar el diseño y contruccion de una arquitectura cloud

Entre otras cosas, estos servicios brindan la posibilidad de enfocarse en el propio negocio y potenciar la experiencia del cliente, dejando la infraestructura de IT en buenas manos y con costos razonables, para no hablar de los claros beneficios que presenta el almacenamiento en la nube. No obstante, también empiezan a aparecer las dudas por algunas desventajas importantes que presenta este modelo, ligadas básicamente con la posibilidad de quedar cómo rehén de los grandes jugadores del mercado (AWS, Azure, Google, IBM, etc.). Por eso hay que destacar la conveniencia de diseñar una arquitectura cloud propia, independientemente de los grandes proveedores de soluciones tecnológicas en la nube.

Arquitectura cloud propia

Repasemos brevemente los beneficios de diseñar una arquitectura corporativa cloud con sello propio:

Independencia: el diseño y construcción de una arquitectura corporativa cloud propia permite que a futuro se pueda migrar la aplicación de un proveedor en la nube a otro sin mayores contratiempos.

Protege del vendor lock-in: es decir que evita quedar en una situación en la que no se pueda (o resulte muy difícil) pasarse a proveedores alternativos. La idea es tener un diseño cloud, un desarrollo de software y una arquitectura corporativa independientes de la infraestructura y las soluciones tecnológicas que ofrecen los distintos proveedores cloud.

Adaptabilidad: facilita la adaptación a la distribución geográfica de los proveedores (por ejemplo, si abren una datacenter en un lugar más accesible o cercano), mejorando los tiempos de latencia tanto en la experiencia de los usuarios finales, como en la integración con otros sistemas y plataformas on premises o locales.

Menores costos: optimiza el costo de contratación (por ejemplo, si un proveedor cloud ofrece precios más bajos para los servicios que estamos utilizando).

Multi-cloud: habilita a desplegar nuestra solución de aplicaciones distribuidas en los diferentes proveedores. A este concepto se lo conoce como multi-cloud architecture design, y permite implementar componentes en diferentes proveedores cloud, e incluso también en los datacenter propios de la compañía.

Resiliencia: mejora el nivel de resiliencia de nuestras aplicaciones, diversificando el riesgo, especialmente en caso de disaster recovery ante una falla en uno de los proveedores cloud. Si mantenemos un esquema de replicación, o un diseño de arquitectura cloud agnóstico al vendor, ante una caída del proveedor es más sencillo redesplegar la aplicación en los servidores de otro, y seguir adelante en modo contingencia hasta que el primero vuelva a estar operativo.

Nube privada, no

Con esto no estamos hablando de diseñar una nube privada –a pesar de sus mayores ventajas a nivel de protección de datos-, sino de contar con una arquitectura cloud que permita tener el control sin importar el proveedor cloud en el que se implemente. Además de diseñar una arquitectura multi-cloud e independiente de los vendors, el desarrollo de software debe respetar ciertas reglas de forma de no atar la solución técnica a un diseño estático, y favorecer la construcción de una solución escalable, adaptable a las migraciones entre un proveedor y otro, y que la misma tenga un pipeline de desarrollo y despliegue lo más automatizado y validado posible.

Pensar, diseñar y construir la propia arquitectura cloud con un nivel de abstracción tal que permita que las aplicaciones sean lo más independientes posibles de un proveedor de nube especifico, evita quedar casado con uno en particular. Para ello se necesita como mínimo diseñar una arquitectura que contemple bajo acoplamiento a servicios específicos de la nube –construyendo una capa que sea un wrapper entre la aplicación y los servicios que están disponibles, por caso.

¿Has tenido alguna experiencia que avale esta propuesta de diseñar una arquitectura cloud propia e independiente de los vendors? ¡Te invitamos a compartirla aquí!