¿Qué hace Selección de arquitectura y controles de idoneidad?
Traducir objetivos en comportamiento observable
Identifica actores, flujos de trabajo críticos, propiedad de datos y restricciones. Convierte "escalable", "seguro" y "mantenible" en escenarios: estímulo → entorno → respuesta → medida. Clasifica las pocas características que determinan materialmente el diseño. Distingue restricciones obligatorias de preferencias.
Procedimiento
- Define escenarios de calidad y umbrales de aceptación con las partes interesadas. Declara supuestos de carga de trabajo, fallos y equipo. Usa selección.
- Identifica el ámbito en el que cada propiedad debe mantenerse: componente, despliegue, flujo de trabajo o sistema completo. Diferentes partes pueden justificar diferentes estilos.
- Compara un conjunto pequeño de estilos factibles frente a esos escenarios, incluyendo un despliegue único modular. Explica el mecanismo que respalda cada beneficio reclamado.
- Examina el acoplamiento: dependencias de código fuente, llamadas en tiempo de ejecución, datos compartidos y cambios coordinados. La independencia estática de módulos no prueba el aislamiento de fallos en tiempo de ejecución.
- Elige el estilo viable más simple y registra un ADR, las consecuencias y un disparador para reconsideración. Mantén los detalles de implementación reversibles separados de los compromisos estructurales costosos.
- Convierte las decisiones críticas en controles de idoneidad: dependencias prohibidas, compatibilidad de contratos, presupuestos de latencia, tiempo de restauración y aislamiento de inquilinos. Usa controles de idoneidad.
- Reevalúa bajo carga observada y patrones de cambio. Una regla de dependencia que se cumple es evidencia de una propiedad, no de la calidad general de la arquitectura.
Preguntas de revisión
- ¿Resuelve un límite de complementos necesidades reales de extensibilidad sin otorgar a cada complemento acceso sin restricciones al núcleo?
- ¿Necesitan los eventos publicación duradera, compatibilidad de esquemas, deduplicación y monitoreo de retraso? ¿Están estos costos incluidos en la propuesta dirigida por eventos?
- ¿Mejora el despliegue separado un cuello de botella medido o una restricción de lanzamiento?
- ¿Puede el equipo propuesto operar la complejidad resultante de despliegue y fallos?
- ¿Qué invariante se vuelve más difícil cuando la propiedad de los datos se divide?
Resultado
Devuelve escenarios de calidad, mecanismos/compensaciones candidatos, estructura elegida, mapa de propiedad/dependencias, ADR, controles de idoneidad y supuestos no resueltos.
Alcance y referencias
Cobertura parcial alineada con Fundamentals of Software Architecture, 2.ª edición. (Richards y Ford). Material del autor, transcripción de una entrevista pública al autor, contenido editorial y documentación de pruebas de arquitectura fundamentan esta guía original. Consulta fuentes. Ningún estilo es una etapa de madurez universal.