Desarrollar servicios con DevOps y componentes heredados
- Gestión de apps
La metodología, las herramientas y las técnicas de DevOps se utilizan cada vez más para proporcionar servicios que deberán integrarse con las aplicaciones heredadas centrales y, para aquellos que ofrecen un servicio extremo a extremo robusto usando DevOps y legacy, es seguro que será un desafío.
Si bien nos centramos en DevOps y desarrollos ágiles y exploramos las oportunidades que nos ofrecen estas técnicas y las herramientas que las respaldan, a menos que trabajemos en una empresa emergente, la mayoría de las organizaciones tendrán sistemas heredados que representan inversiones significativas y brindan apoyo continuo a procesos centrales de negocio.
A menudo hay poco apetito en una organización para transformar un sistema que está suministrando este nivel de soporte. Los riesgos y los costes de este nivel de transformación a menudo deberán pensarse detenidamente. La mayoría de las veces, se elige una política de precaución. Sin embargo, las aplicaciones modernas desarrolladas con microservicios en contenedores basados en la nube no encajan de forma natural con los sistemas heredados desarrollados con tecnologías antiguas inflexibles y mantenidos en entornos locales.
Pero, en la mayoría de los casos, ese es nuestro desafío como desarrolladores: aprovechar al máximo las nuevas tecnologías y los procesos DevOps, al tiempo que explotamos el valor en los componentes heredados básicos.
Mantenimiento de software e infraestructura
Según el informe mundial QA 2017-2018, la mayoría de las organizaciones utilizan DevOps en algún nivel: el 12% de las empresas encuestadas no utilizaron DevOps, el 47% de las empresas usaron DevOps en menos del 20% de los proyectos y el 30% de las empresas utilizó DevOps entre el 20% y el 50% de sus proyectos. Pocas organizaciones lo han convertido en su metodología de desarrollo primario. La mayoría de las organizaciones han explotado DevOps para dar soporte a las operaciones orientadas al cliente y han dejado las operaciones administrativas para continuar tal como están, hasta que tengan suficiente confianza con DevOps para realizar una transformación completa. Sin embargo, en la mayoría de los escenarios, las soluciones de DevOps orientadas al cliente deberán interactuar con los sistemas heredados.
Al usar DevOps para respaldar las operaciones orientadas a los clientes, pueden explotar la capacidad de DevOps de realizar cambios rápidos para reflejar las últimas propuestas de los clientes, por ejemplo, las nuevas ofertas y promociones se pueden reflejar rápidamente en los servicios orientados al cliente y donde hay una necesidad de responder a un competidor para mantener su posición en el mercado.
Sugerencias para un enfoque híbrido
Imaginando una situación en la que somos un desarrollo de DevOps a punto de ofrecer un servicio donde uno o más escuadrones de DevOps producirán un conjunto de componentes para habilitar ese servicio, pero una parte considerable de ese servicio será entregada por componentes heredados existentes, primero necesidad de entender las restricciones que están siendo impuestas por los componentes heredados.
Ahora, mucha gente puede evitar esto, ya que realmente no es tan fácil como parece; si se ha retenido un sistema heredado debido al riesgo y al costo de transformarlo, es probable que la forma en que gestiona los datos y aplica las reglas comerciales solo la conozca un pequeño equipo de soporte dedicado con años de conocimiento específico. Ni siquiera empieces a esperar que la documentación sea exhaustiva o esté actualizada, no lo será.
Producir una arquitectura de extremo a extremo
Para el servicio en construcción, deberá mostrar los puntos de integración entre el nuevo desarrollo sobre el que tiene control completo y los componentes heredados que no tiene. Es necesario comprender estos puntos y qué datos y procesamiento están soportando.
Los puntos de integración heredados se convierten en API de terceros en su desarrollo. Sin embargo, suelen ser más complejos en términos de procesamiento de datos y reglas que una simple API de terceros. Recuerde, estos son los sistemas que temían tocar. Como tales, requerirán mucha más atención y comprensión para integrarse con éxito.
Descubre la innovación
Para asegurar el éxito empresarial, ahora y a futuro, es imprescindible maximizar el retorno de la inversión existente en software, a la vez que innovar y adoptar nuevas tecnologías. Los retos que hay abordar para competir en un mundo de TI Híbrida incluyen DevOps, Seguridad, Gestión de riesgos y Análisis predictivo. Puedes obtener más información sobre cómo abordar estos retos e innovar en este enlace.