Paso 1. Evaluar las aplicaciones - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Paso 1. Evaluar las aplicaciones

Los objetivos de esta fase son:

  • Comprenda a fondo su panorama de aplicaciones y prepárelas para las plataformas de datos modernas, de modo que pueda acelerar el tiempo de generación de valor sin afectar a su negocio y, posteriormente, modernizarlas, optimizarlas y escalarlas.

  • Haga un perfil de su entorno de aplicaciones para identificar los beneficios, los riesgos y los gastos asociados con el cambio.

  • Proporcione un conjunto integral de servicios: desde la estrategia y la planificación, pasando por la implementación, la migración y la modernización de las aplicaciones, hasta el soporte continuo.

  • Cree políticas, recomendaciones y controles que proporcionen prácticas y herramientas reutilizables para ofrecer un valor empresarial continuo.

En la fase de evaluación, los propietarios y arquitectos de las aplicaciones utilizan un manual de diagnóstico de la modernización para validar sus objetivos y prioridades de modernización.

Uso del manual de diagnóstico de modernización

Un manual de diagnóstico de modernización proporciona un proceso para determinar el valor de pasar del estado actual al futuro para la empresa. Esto incluye los cambios tecnológicos que implica la modernización.

Utilice el manual de diagnóstico para determinar la prioridad de su aplicación o conjunto de aplicaciones para la modernización de la nube y para identificar los componentes que deben abordarse durante la modernización.

Dimensiones de diagnóstico

El manual de diagnóstico de modernización le ayuda a comprender las siguientes dimensiones del estado actual y objetivo (posterior a la migración) de una aplicación o un grupo de aplicaciones:

  • Agrupación de aplicaciones: ¿hay alguna razón para agrupar las aplicaciones (por ejemplo, por tecnología o modelo operativo) para su modernización?

  • Secuencia: ¿existe un orden en el que se deban modernizar las aplicaciones en función de las dependencias?

  • Tecnología: ¿Cuáles son las categorías de tecnología (por ejemplo, middleware, base de datos, mensajería)?

  • Dependencias: ¿Las aplicaciones tienen dependencias clave con respecto a otros sistemas o middleware?

  • Entornos: ¿Cuántos entornos de desarrollo, pruebas y producción se utilizan?

  • Almacenamiento: ¿Cuáles son los requisitos de almacenamiento (por ejemplo, el número de copias de los datos de prueba)?

  • Modelo operativo: ¿pueden todos los componentes de la aplicación adoptar una canalización de integración y entrega continuas (CI/CD)?

    • Si es así, ¿qué responsabilidades de infraestructura deberían distribuirse entre los equipos de aplicaciones y a quién?

    • De no ser así, ¿qué responsabilidades de infraestructura (por ejemplo, la aplicación de revisiones) deberían recaer en el equipo de operaciones?

  • Modelo de entrega:

    • Según la aplicación o el grupo de aplicaciones, ¿debe redefinir la plataforma, refactorizar, reescribir o reemplazar?

    • ¿Qué parte de la modernización debería utilizar servicios nativos en la nube?

  • Conjuntos de habilidades: ¿qué conocimientos se requieren? Por ejemplo:

    • Experiencia en aplicaciones en la nube para crear aplicaciones con una arquitectura modular utilizando tecnologías de contenedores y sin servidor desde cero.

    • Experiencia en DevOps para desarrollar soluciones en las áreas de procesos de CI/CD, infraestructura como código y automatización u observabilidad de aplicaciones mediante el uso de herramientas y servicios de código abierto AWS.

  • Enfoque de modernización: teniendo en cuenta el estado actual de las aplicaciones, las opciones de tecnología en la nube, la deuda técnica actual, la CI/CD, la supervisión, las habilidades y el modelo operativo, ¿cuál es el trabajo de migración técnica que hay que realizar?

  • Calendario de modernización: ¿Cuáles son las consideraciones sobre el calendario de la cartera empresarial u otras consideraciones sobre el trabajo planificado que podrían afectar al calendario de modernización?

  • Gasto unitario y total de la infraestructura: ¿cuál es el gasto anual de mantener la carga de trabajo en las instalaciones o en las instalaciones AWS, según un análisis económico?

La evaluación de las aplicaciones en función de estas dimensiones le ayuda a mantenerse anclado en los negocios, la tecnología y la economía a medida que impulsa su modernización hacia la nube.

Componentes básicos

Al modernizar las aplicaciones, puede clasificar sus observaciones en tres componentes básicos: agilidad empresarial, agilidad organizacional y eficacia de la ingeniería.

  • Agilidad empresarial: prácticas que se refieren a la eficacia de la empresa para traducir las necesidades empresariales en requisitos. Cuál es la capacidad de respuesta de la organización de entrega a las solicitudes empresariales y cuánto control tiene la empresa a la hora de trasladar la funcionalidad a los entornos de producción.

  • Agilidad organizacional: prácticas que definen los procesos de entrega. Los ejemplos incluyen la metodología ágil y las ceremonias de DevOps, así como la asignación de funciones y la claridad, y la colaboración, la comunicación y la habilitación generales en toda la organización.

  • Efectividad de la ingeniería: prácticas de desarrollo relacionadas con el control de calidad, las pruebas, la CI/CD, la gestión de la configuración, el diseño de aplicaciones y la gestión del código fuente.

Identificación de métricas

Para saber si está ofreciendo lo que es importante para sus clientes, debe implementar medidas que impulsen la mejora y aceleren la entrega. El objetivo, la pregunta y la métrica (Goal, question, metric, GQM) proporcionan un marco eficaz para garantizar que sus medidas cumplan estos criterios. Utilice este marco para trabajar a partir de sus objetivos siguiendo estos pasos:

  1. Identifique la meta o el resultado que se está proponiendo.

  2. Determine las preguntas que deben responderse para determinar si se está cumpliendo la meta.

  3. Decida qué debe o podría medirse para responder adecuadamente a las preguntas. Existen dos categorías de medidas:

    • Métricas del producto, que garantizan que ofreces lo que realmente importa a sus clientes.

    • Métricas operativas, que garantizan que está mejorando el ciclo de vida de la entrega de software.

Métricas de producto

Las métricas de los productos se centran en los resultados empresariales y deben establecerse cuando se determine el retorno de la inversión (ROI) para un nuevo ámbito de trabajo. Una técnica útil para establecer una métrica de producto es preguntarse qué cambiará en la empresa cuando se implemente ese nuevo ámbito de trabajo. Resulta útil formalizar esta idea en forma de una prueba que se centre en lo que sucedería cuando se entregara una característica de modernización.

Por ejemplo, si cree que la migración de las transacciones desde los sistemas heredados abrirá nuevas oportunidades para incorporar clientes, ¿cuál es la mejora? ¿Cuánta capacidad hay que crear para incorporar al próximo cliente? ¿Cómo se construiría una prueba para validar ese resultado? En esta situación, las métricas de producto pueden incluir las siguientes:

  • Identifique la hipótesis o la prueba del valor empresarial (por ejemplo, si se libera un x por ciento de la capacidad de transacciones, se incorporará un y por ciento de nuevos negocios).

  • Establezca la base de referencia (por ejemplo, la capacidad actual de x transacciones admite y clientes).

  • Valide el resultado (por ejemplo, si ha mejorado la capacidad en un x por ciento, ¿puede ahora incorporar un y por ciento de nuevos negocios?)

Métricas operativas

Para determinar si está mejorando el ciclo de vida de la entrega de software y acelerando la modernización, debe conocer los plazos de entrega y de implementación necesarios para la entrega del software. Es decir, ¿con qué rapidez puede convertir una necesidad empresarial en funcionalidad en producción?

Entre las métricas operativas útiles se incluyen las siguientes:

  • Plazo de entrega: ¿cuánto tiempo tarda un trabajo en pasar de la solicitud a la producción?

  • Duración del ciclo: ¿cuánto tiempo se tarda en implementar un ámbito de trabajo, de principio a fin?

  • Frecuencia de implementación: ¿con qué frecuencia se implementan los cambios en la producción?

  • Tiempo de restauración del servicio: ¿cuánto tiempo tarda en recuperarse de un fallo (medido como el tiempo medio de reparación o MTTR)?

  • Tasa de cambios en el número de errores: ¿cuál es el tiempo medio entre errores (MTBD)?