Las aplicaciones más antiguas pueden ampliar su vida útil mediante varios enfoques.
Los líderes tecnológicos a menudo enfrentan una decisión difícil sobre qué hacer con aplicaciones y plataformas más antiguas. Estas aplicaciones pueden ejecutarse en hardware antiguo o utilizar herramientas y lenguajes de desarrollo que ya no son comunes. Tal vez sean de un proveedor que ya no está en el negocio o se basen en un código personalizado desarrollado por un equipo que se jubiló o dejó la empresa hace años.
La opción obvia es reemplazar estas plataformas . Sin embargo, como puede atestiguar cualquiera que haya pasado por un proceso de selección, implementación y transición, esto suele ser más difícil (y más costoso) de lo que parece.
Entonces, ¿qué deberías hacer en su lugar? A continuación se presentan tres formas de actualizar aplicaciones antiguas y hacerlas valiosas para su organización.
¿Por qué no reemplazar las aplicaciones antiguas?
Abordamos los costos asociados con el reemplazo de aplicaciones y plataformas obsoletas. Analicemos esto más.
Existe el costo relativamente simple de comprar e implementar la nueva aplicación y el hardware asociado, pero también otros costos menos obvios, incluyendo tarifas de licencia de software, costos de capacitación, tarifas de mantenimiento continuo y más. Puedes gastar grandes cantidades de dinero en:
- Migración de funcionalidad personalizada . La mayoría de los sistemas más antiguos están repletos de años de ajustes y personalizaciones únicas, por lo que deberás adaptar esas personalizaciones a la nueva plataforma o identificar alternativas.
- Integraciones . Cuanto más antiguo sea el sistema, más probable será que tenga interfaces e integraciones con docenas de otras plataformas. Un sistema de contabilidad empresarial puede incluso tener cientos de interfaces que van desde interfaces transaccionales en tiempo real hasta lotes nocturnos. Deben identificarse y duplicarse en su nueva aplicación, o deberá crear una "capa de traducción" para conectar el nuevo sistema.
- Migración de datos . Los datos de sistemas antiguos deben migrarse de alguna manera. El método más sencillo es dejar el sistema antiguo en modo de “solo lectura”, lo que permite a los usuarios consultar datos pero no actualizar las transacciones. Aunque fácil, es el enfoque menos fácil de usar y requiere soporte y mantenimiento continuos del sistema antiguo.
Estas complejidades pueden duplicar (o más) el costo de implementar un sistema de reemplazo . Durante su revisión, vale la pena considerar si la aplicación anterior se puede actualizar para extender su vida útil o al menos prepararse para un eventual reemplazo a través de algunas opciones técnicas inteligentes.
Cómo actualizar aplicaciones antiguas
Ahora echemos un vistazo a cómo dar nueva vida a aplicaciones antiguas.
#1: Cambio a Servicios
Un enfoque es trasladar las aplicaciones a un enfoque basado en servicios. Esta arquitectura tecnológica divide los sistemas monolíticos en servicios discretos y proporciona una API para comunicarse con otros servicios. Por ejemplo, es posible que tenga un servicio de estado de pedido que acepte el número de pedido del cliente y recupere la fecha, el estado, la información de seguimiento y las líneas de pedido del pedido.
Debido a que existe una API estándar para recuperar el estado del pedido, no importa si una aplicación COBOL de 30 años contiene la información del pedido o si es una aplicación moderna en la nube.
Al realizar la transición de aplicaciones principales a servicios, eventualmente podrá actualizar las aplicaciones que brindan cada servicio sin afectar otras aplicaciones . De hecho, ha creado un enfoque común para el intercambio de datos que le permite modificar componentes individuales sin afectar a otros componentes.
Esta transición puede resultar costosa y compleja durante la implementación inicial, pero las aplicaciones de administración de API como MuleSoft y Boomi pueden acelerar la implementación. También puede crear servicios lentamente, comenzando con un subconjunto limitado y agregando gradualmente más a medida que actualiza y modifica sus plataformas tecnológicas.
#2 Moderniza la experiencia del usuario
La tecnología equivalente a una nueva capa de pintura y algo de paisajismo para mejorar el atractivo exterior de una casa antigua también se puede aplicar a aplicaciones más antiguas. En muchos casos, mejorar la interfaz de una aplicación y la experiencia del usuario puede mejorar drásticamente la satisfacción del usuario final, que puede ser lo que impulsa las llamadas para reemplazar la aplicación.
Por ejemplo, las complicadas aplicaciones de tiempo y gastos basadas en software de contabilidad empresarial como Oracle o SAP son la pesadilla de las rutinas semanales de muchos usuarios. Sin embargo, una aplicación móvil bien diseñada y fácil de usar es mucho menos costosa que reemplazar su paquete de contabilidad, pero puede aumentar drásticamente la satisfacción del usuario.
Una interfaz moderna permite una recreación mínima de la lógica empresarial compleja y mantiene todas las interfaces posteriores, personalizaciones y procesos complejos asociados con la aplicación anterior, pero le da nueva vida a la aplicación para el usuario final.
Con la prevalencia de herramientas de desarrollo front-end rápido, es más fácil que nunca crear interfaces modernas para sistemas más antiguos.
Al considerar este enfoque, concéntrese en tareas discretas en lugar de intentar crear “pantallas bonitas” que dupliquen todas las pantallas de la aplicación anterior. Por ejemplo, la entrada de pedidos en la mayoría del software empresarial puede comprender varias pantallas y cientos de campos potenciales. Si su empresa solo utiliza un subconjunto, diseñe su interfaz para mostrar solo esos campos y consolidarlos en una sola pantalla. Los usuarios avanzados y los administradores pueden acceder a todo el sistema, pero proporcionar interfaces útiles diseñadas sólo para mostrar a los usuarios típicos lo que necesitan puede hacerlos más eficaces en su trabajo y aumentar la satisfacción con el sistema.
#3 Levántate y cámbiate
Para muchas aplicaciones antiguas, el costo de rendimiento y mantenimiento del hardware subyacente puede ser el factor principal para el reemplazo del sistema. Para aplicaciones antiguas basadas en mainframe, las actualizaciones pueden ser extremadamente costosas y tal vez de beneficio limitado si la aplicación finalmente se reemplaza.
Uno de los grandes beneficios de la computación en la nube es que puede trasladar estas cargas de trabajo a un proveedor de la nube, comprar capacidad informática según sea necesario y, esencialmente, dejar que su proveedor de la nube se preocupe por mantener y actualizar el hardware.
Un beneficio adicional de migrar a la nube es que muchos proveedores ofrecerán asistencia en la operación denominada "lift and shift" para migrar su aplicación a su plataforma. Este no es un acto de benevolencia en absoluto. En última instancia, migrar su aplicación generará tarifas de computación en la plataforma, pero estas tarifas pueden ser significativamente más bajas que admitir hardware más antiguo en el futuro previsible.
Un cambio a la nube también puede prepararlo para la transición a una arquitectura basada en servicios, ya que la nube puede ser una plataforma consolidada para comunicarse con aplicaciones y servicios internos y externos.
Actualización de la aplicación
Si bien puede resultar tentador elegir inmediatamente el reemplazo cuando se enfrenta a la eliminación de un sistema más antiguo, una combinación de enfoques puede permitir posponer esta costosa decisión y movilizar recursos para una prioridad más urgente.