Gestión de riesgos durante la modernización de aplicaciones
Published on 28 Aug 2020
Las empresas que buscan aprovechar las plataformas como servicio (PaaS), como Pivotal Cloud Foundry y Red Hat Open shift, generalmente comienzan con dos entornos de aplicaciones:
Nuevas iniciativas (greenfield) que se pueden construir desde cero utilizando las mejores prácticas nativas de la nube
- Entornos de aplicaciones existentes (brownfield) que les gustaría modernizar para obtener los beneficios de agilidad, escalabilidad y rendimiento de la nube
- Muchas de las cargas de trabajo existentes (brownfield) son aplicaciones críticas para la empresa, generan ingresos sustanciales y son sensibles a las interrupciones. Si bien sería ideal rediseñar por completo estas aplicaciones utilizando principios nativos de la nube, generalmente no es práctico ni rentable hacerlo.
Este informe proporciona consejos prácticos y las mejores prácticas sobre dónde y cómo comenzar con la refactorización de una aplicación monolítica. En conjunto, esto ayuda a los equipos de TI a acelerar el proceso de modernización y reduce el riesgo de afectar los eventos de los clientes y los procesos comerciales en el proceso.
¿Por dónde empezar?
Identificación de candidatos y componentes para refactorización
Antes de comenzar, preparemos el escenario con un par de suposiciones:
Estás empezando con un monolito bien estructurado:
Antes de comenzar el proceso de refactorización de elementos de su monolito, deberá realizar algunas tareas para asegurarse de que esté bien estructurado. Si no está seguro de si está comenzando con un monolito bien estructurado, obtenga más información mirando este video “Modular Monoliths” de Simon Brown (@simonbrown), un consultor de la industria en arquitectura de software.
Estás utilizando prácticas y herramientas de DevOps:
Para aprovechar al máximo la nube nativa, debe seguir las mejores prácticas de DevOps y utilizar herramientas de automatización para la integración continua (CI) y la entrega continua (CD). Para obtener más información sobre esto, consulte el libro electrónico “Lecciones aprendidas al escribir el manual de DevOps” de los autores: Gene Kim, Mark Tomlinson y Andi Grabner.
¿Qué es un monolito y cómo lo refactorizo?
Tendemos a pensar que los monolitos son algo malo en el nuevo mundo actual de arquitecturas de aplicaciones distribuidas y poco acopladas. Si tienes un monolito bien estructurado, lo único malo es que es una única base de código y para escalarlo debes escalar todo el conjunto. En esencia, “desde una perspectiva de software, un monolito es una combinación de capacidades empresariales o contextos delimitados, todos entrelazados con un contexto central. El proceso de transformación de una aplicación a una arquitectura basada en microservicios implica la separación de cada uno de estos contextos delimitados en sus propios contextos”.
Ver también : 3 ventajas de Citrix ADC con licencias flexibles