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.