Técnicas para controlar la expansión desordenada de API
HogarHogar > Noticias > Técnicas para controlar la expansión desordenada de API

Técnicas para controlar la expansión desordenada de API

Aug 21, 2023

imágenes falsas

Si no se controla, una gran cartera de API puede convertirse rápidamente en un gran problema (y una responsabilidad costosa) para las empresas. Sin una estrategia y estandarización de API bien definidas, las aplicaciones pueden fácilmente salirse de control y provocar una expansión descontrolada de API.

Cuando se produce una expansión descontrolada de API, pueden aparecer ineficiencias como esfuerzos de desarrollo duplicados en funcionalidades de aplicaciones redundantes, lo que requiere mayores inversiones para mantenimiento y aumenta la complejidad del sistema. La necesidad de compatibilidad con versiones anteriores para muchos consumidores puede resultar inmensamente compleja y costosa. Múltiples fuentes de verdad también pueden generar conflictos de datos, lo que resulta en malas experiencias y ambigüedad que pueden reducir la adopción.

En este artículo, examinaremos algunas estrategias generales que los equipos de software pueden implementar para evitar que se produzca una expansión descontrolada de API o, si es necesario, recuperar el control sobre una cartera de API que ya está mal administrada.

Gestionar una proliferación descontrolada de API requiere un esfuerzo concentrado por parte de los equipos de software para garantizar que puedan mantener al mínimo la complejidad general, el costo de los cambios y el mantenimiento de emergencia.

Abordar la expansión de API comienza con la determinación del alcance general del impacto de una API en las operaciones y el consumo de recursos. A menudo, las API pueden interactuar con entidades de software tanto dentro de la organización como fuera de sus límites. El alcance del impacto de las API suele ser limitado cuando los consumidores, ya sean internos o externos, se integran explícitamente con ellas.

Las API disponibles públicamente pueden representar un grado significativamente mayor de complejidad de gestión. Además de la clasificación por alcance de impacto, que podría incluir cualquier número de componentes y puntos finales más allá del control de la organización, una API pública singular a menudo puede incorporar múltiples formatos de datos, estándares de seguridad y protocolos de comunicación. Como tal, es imperativo identificar el alcance de la fragmentación durante la implementación del contrato y del protocolo.

A veces, las API necesitarán migrar entre sistemas a lo largo de su ciclo de vida. Para permitir una transición fluida, los equipos de software deberán preparar las API antes de la migración para garantizar que mantengan el estado deseado. Para reducir los problemas de transición, esto también podría requerir calibrar la migración para que las API migren lentamente con el tiempo en lugar de hacerlo de forma masiva. Existen algunas técnicas básicas de control de versiones de API que pueden resultar útiles a este respecto, como permitir a los consumidores migrar a versiones más nuevas mientras los contratos más antiguos están obsoletos. Los equipos también pueden crear bibliotecas accesibles para tiempos de ejecución populares, crear capas de compatibilidad para API más nuevas o agregar indicadores de funciones específicas del consumidor para ayudar a respaldar una migración perfecta.

Una vez que se comprendan bien el panorama y el impacto existentes, los pasos siguientes deberían centrarse en la convergencia de los estándares existentes. Esta etapa se puede ejecutar en tres "subpasos", que revisaremos a continuación.

Los equipos deben medir y analizar periódicamente el uso de API en todos los entornos. Las áreas donde existe poco o ningún control sobre los consumidores de API pueden requerir la ayuda de herramientas o plataformas de administración de API que brinden soporte para capacidades como la burla. Identifique áreas de exposición principales, funcionalidades críticas y todos los formatos de API existentes.

Las API en carteras grandes y no administradas a menudo pueden exhibir comportamientos redundantes que conducen a fuentes de información y esfuerzos de desarrollo duplicados. Es importante eliminar la ambigüedad de las fuentes trazando fuertes límites de dominio para las clasificaciones de API y, quizás lo más importante, las responsabilidades de gestión. Esto podría requerir la creación de nuevas API que sean "versiones consolidadas" de las anteriores, desaprobando las API existentes que se consideran redundantes o simplemente actualizando los contratos de las API existentes para limitar su alcance.

Una vez que se produce la consolidación funcional, es importante establecer convenciones definitivas que se alineen con las necesidades y objetivos del lado empresarial que, en última instancia, trazarán el camino para las transiciones y los nuevos desarrollos. Documentar y diagramar estas relaciones contribuirá en gran medida a generar un consenso más amplio sobre aspectos como las estructuras contractuales y los protocolos subyacentes.

Para garantizar que una expansión de API no detenga las operaciones comerciales generales, es imperativo establecer órganos de gobierno que revisen cualquier actualización de la estrategia general de API y el panorama funcional antes de su publicación. Esta revisión debe incluir cualquier convención o excepción que sea aplicable a todas las interfaces API.

Una plataforma sólida de gestión de API puede proporcionar el soporte necesario para consolidar y establecer estándares de gobernanza desde el principio. Vale la pena estudiar y aprender de las API que están disponibles públicamente, operan a escala y están diseñadas y administradas con rigor (la referencia de la API de Stripe es un buen ejemplo de esto). Desde una perspectiva de herramientas, Kong y Tyk son dos plataformas populares de administración de API de código abierto que cuentan con un catálogo extensible de complementos para capacidades de consolidación y análisis de API.