How to Escape “The Legacy Trap”?
\"The Legacy Trap\" is the term that describes the situation in which existing software code becomes outdated and problematic to maintain.
Como productores de software, no solo somos responsables de desarrollar sistemas de misión crítica que beneficien a nuestro negocio, sino que, además, estos sistemas que construimos deben ser confiables, escalables, observables, con buena performance y a un costo razonable.
Construir sistemas escalables y confiables es cada día más complejo. En GeneXus 17 queremos facilitar la implementación de estos tipos de sistemas para que el desarrollador pueda enfocarse en lo que es realmente importante, aportar valor al negocio.
Además, los sistemas se construyen en la nube, por lo que es fundamental pensar la arquitectura y despliegue de mi sistema de acuerdo a los Servicios de la Nube que permitirán potenciar mi aplicación.
Cuando pensamos en un Sistema complejo en la Nube de AWS, pensamos en:
La base de datos es el componente más importante de una aplicación. Amazon dispone de Amazon RDS, un servicio “Managed” para bases de datos relacionales.
Quienes trabajan con GeneXus, pueden conectarse con cualquier motor soportado por AWS RDS, incluyendo SQL Server, MYSQL, Oracle, Amazon Aurora, PostgreSQL, por nombrar algunos.
En escenarios más complejos, donde se necesita, además, escalar la escritura y lectura, hay otros sistemas de almacenamiento de datos, como NOSQL.
En GeneXus 17 estamos introduciendo la posibilidad de realizar escritura y lectura sobre AWS DynamoDB. AWS DynamoDB nos brindará la posibilidad de escalar lectura y escritura de datos de una manera casi que infinita, sin tener que preocuparnos por el mantenimiento del hardware asociado y pagando exactamente lo que se usa, ni más ni menos.
Hoy en día ya no hay discusión de que Amazon S3 es la mejor manera de servir y almacenar archivos en la nube.
En GeneXus 17 tenemos soporte automático para poder almacenar imágenes, audios, y videos de manera nativa en Amazon S3.
Dichos recursos pueden ser almacenados de manera pública o privada para su acceso desde la nube.
Para potenciar la performance de una Aplicación, el Caching de datos es una herramienta ampliamente utilizada.
En GeneXus 17 se cuenta con mecanismos para activar el caché de base de datos que nos permite aliviar la carga y las solicitudes que hacemos a la base de datos. Esta característica se activa simplemente con una propiedad.
También se dispone de una API que nos permite invalidar o utilizar el caché de una forma más manual.
Si estoy en la nube de AWS, es compatible con los proveedores de Amazon Elastic Caché, como Redis y Memcached de manera Built-in.
En la Nube, los sistemas se ejecutan de manera distribuida. En un ambiente distribuido, dicho sistema corre en muchas máquinas, por lo cual mantener el estado del contexto de cada usuario se vuelve una tarea importante.
GeneXus es capaz de almacenar el estado del contexto de los usuarios de manera distribuida, en sistemas de caché, como lo es Redis y Memcached. Lo que permite ejecutar aplicaciones distribuidas sin sobresaltos.
GeneXus es compatible con AWS Cloudwatch a través de su Logging API.
¿De qué manera podemos desplegar en AWS un sistema construido en GeneXus?
Es posible utilizar cualquiera de las siguientes opciones:
EC2
AWS Elastic Beanstalk
ECS
Kubernetes
GeneXus permite entonces que las Apps desarrolladas puedan ser íntegramente desplegadas en la Nube, administradas por los usuarios o clientes.
Una de las tendencias que más desarrollo está experimentando en los últimos meses, por la que se decantan las empresas, se denomina: Serverless Computing.
Este modelo de arquitectura y despliegue permite que sea posible desplegar sistemas que escalan de manera infinita sobre la infraestructura de la Nube. Evitando que el responsable del sistema se preocupe por el mantenimiento, operación y planificación de Servidores.
Los sistemas desarrollados con GeneXus 17 pueden ser desplegados en un Modelo Serverless, a partir de la utilización de los servicios AWS API Gateway y AWS Lambda.
De esta manera, tanto API Objects como Service oriented Applications (Android, iOS and Angular), pueden ser desplegados con esta modalidad.
Como resultado final, se obtienen sistemas extremadamente escalables, sin mantenimiento y en donde pago exactamente por lo que se usa, ni más ni menos.
Si además, a este poder de cómputo, le añadimos una base de datos escalable, como es AWS DynamoDB, tendremos un sistema totalmente escalable en la nube, desde la base de datos hasta el poder de procesamiento.
En GeneXus 17 estamos introduciendo nuevas formas de despliegue de nuestras aplicaciones, que van a complementarse con los modelos existentes para que podamos resolver casos de uso más sofisticados utilizando una arquitectura más moderna en la Nube.
Serverless y Containerized applications, serán el nuevo estándar en los años venideros y debemos estar preparados.
Android: 15 novedades que deben saber los desarrolladores
Descubre por qué es importante la escalabilidad para garantizar el crecimiento exitoso de tu negocio
37 charlas de tecnología y diseño
Seguridad informática: un tema clave en los sistemas de Misión Crítica
Post-pandemia y software Low-Code, ¿qué hay que saber?
Deja una respuesta