Del concepto a la realidad: Desarrollo de la nueva solución de gestión de API de Flex Gateway de MuleSoft
Salesforce Engineering
September 17, 2024
En nuestra serie de preguntas y respuestas "Engineering Energizers", exploramos las extraordinarias trayectorias de líderes en ingeniería que han realizado importantes contribuciones en sus respectivos campos. Hoy, nos sumergimos en la trayectoria técnica de Evangelina Martínez Ruiz Moreno, Directora Sénior de Salesforce, que encabezó el desarrollo de la nueva plataforma de MuleSoft Anypoint Flex Gateway.
Sigue leyendo para descubrir cómo abordó los riesgos, superó los retos y aprovechó las tecnologías de código abierto para ofrecer esta solución de gestión de API altamente personalizable y eficaz.
¿En qué se centra tu equipo dentro del aspecto de gestión de API de MuleSoft?
Mi equipo de MuleSoft se concentra en la experiencia del desarrollador de API y en la gestión de las instancias de API. Proporcionamos herramientas para redactar especificaciones, probar API y gestionar su acceso. Esto incluye añadir condiciones de seguridad, como restringir el acceso a determinados clientes o clientas o establecer límites de solicitud. Ofrecemos esta experiencia a través de nuestra plataforma de API, y también desarrollamos los tiempos de ejecución donde se despliega la API o el proxy de API y donde tiene lugar la aplicación de las políticas.
Nuestro último gran lanzamiento de producto es Anypoint Flex Gateway, una solución de gestión de API rápida y segura que se integra a la perfección con los flujos de trabajo de DevOps y CI/CD, ofreciendo un alto rendimiento para aplicaciones que consumen muchos recursos y garantizando al mismo tiempo la seguridad y la capacidad de gestión a nivel empresarial en todos los entornos.
¿Cuáles fueron los retos asociados al desarrollo de Flex Gateway?
El desarrollo de Flex Gateway de MuleSoft planteó numerosos retos, clasificados en dos áreas clave:
- Producto: Dar forma al producto, definir la experiencia y determinar los requisitos fueron retos clave en el desarrollo de Flex Gateway.
- Aspectos técnicos: Definir la arquitectura y seleccionar las tecnologías adecuadas, muchas de las cuales eran nuevas para el equipo, como Envoy, Go y Rust. Para ejecutar el proyecto, tuvimos que realizar cambios en múltiples componentes y coordinar los esfuerzos entre varios equipos y funciones para dar soporte a Flex en la plataforma.
Además de estos retos generales, encontramos varios obstáculos específicos:
- Complejidad: La creación de una solución integral de gestión de API puede dar lugar a una complejidad excesiva que dificulte su uso por parte de los clientes y clientas. A esta complejidad contribuyen los diferentes user personas con necesidades diversas.
- Enfoque limitado: Centrarse demasiado en un recorrido del usuario o usuaria puede hacer que se descuiden otras perspectivas, como la integración y la gestión de API. Es importante tener en cuenta las necesidades más amplias de los usuarios y usuarias para garantizar que la solución sea eficaz.
- Falta de integración: No integrar la solución en todos los componentes de la plataforma supone un riesgo. Una integración perfecta es crucial para lograr interacciones fluidas y flujos de trabajo eficaces.
Profundizando un poco, ¿cómo abordó tu equipo estos retos?
Hemos seguido un planteamiento global:
- Colaboración y participación temprana: Trabajamos junto con nuestro director de producto, el equipo de user experience y otros equipos internos desde el principio, haciéndoles partícipes del proceso de ideación, diseño y pruebas para recabar información valiosa y garantizar una solución completa.
- Validación estratégica: Pusimos en marcha programas piloto o beta para recabar opiniones, validar hipótesis y evaluar si la solución cumplía los requisitos sin complejidades innecesarias. Además, el uso de evaluaciones externas, como Gartner, ayudó a validar nuestra solución y nuestro roadmap, proporcionando información valiosa sobre la forma en que estamos satisfaciendo las necesidades de los clientes y clientas y alineándonos con nuestra visión de futuro.
- Participación de clientes, clientas, socios y socias: Colaboramos estrechamente con clientes, clientas, socios y socias para recabar valiosos comentarios que conforman nuestro roadmap. Al dar prioridad a los canales de comunicación abiertos, escuchamos activamente los comentarios de los clientes y clientas, comprendemos y prevemos sus necesidades actuales y futuras. Estos comentarios sirvieron de base para introducir mejoras de gran impacto.
¿Cómo te aseguraste de que Flex Gateway siguiera siendo sencillo para los clientes y clientas al tiempo que gestionabas eficazmente su complejidad?
Seguimos un planteamiento estratégico que consistía en dividir la solución en distintas fases, lo que nos permitía aportar valor desde el principio y recabar opiniones. Este proceso iterativo nos ayudó a validar tanto el producto como su alcance, asegurándonos de satisfacer las necesidades de los clientes y clientas sin abrumar.
Para garantizar una solución equilibrada y optimizar el tiempo de comercialización, evaluamos cuidadosamente el producto mínimo viable (MVP), evitando tanto incumplir como excedernos en la entrega. Esto supuso una estrecha colaboración entre los equipos de UX, gestión de producto, producto, arquitectura e ingeniería durante las fases de ideación de nuestro ciclo de vida de desarrollo de software, definiendo un MVP óptimo para la primera versión.
Además, aplicamos un enfoque basado en hitos para mejorar el proceso de entrega. Estos hitos sirvieron como puntos de control para realizar demostraciones internas y recabar valiosos comentarios tanto de los equipos internos como de las partes interesadas externas. Este enfoque facilitó la integración temprana entre los distintos componentes implicados en la ejecución.
¿Cómo contribuyeron las tecnologías de código abierto al desarrollo de Flex Gateway?
Las tecnologías de código abierto nos permitieron ofrecer una solución altamente personalizable, eficaz e integrada para las necesidades de nuestros clientes. Entre estas tecnologías se incluyen:
- Envoy: Al ser nuestra tecnología principal, contribuimos activamente con su código fuente, lo que nos permitió personalizar y optimizar el gateway según nuestras necesidades específicas.
- Fluentbit: Este procesador de métricas e inicio de sesión escalable nos ayudó a gestionar eficazmente las métricas y los registros dentro del gateway, garantizando un seguimiento y un análisis eficaces de los datos.
- WebAssembly (WASM): Utilizando WASM, un agregado de ensamblaje web, escribimos políticas potentes y portátiles, implementando lógica y reglas complejas para satisfacer los diversos requisitos de nuestros clientes y clientas.
- DataWeave: Esta herramienta interna de transformación de datos proporcionó una solución versátil para la transformación de los mismos dentro de las políticas y en toda la plataforma MuleSoft, mejorando la flexibilidad y eficiencia de nuestro gateway.
- Anything Modeling Language (AML) y AML Modeling Framework (AMF): Estas herramientas nos permitieron crear modelos y documentación estandarizados de las API, garantizando la coherencia y la facilidad de integración.
¿Cómo influye tu experiencia en Salesforce en tu forma de entender el liderazgo?
Una de las lecciones clave que he aprendido es la importancia de acabar con los silos y fomentar la colaboración. Esto fue especialmente evidente durante el exitoso lanzamiento de Flex Gateway, en el que fue crucial una fuerte interdependencia entre los equipos. Al adoptar un enfoque de colaboración, nos aseguramos de que el equipo se sintiera implicado y valorado, en lugar de ser visto como mera dependencia.
Sin embargo, trabajar en un entorno de colaboración presenta retos, como la desalineación de prioridades cuando los equipos tienen diferentes suposiciones o interpretaciones de los objetivos del proyecto. Para hacer frente a este reto es esencial que los objetivos estén claros y alineados.
Para mejorar la comprensión y el compromiso, es importante proporcionar contexto y ayudar al equipo a ver el panorama general de sus contribuciones, especialmente cuando trabajan en componentes para diferentes iniciativas. Esto puede lograrse compartiendo los objetivos generales de nuestro equipo, lo que ayuda a alinear las prioridades. Al compartir la visión, el impacto, las celebraciones, el reconocimiento y el trabajo conjunto para superar los retos, fomentamos la unidad de todo el equipo.
Más información
- Mantente al tanto de las novedades — ¡Únete a nuestra Comunidad de Talentos!
- Revisa nuestros equipos de Tecnología y Producto para enterarte cómo participar.
- Lee las noticias más recientes de MuleSoft en el MuleSoft Blog.