¿Cómo modernizar cuarenta años de historia de las aplicaciones?Susana Martínez Ferreiro 11 octubre, 2016 Como señalaba en mi post de ayer, en este momento hay razones de peso por las que muchas grandes empresas se plantean la necesidad de modernizar sus aplicaciones monolíticas. A la hora de hacerlo, una primera reflexión debería de ser “modernizar sólo aquello que es útil para el negocio”. ¿Y qué es útil para el negocio?: Lo que proporciona una respuesta más ágil de cara a los clientes, que disponen de potentes herramientas para optimizar sus compras Lo que permite un mejor posicionamiento frente a una competencia que cada vez se mueve más rápido Una primera estrategia de modernización debe buscar cómo integrar las aplicaciones más tradicionales con ese nuevo mundo de servicios cloud a través de nuevas aplicaciones “nacidas en la nube” para explotar todo el potencial que ofrece el paradigma cloud. Por poner un ejemplo, los sistemas CRM actuales necesitan integrarse con nuevas fuentes de datos (que proceden de los servicios en cloud) para entender mejor a los clientes finales y personalizar las acciones de marketing en función de sus gustos, estados de ánimo, etc. El uso de containers en la estrategia de modernización permite eliminar las dependencias con las infraestructuras, lo que reduce la complejidad de lidiar con las mismas, es decir, se consigue abstraer la aplicación del uso de las infraestructuras. Otra de las estrategias para conseguirlo también puede ser integrar en una aplicación monolítica el uso de microservicios para añadir nuevas funcionalidades o modificar la arquitectura de la aplicación, a través de la “modularización” o “componentización” de las mismas. En cualquier caso, determinar por dónde empezar no es tarea fácil. En mi opinión, la clave para elegir qué aplicación modernizar reside en identificar aquéllas que dan respuesta a un negocio altamente cambiante y que necesitan alimentarse de datos procedentes de varias fuentes, tanto de datos en entornos más tradicionales (como los que residen en SAP), como los procedentes de entornos digitales (datos colaborativos procedentes de usuarios on line, analitics etc.). Un ejemplo: las aplicaciones web que dan respuesta a entornos de eCommerce al modernizarse permiten el desarrollo de nuevas app que recogen información online y, así, ofrecer servicios personalizados a los clientes al identificar de forma inmediata el comportamiento de los mismos. Así, es posible geoposicionar a los usuarios que están en una determinada ubicación (centro comercial, aeropuerto, palacio de congresos…) y cruzarlo con información ya existente en el datamining sobre sus costumbres de uso y, de esta forma, mostrarles ofertas o servicios que en ese preciso momento pueden ser interesantes para ellos. Llegados a este punto, me gustaría compartir algunas reflexiones: Reescribir las aplicaciones existentes (Legacy) supone un gasto difícil de predecir, con lo cual no parece que los clientes se vayan a embarcar en ese tipo de estrategias. Existe un claro reto en la modernización de las aplicaciones más antiguas que aún siguen prestando servicio, ya que han sido desarrolladas por un personal cuyo conocimiento ya no existe en el mercado (Cobol, por ejemplo) por lo que casi sería arqueología software en vez de ingeniaría del software… Con los microservicios,” modularización” y “componentización” se ha reducido el tamaño de los paquetes de desarrollo lo que, unido a la mejora de interoperabilidad entre módulos, permite tener las ansiadas aplicaciones altamente escalables, en las que una nueva implementación no supone tener que hacer un cambio en todo el código que la conforma (como sí pasa en las aplicaciones monolíticas). Como conclusión, cloud es un claro habilitador del negocio, que ha facilitado y revolucionado el mundo de las aplicaciones. Mejorará la competitividad de nuestros clientes en la nueva era digital, pero no solo en los nuevos negocios digitales o en el ámbito de las startup, sino que la nube también puede ser utilizada para mejorar entornos de aplicación más tradicionales. Eso sí, tras el análisis previo de qué partes clave de la aplicación modernizar, y hacerlo cuando aporte un valor diferencial al negocio y no solo en una búsqueda de eficiencia. Imagen: Codexian ¿Arqueología o ingeniería del software? El papel de cloud en la modernización de aplicaciones monolíticasCongreso Internacional de Open Data: un escaparate de sus beneficios
Félix Hernández Herramientas digitales para complementar la estrategia de vacunación del COVID Esta vacuna es el paradigma del progreso científico-técnico del siglo XXI. Si hacemos memoria, el coronavirus fue identificado genéticamente en Wuhan hace apenas un año, a finales de...
Antonio Moreno Aranda Smart Grids: el papel clave de las redes inteligentes en la transición energética “La mejor energía es la que no se consume”: ésta fue una de las reflexiones que se escuchó en el VII Congreso Smart Grids, que se celebró, de forma...
Fernando Rodríguez Cabello La automatización inteligente despega En el marco del impulso a la digitalización, 2020 también ha supuesto un importante avance para la automatización inteligente. Así lo recoge el informe de Deloitte “Automation with intelligence”. Frente...
Mercedes Núñez Competencias digitales… para hacer vida normal Según la Unión Europea, una de cada dos ofertas de trabajo en España ya son empleos digitales y para el año que viene el 45 por ciento de las...
Alicia Díaz ¿Puede la escuela digital romper la brecha educativa? La brecha educativa tiene que ver no solo con el nivel de conocimientos y el acceso a la tecnología, sino también con el estrato social y económico, e incluso...
José Carlos Martín Marco Cinco consejos para mejorar la productividad personal en 2021 El comienzo de un nuevo año siempre es un buen motivo para reflexionar acerca de lo sucedido el año anterior y plantearse algunos propósitos de mejora. Creo que en...