9.26 minutos para leerApplication Services

¿Qué es la modernización de aplicaciones?

SoftwareOne blog editorial team
Blog Editorial Team
An aerial view of a train track in a city.

¿Qué es la modernización de aplicaciones?

Muchas empresas funcionan con aplicaciones que se crearon hace seis años o más. Como parte de los sistemas centrales de estas organizaciones, contienen datos valiosos, respaldan los flujos de trabajo y a los equipos, y ayudan a impulsar la empresa.

En la actualidad, las organizaciones quieren más de sus aplicaciones. Los empleados buscan más agilidad en sus formas de trabajo. Los clientes esperan mejores experiencias de aquellos con los que hacen negocios. Y los directores de TI desean que sus soluciones sean más resistentes y que su mantenimiento sea menos costoso.

Las soluciones antiguas no pueden soportar estas necesidades cambiantes. Se crearon con la tecnología de su época, diseñada para funcionar en centros de datos locales. Las arquitecturas y los lenguajes de programación obsoletos dificultan la mejora y el mantenimiento de estas aplicaciones antiguas, lo que supone una importante pérdida de recursos de TI.

El paso a la nube ofrece múltiples beneficios. Aumenta la agilidad de la empresa, reduce los costos y los riesgos de seguridad, aumenta la disponibilidad y el desempeño, y hace que años de datos empresariales acumulados sean accesibles para perspectivas y automatizaciones nuevas. El paso a la nube también representa una oportunidad de modernizar para reducir las ineficiencias heredadas y la deuda técnica, allanando el camino para la innovación y la creación de capacidades nuevas para el negocio.

Definición

Según Microsoft, "la modernización de las aplicaciones es el proceso de actualización de las aplicaciones existentes de una organización a un modelo que prioriza la nube, lo que a veces se denomina 'modernización de aplicaciones heredadas'. Si una organización utiliza aplicaciones locales, la modernización puede implicar la migración de esas aplicaciones a una nube pública, privada o híbrida".

Amazon Web Services (AWS) dice que la modernización de aplicaciones "implica un enfoque multidimensional para adoptar y utilizar tecnología nueva con el fin de ofrecer un valor de portfolio, aplicaciones e infraestructura más rápido". AWS considera que la modernización de aplicaciones ayuda a las organizaciones a ampliar sus aplicaciones a un precio óptimo.

Según Google, la modernización de aplicaciones consiste en "promover un desarrollo de software más rápido y seguro con un conjunto adaptado de prácticas de DevOps probadas y una plataforma y herramientas de aplicaciones basadas en código abierto".

Si bien todo esto suena emocionante, puede ser abrumador para la mayoría de los líderes de TI.

La definición de SoftwareOne es sencilla:

Creemos que la modernización de aplicaciones se refiere a modificar el código fuente o la arquitectura de las aplicaciones para aprovechar las plataformas en la nube y los servicios nativos. De esta manera, se agiliza el negocio, se optimizan los costos y se mejoran las prácticas y la velocidad de desarrollo. Básicamente, se convierte a la nube en una nube real.

Las empresas buscan trabajar con un socio que pueda analizar su cartera de aplicaciones, ayudarles a crear un plan, migrar y modernizar lo que tenga sentido, optimizar su inversión en la nube y ayudar a sus empleados a mejorar sus habilidades y sus prácticas en el proceso.

Las siete "R" de la adopción optimizada de la nube

La modernización de las aplicaciones puede significar cosas distintas para diferentes personas. En SoftwareOne, utilizamos un concepto llamado "las siete R" para facilitar las conversaciones sobre las decisiones que pueden tomar las empresas para evaluar y modernizar sus aplicaciones. Nuestro modelo se basa en descripciones de estrategias de migración similares de Gartner y AWS, pero tiene algunas diferencias únicas.

Pathways for Cloud Adoption, source: SoftwareOne

Muchas empresas tienen la tentación de renovar el alojamiento o la plataforma de las aplicaciones mínimamente para la nube. Los beneficios más considerables (incluido un ahorro de costos de hasta el 50 %) son para aquellos que renuevan la plataforma, refactorizan y renuevan las licencias de sus aplicaciones para aprovechar todo lo que ofrece la nube.

Renovar el alojamiento

La renovación del alojamiento consiste en trasladar los componentes de una aplicación de servidores físicos a máquinas virtuales en la nube. Esto se suele denominar migración "lift-and-shift". Trasladar sus aplicaciones a máquinas virtuales de esta manera le permite realizar una migración a la nube de forma sencilla, pero no implica renovar la arquitectura de la solución para utilizar servicios nativos de la nube. Se encontrará con las mismas limitaciones de escalabilidad y opciones de desarrollo futuro que en el centro de datos. Si debe trasladarse rápidamente de un centro de datos físico, no espera tener que actualizar sus aplicaciones con mucha frecuencia o en absoluto, o si es de menor importancia estratégica para el negocio, es posible que no desee dedicar sus esfuerzos en renovar las plataformas o refactorizarlas, por lo que terminan siendo buenas candidatas para una renovación de alojamiento.

Renovar las plataformas

La renovación de la plataforma implica trasladar una aplicación local a la nube mientras se realizan cambios mínimos en el código fuente para permitir una gestión más detallada de los componentes de la aplicación. Se trata de un enfoque rentable, pero que permite obtener ciertos beneficios nativos de la nube, como el ajuste de escala automático, la mejora de la seguridad y la resistencia, y el almacenamiento gestionado. Un método de renovación de plataforma es la creación automática de contenedores mediante las herramientas de migración de un hiperescalador. Este enfoque permite reducir los costos mediante el uso de una plataforma compartida en lugar de IaaS y proporciona una oportunidad para pasar de software comercial a contenedores de código abierto en la nube, lo que reduce aún más el costo total de propiedad. La renovación de la plataforma es ideal para cargas de trabajo con componentes sencillos, una deuda técnica controlada y sin problemas importantes de desempeño o seguridad. Quizás les haya dado prioridad a otras aplicaciones de su cartera para una modernización más amplia y tenga que ser pragmático con el resto. La renovación del alojamiento y la plataforma pueden ser complicadas.

Según indica un informe técnico reciente de IDC sobre la modernización de aplicaciones, la renovación de plataformas "podría dar lugar a sorpresas inesperadas (y no deseadas) que pueden afectar la estabilidad y el desempeño de las aplicaciones".

Refactorizar

La refactorización es el proceso de renovar la arquitectura y realizar cambios considerables en el código de una aplicación para que se adapte mejor a la nube. Una refactorización adecuada permite pagar la deuda técnica, descomponer monolitos, resolver problemas de desempeño y seguridad, y añadir servicios nativos de la nube. En general, las aplicaciones monolíticas (creadas con funcionalidades como una interfaz de usuario, una base de datos y lógica, todo en una sola unidad) se descomponen para usar servicios individuales en la nube de forma nativa. Esto le permite optimizar el uso de los servicios en la nube en función de los requisitos empresariales y técnicos, y las consideraciones de costos en cuanto a informática, almacenamiento, base de datos, etc. También abre todo el catálogo de servicios creados específicamente de los hiperescaladores para la innovación futura (como aprendizaje automático, IA, IoT, perímetros, cadenas de bloques, etc.). Por último, permite que los equipos de desarrollo y operaciones tengan formas de trabajo más ágiles y modernas. Dos patrones arquitectónicos modernos reconocidos son los microservicios (las funciones individuales se implementan en contenedores que funcionan como aplicaciones independientes) y las tecnologías sin servidor (se ejecuta código sin tener en cuenta la infraestructura subyacente). La refactorización se puede llevar a cabo de una sola vez o en etapas iterativas, en función del alcance de la refactorización requerida y la voluntad de invertir. Las aplicaciones centrales para su negocio y que se planea mejorar continuamente en el futuro se beneficiarán de la inversión en la refactorización.

Relicense

Licensing in the cloud is nuanced, and businesses must assess the economics of their decisions in the context of their move to the cloud. In the bring-your-own-license (BYOL) model, organizations can use their licenses flexibly across cloud and on-prem. The pay-as-you-go (PAYG) model means you will be paying based on your organization’s true usage, a popular model for IaaS, PaaS, and SaaS services. Cloud subscription licensing agreements have set terms and can include attractive hyperscaler incentives. Enterprise licensing agreements streamline the purchase of software licenses and cloud subscriptions for large organizations and provide steep discounts. Some businesses prefer CAPEX spending to OPEX from a financial perspective, and some parts of the cloud may be treated as CAPEX for accounting purposes.

IT and procurement departments must look at the entire financial picture to make decisions on how best to optimize their spending. At SoftwareOne we sometimes also call relicense rethink because the licensing costs may drive other actions. For example, we can address apps that have been migrated to cloud through lift-and-shift or auto-containerization by further optimizing to reduce license as well as cloud consumption costs, saving as much as 50% overall.

Replace – Rebuild

In rare cases, organizations may want to go back to the drawing board and re-write an application from scratch rather than refactor it. Rebuilding is an extreme step – existing apps with active users are often best addressed through refactoring. However, perhaps your business model has changed dramatically, or you want to fully redesign for a different persona or type of user. In that scenario, you can start fresh and use the cloud services of your choice and build a cloud-native app from the start.

Replace – Repurchase

Replacing applications through repurchasing is one of the most straightforward ways to modernize. It involves buying commercial off-the-shelf (COTS) software (often delivered as software-as-a-service) to replace the custom app. Some SaaS providers allow for minimal customization to suit the company's workflows, but you are primarily trading a high degree of customization for a significant reduction in development and maintenance overhead. This is the way to go if the purpose of the application is not tied to your competitive advantage and there is an attractive solution within budget. This might mean choosing to replace your home-grown CRM or marketing systems with Salesforce and Adobe, for example.

Retain

As the name suggests, retaining refers to keeping an application in its current state and environment. Some companies make the choice to keep highly regulated workloads (such as those in healthcare and banking) on-prem or in private clouds.

Retire

Retiring is simply a decision to discard an application because it no longer serves the needs of the organization. When Microsoft aimed to move everything to the cloud in 2018, its Core Services Engineering and Operations (CSEO) team found that almost 30% of existing applications could be retired.

Do companies need a partner when modernizing their applications?

Working with an experienced cloud solution services partner is essential for most companies. A technology services team can bring deep expertise, repeatable assets, and automated tools that in-house teams do not have, getting you to outcomes more quickly. A partner can also help you create a vision and a roadmap for your application portfolio’s future state – one built with business goals and current technical constraints in mind. As a result, the modernisation project is de-risked through a strong business case and thorough discovery and assessment.

Finally, it is important to remember that a top partner has been involved with many projects and has had an opportunity to see the results of application modernisation at scale. They can guide customers starting this journey to think about automation, data governance, security, costs, and other levers in the early stages.

Case study: City of Frankfurt

The City Government of Frankfurt, Germany relied on bespoke development of its business-critical applications. When end-of-life support for the technology within those apps neared, the city turned to SoftwareOne to rebuild its application portfolio and reduce technical debt and unnecessary IT expenses. Six applications were rapidly modernised and adapted to current business and security requirements, making the work of the city administration more cost-efficient, secure, productive, and user-friendly.

Read more

Building an application modernisation strategy

According to McKinsey, CIOs recently said that “10 to 20 percent of the technology budget dedicated to new products is diverted to resolving issues related to tech debt. More troubling still, CIOs estimated that tech debt amounts to 20 to 40 percent of the value of their entire technology estate before depreciation.”

There is no doubt that application modernisation is critical. Without it, organisations tend to waste up to 32 percent of their cloud spending, according to Flexera.

Modernisation is an investment in your future but has the potential to interrupt business as usual if not well-planned and executed. Partnering with an expert advisor is a significant first step. At SoftwareOne, we have a pragmatic approach to optimised cloud adoption and provide flexible services to help you accomplish your goals wherever you are in the journey.

With global reach, end-to-end services, and strong partnerships with Microsoft, Amazon Web Services, and Google, SoftwareOne delivers on the promise of cloud. Unlike other cloud solution services partners, SoftwareOne is a leader in software and cloud financial management. We’ll show you how to make your current IT investments count while bringing your business forward.

A blurry image of a computer screen with numbers on it.

Modern platforms, applications, and practices

A realistic and sustainable cloud strategy accelerates development, strengthens security, reduces costs, and improves performance and resiliency. Are you getting all you can out of cloud?

Modern platforms, applications, and practices

A realistic and sustainable cloud strategy accelerates development, strengthens security, reduces costs, and improves performance and resiliency. Are you getting all you can out of cloud?

Author

SoftwareOne blog editorial team

Blog Editorial Team

We analyse the latest IT trends and industry-relevant innovations to keep you up-to-date with the latest technology.