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.
Equilibrar la autonomía con la alineación
Las arquitecturas microfrontend están fuertemente sesgadas hacia la autonomía de los equipos. Sin embargo, es importante distinguir entre las áreas que pueden respaldar la flexibilidad y los diversos enfoques para resolver problemas, y las áreas en las que la estandarización es necesaria para lograr la alineación. Los principales líderes y arquitectos deben identificar estas áreas desde el principio y priorizar las inversiones para equilibrar la seguridad, el rendimiento, la excelencia operativa y la confiabilidad de las microinterfaces. Encontrar este equilibrio implica lo siguiente: crear, probar, lanzar y registrar las microinterfaces, monitorizar y emitir alertas.
Crear microinterfaces
Lo ideal es que todos los equipos estén estrechamente alineados para maximizar los beneficios en términos de rendimiento de los usuarios finales. En la práctica, esto puede resultar difícil y puede requerir más esfuerzo. Recomendamos comenzar con algunas pautas escritas a las que puedan contribuir varios equipos mediante un debate abierto y transparente. Luego, los equipos pueden adoptar gradualmente el patrón de software Cookiecutter, que permite crear herramientas que proporcionen una forma unificada de estructurar un proyecto.
Con este enfoque, puedes incorporar opiniones y restricciones. La desventaja es que estas herramientas requieren una inversión significativa para su creación y mantenimiento, y para garantizar que los bloqueos se aborden rápidamente sin afectar a la productividad de los desarrolladores.
End-to-end pruebas de microinterfaces
Las pruebas unitarias se pueden dejar en manos de los propietarios. Recomendamos implementar una estrategia desde el principio para realizar pruebas cruzadas de microinterfaces que se ejecutan en una consola única. La estrategia incluye la capacidad de probar las aplicaciones antes y después de una versión de producción. Recomendamos desarrollar procesos y documentación para que el personal técnico y no técnico pueda probar las funcionalidades críticas de forma manual.
Es importante asegurarse de que los cambios no degraden la experiencia del cliente, funcional o no funcional. Una estrategia ideal es invertir gradualmente en pruebas automatizadas, tanto para las funciones clave como para las características de la arquitectura, como la seguridad y el rendimiento.
Lanzamiento de microinterfaces
Cada equipo puede tener su propia forma de implementar su código, generar opiniones y tener su propia infraestructura. El coste de la complejidad del mantenimiento de estos sistemas suele ser un elemento disuasorio. Por el contrario, recomendamos invertir desde el principio para implementar una estrategia compartida que pueda aplicarse mediante herramientas compartidas.
Desarrolle plantillas con la plataforma de CI/CD que prefiera. Luego, los equipos pueden usar las plantillas previamente aprobadas y la infraestructura compartida para publicar los cambios en la producción. Puede empezar a invertir en este trabajo de desarrollo cuanto antes, ya que estos sistemas rara vez necesitan actualizaciones importantes tras un período inicial de pruebas y consolidación.
Registro y supervisión
Cada equipo puede tener diferentes métricas empresariales y de sistemas de las que quiera hacer un seguimiento con fines operativos o analíticos. Aquí también se puede aplicar el patrón del software Cookiecutter. La distribución de los eventos puede resumirse y ponerse a disposición como una biblioteca que pueden utilizar varias microinterfaces. Para equilibrar la flexibilidad y la autonomía, desarrolle herramientas para registrar métricas personalizadas y crear paneles o informes personalizados. Los informes promueven una estrecha colaboración con los propietarios de los productos y reducen el ciclo de comentarios de los clientes finales.
Al estandarizar la entrega, varios equipos pueden colaborar para realizar un seguimiento de las métricas. Por ejemplo, un sitio web de comercio electrónico puede realizar un seguimiento del recorrido del usuario desde la microinterfaz «Detalles del producto» hasta la microinterfaz «Carrito» y luego la microinterfaz «Compra» para medir la participación, la pérdida de clientes y los problemas. Si cada microinterfaz registra los eventos mediante una única biblioteca, puedes consumir estos datos en su totalidad, explorarlos de forma integral e identificar tendencias interesantes.
Alertas
Al igual que el registro y la supervisión, las alertas se benefician de la estandarización y ofrecen cierto grado de flexibilidad. Los distintos equipos pueden reaccionar de forma diferente a las alertas funcionales y no funcionales. Sin embargo, si todos los equipos tienen una forma consolidada de iniciar las alertas en función de las métricas recopiladas y analizadas en una plataforma compartida, la empresa puede identificar los problemas entre los equipos. Esta capacidad resulta útil durante los eventos de gestión de incidentes. Por ejemplo, las alertas se pueden iniciar de la siguiente manera:
-
Número elevado de excepciones del JavaScript lado del cliente en una versión concreta del navegador
-
El tiempo necesario para renderizar se ha degradado significativamente por encima de un umbral determinado
-
Número elevado de códigos de estado de 5xx cuando se consume una API determinada
Según la madurez de su sistema, puede equilibrar sus esfuerzos en diferentes partes de su infraestructura, como se muestra en la siguiente tabla.
Adopción |
Investigación y desarrollo |
Ascenso |
Madurez |
---|---|---|---|
Crea microinterfaces. |
Experimenta, documenta y comparte lo aprendido. |
Invierta en herramientas para crear nuevas microinterfaces. Evangeliza la adopción. |
Consolide las herramientas para andamios. Impulse la adopción. |
Pruebe las microinterfaces de principio a fin. |
Implemente mecanismos para probar manualmente todas las microinterfaces relacionadas. |
Invierta en herramientas para realizar pruebas automatizadas de seguridad y rendimiento. Investigue los indicadores de características y el descubrimiento de servicios. |
Consolide las herramientas para la detección de servicios, las pruebas en producción y end-to-end las pruebas automatizadas. |
Libere microinterfaces. |
Invierta en una infraestructura de CI/CD compartida y en versiones automatizadas para varios entornos. Evangelice la adopción. |
Consolide las herramientas para la infraestructura de CI/CD Implemente mecanismos de reversión manual. Impulse la adopción. |
Cree mecanismos para iniciar reversiones automatizadas a partir de las métricas y alertas del sistema y de la empresa. |
Observe el rendimiento de la microinterfaz. |
Invierta en una biblioteca e infraestructura de monitoreo compartidas para registrar de manera uniforme los eventos empresariales y del sistema. |
Consolide las herramientas para la supervisión y las alertas. Implemente paneles de control entre equipos para supervisar el estado general y mejorar la gestión de incidentes. |
Estandarice los esquemas de registro. Optimice los costos. Implemente alertas basadas en métricas empresariales complejas. |