La calidad de una aplicación se puede valorar, entre otros muchos parámetros, según la usabilidad, la capacidad de adaptación a los cambios, el valor de los resultados que genera y la integración con la plataforma donde se despliega. Por eso, además de su desarrollo, la arquitectura cloud que la sustenta resulta una pieza clave para la organización.
Estos son 5 consejos básicos a tener en cuenta durante el diseño de aplicaciones para utilizar el máximo potencial del cloud:
- Olvida el concepto tradicional de aplicación.
Hasta ahora, el peso del desarrollo del código era mucho mayor respecto el que tiene la plataforma sobre la que se despliega, principalmente porque las infraestructuras posibles tenían pocas variaciones –servidores físicos o servidores virtuales, con una arquitectura con los roles distribuidos o todos en un mismo servidor.Con la entrada de los nuevos proveedores de cloud público como Amazon Web Services o Microsoft Azure, ahora la plataforma coge más relevancia porque ofrece prestaciones que, si se saben aprovechar, mejoraran y facilitaran el desarrollo de la aplicación.
Es por ello que se necesita hacer un cambio de mentalidad, ya que desplegar aplicaciones pensadas para una infraestructura tradicional en el cloud puede repercutir tanto en coste como en eficiencia y en capacidad de crecimiento.
Hay que desarrollar la aplicación pensando, desde el comienzo, en el entorno donde se va a desplegar.
- Conoce al detalle las características de la plataforma cloud.
Año tras año, los grandes proveedores de cloud público ofrecen nuevos productos que tienen como objetivo dar respuesta a los servicios requeridos para las aplicaciones; desde los más comunes –como bases de datos, caché, autoescalados o almacenamiento– hasta servicios más concretos como streaming o análisis de datos. En definitiva, productos que abstraen las capas inferiores, aprovechan al máximo las características de la nube y facilitan el despliegue y la implantación.Así, conocer en profundidad esos productos y su configuración es clave para tomar decisiones sobre la arquitectura de la aplicación, ya sea dedicando nuestro tiempo y el de nuestro equipo, o bien trabajando con proveedores especializados que nos asesoren al respecto.
- Basa el diseño de la aplicación en servicios independientes .
Durante el diseño es importante identificar y separar todos los servicios que la aplicación necesita para funcionar. De esta forma, se podrá tratar e implementar cada uno como un componente independiente, capaz de adaptarse y escalar según la carga o peticiones que reciba sin afectar al resto de la aplicación.Basar el diseño de la aplicación en servicios aislados, nos permitirá monitorizar y gestionar con más precisión, aunque por otro lado deberemos definir los procesos de transición entre ellos.
Para facilitar todo el proceso, es importante identificar y utilizar los servicios que el proveedor cloud ha basado y desarrollado sobre su infraestructura global, de esta forma obtendremos una aplicación flexible en el sentido que es capaz de escalar junto con la infraestructura.
- Piensa en cómo romper las cosas.
Es poco probable que el primer diseño de la aplicación sea el definitivo, ya que lo más común es que surjan errores y se deban realizar ajustes. Siendo consciente de ello, hay que preguntarse quién quiere ser el primero en darse cuenta de los problemas que pueda tener la aplicación: nuestros usuarios o nosotros.Las ventajas que ofrece el cloud para llevar a cabo estas comprobaciones, como la posibilidad de clonar entornos fácilmente para hacer los ajustes o desplegar plataformas de test son de un altísimo valor, y aprovecharlas puede marcar la diferencia entre un fracaso y un proyecto de éxito.
- Automatización.
Uno de los aspectos más importantes que aporta el cloud es la capacidad de automatización. Gracias a la nube, la infraestructura puede provisionarse mediante código, y eso permite desplegar plataformas enteras, así como aplicar cambios en ellas, de forma mucho más rápida y sin intervención manual.Si durante el diseño de una aplicación se tiene en cuenta esta capacidad, se podrá explotar al máximo su potencial, permitiendo, por ejemplo, ofrecer un servicio bajo demanda y operativo en cualquier parte del mundo donde lleguen los nodos del proveedor cloud elegido.
Contenidos relacionados: