Header Ads Widget

Ticker

6/recent/ticker-posts

Los principios básicos de la gestión de API

 

La gestión de API es un término que se ha utilizado en la economía de API durante varios años y ha existido sin adquirir una definición universal exacta. Si bien la mayoría de los protagonistas de la comunidad de API están de acuerdo en los temas centrales de la gestión de API y por qué el tema es importante, los detalles se definen con frecuencia por las capacidades de las soluciones comerciales de "gestión de API". El término se ha vuelto tan sinónimo de estas soluciones que más de uno lo tiene grabado en su marca.

La tendencia a alinear la definición de administración de API con la solución de un proveedor está exacerbando el hecho de que la administración de API generalmente no se discute con mucha objetividad, ya que el tema a menudo se inclina hacia las capacidades del proveedor.

Por lo tanto, la dialéctica sobre la gestión de API está lista para ser revisada. A medida que la economía de las API sigue creciendo, es importante que los recién llegados comprendan qué es la gestión de API, por qué es importante y cómo deberían implementarla. Los intentos anteriores de definir el término se han realizado mediante encuestas, catalogando las características de las soluciones de administración de API más populares disponibles para las organizaciones. Desafortunadamente, lanzar la red de esta manera obviamente resulta en enfocarse en la solución en lugar de lo que la administración de API debería lograr: vistas objetivamente, las características son una amalgama de otras soluciones y arquitecturas, que se asemejan a registros SOA, puntos de aplicación de políticas (XACML) y pronto.

En lugar de representar las capacidades de un conjunto de herramientas dado, la gestión de API es una práctica genérica que se puede implementar independientemente de cualquier solución comercial que una organización elija utilizar. Por lo tanto, es importante llegar a una definición holística y neutral del proveedor de lo que es la administración de API.

Una definición de gestión de API

La gestión de API es la práctica que implementa una organización para gestionar las API que exponen. Esto se hace interna o externamente para garantizar que sus API sean consumibles, seguras y estén disponibles para los consumidores en las condiciones acordadas en los términos de uso de las API. Las características esenciales que la administración de API debe proporcionar (en lugar de las soluciones específicas) incluyen lo siguiente:

  • La gestión de API debe proporcionar un medio para que las organizaciones cataloguen sus API, incorporando metadatos como el tema, la descripción de la API (incluidas las diferentes versiones de la API que están disponibles actualmente), documentación amigable para los humanos, una taxonomía de los tipos de API. capacidades disponibles y de tiempo de ejecución (como el número máximo de solicitudes por segundo). El catálogo también debe registrar el estado de una API determinada, incluidos los metadatos, como las versiones admitidas actualmente;
  • La gestión de API también debe proporcionar un medio para actuar en el catálogo, exponiendo las API en el mismo a comunidades de desarrolladores internas y / o externas con la capacidad de hacer cumplir controles de seguridad, derechos de consumo (en forma de mecanismos como límites de tarifas o cuotas) y superficie. múltiples versiones según sea necesario. La distancia entre una API que se cataloga y la que se expone como un punto final consumible debe ser lo más corta posible, con la transición igualmente fluida;
  • Una organización puede exponer API aquí que no cumplen con los " estándares " de API de la organización , o existen en una forma que una organización no quiere exponer a sus consumidores (ya que acopló estrechamente una API externa expuesta a un sistema interno que es sensible a cambios). La gestión de API también debe proporcionar la capacidad de transformar las entradas y salidas en consecuencia, exponiendo una forma estandarizada a los consumidores de API;
  • Finalmente, la gestión de API debe ser el sistema de registro para la utilización de API , embelleciendo el catálogo con información sobre el comportamiento real en tiempo de ejecución y las características de una API determinada en forma de métricas determinadas contra indicadores clave de rendimiento. Esta información puede incluir el número de claves de API registradas, solicitudes promedio y pico por segundo, y así sucesivamente: de hecho, cualquier dato que sea significativo para la organización les permite comprender la utilización de API y planificar en consecuencia para futuras mejoras o capacidades. La información también se utilizará para ayudar a monitorear y monetizar las API expuestas, con la capacidad de hacer que los datos capturados estén disponibles para los sistemas operativos o de facturación de la organización según sea necesario.

Claramente, hay otras capacidades que ofrecen las soluciones de administración de API en el mercado; por ejemplo, la capacidad de exponer bases de datos y servicios basados ​​en SOAP como puntos finales RESTful, realizar la orquestación de dichos servicios o monetizar directamente las API de la organización facturando a los consumidores. Si bien estas características son claramente útiles para muchas organizaciones que no poseen componentes en sus arquitecturas para realizar estos roles, las hemos mantenido deliberadamente fuera de nuestra definición principal para centrarla en un conjunto de características que todos los proveedores de API necesitan de su API. implementación de la gestión.

El punto clave es que muchas organizaciones buscarán aprovechar los componentes que ya tienen en su arquitectura para estas capacidades, y duplicarlos únicamente para su oferta de API probablemente aumente la complejidad , tanto en términos de tecnología como de proceso.

Blog-Post-CTA-Stack-Conference

Componentes

Ahora que hemos establecido una definición más concreta de gestión de API, podemos analizar los componentes que conforman la solución. En términos de la encuesta de administración de API mencionada anteriormente , los componentes a continuación son en gran medida consistentes con la mayoría de las soluciones que se encuentran en el mercado al momento de escribir este artículo y proporcionan un mecanismo conveniente para agrupar las características discutidas en nuestra definición. Sin embargo, en términos de una vista arquitectónica, uno debe ver estos componentes de manera lógica en lugar de físicamente: todos los componentes deben estar presentes en la arquitectura lógica, pero pueden manifestarse de una manera diferente dependiendo de la solución de administración de API.

En términos de arquitectura, los componentes de la gestión de API se muestran en el siguiente diagrama:

los principios básicos del diagrama de gestión de api

Discutiremos el papel de cada uno por turno.

Registro de API

API-registro-api-administración-nordic-apis

Como discutimos en la sección de características anterior, la clave para una administración de API efectiva es tener un inventario de las API de una organización que permita a los consumidores de API digerir las características de las API disponibles, a saber:

  • Características : Describe lo que la API está diseñada para lograr en una forma que los seres humanos puedan digerir;
  • Estructuras : una descripción esquemática de las API, incluidas las URI, las estructuras de datos, la seguridad, etc .;
  • Capacidades : ¿Cuál es la carga máxima que puede manejar la API (tanto proyectada como real) y los puntos de pellizco de rendimiento?
  • Sensibilidades : ¿La API consume o expone algún dato que pueda estar sujeto a restricciones regulatorias o de privacidad, como datos de tarjetas de pago, datos de identificación personal, etc.?

El registro de API proporciona esta capacidad, ya que contiene datos en nombre de API Gateway y Developer Portal para proporcionar un catálogo de información para que los seres humanos la asimilen. El registro también ayudará a una organización a administrar el ciclo de vida de una API , catalogando las versiones compatibles y su promoción o retiro del inventario de API de la organización.

Volviendo al punto sobre arquitecturas lógicas versus arquitecturas físicas, el registro de API es el componente que probablemente se manifestará dentro de otros componentes en una arquitectura física (muy probablemente el Portal de Desarrolladores), o de hecho, en muchas organizaciones puede estar federado en ambas API. gestión y otros sistemas en la pila de una organización. Sin embargo, una visión idealista del Registro de API es que este es un componente discreto, implementado específicamente para albergar el conocimiento de API de una organización.

Puerta de enlace API

API-Gateway-API-management-Nordic-APIs

Si el Registro de API es el cerebro de la gestión de API, es casi seguro que API Gateway son las manos: es donde ocurre el negocio de la gestión de API, ya que es el componente responsable de exponer las API de la organización a sus consumidores (que por supuesto puede ser interno o externo).

En resumen, API Gateway cubre las siguientes áreas clave (para una discusión detallada de las capacidades de API Gateway, consulte nuestra publicación de blog anterior sobre el tema):

  • Manifestación : expone las API de la organización al mundo exterior, actuando como un proxy para enrutar las solicitudes de los consumidores externos a la API misma (aparte, muchas soluciones de administración de API también pueden admitir API sin backendless , implementando la totalidad de la API en la propia puerta de enlace );
  • Seguridad : actúa como el guardián de la API, aplicando mecanismos de seguridad en nombre de la API. La aplicación de seguridad en este perímetro exterior es consistente con el principio de seguridad cibernética de "defensa en profundidad" y es una característica importante de las capacidades de API Gateway;
  • Derecho : permite el acceso a las API a las tarifas acordadas y limitando o gestionando el tráfico;
  • Estandarización : presenta un conjunto uniforme de API a los consumidores (de acuerdo con cualquier estándar de API que pueda tener una organización);
  • Registro y captura de datos : captura la información necesaria para comprender la utilización de API, para una variedad de propósitos que se describen a continuación.

Para exponer, proteger y administrar las API de una organización, API Gateway claramente necesita trabajar en colaboración con el Registro de API, ingiriendo información sobre las API y cómo deben exponerse. API Gateway también debe establecer un ciclo de retroalimentación , proporcionando al Registro de API estadísticas de nivel de gestión sobre la utilización de API, para ayudar a mantener una imagen precisa de cómo se utilizan las API de las organizaciones y, por lo tanto, su importancia relativa para futuras decisiones de capacidad e inversión. Finalmente, los datos capturados por API Gateway deben estar disponibles para su ingestión por cualquier otro sistema que lo requiera, con fines tales como monitoreo, monetización , análisis o información.

Para obtener más información sobre la arquitectura de API, lea: Una historia de cuatro diseños de API: disección de arquitecturas de API comunes

Portal para desarrolladores

Developer-Portal-API-Management-Nordic-APIs

El último componente que forma nuestra arquitectura de gestión de API es el Portal para desarrolladores. Si API Registry es el cerebro y API Gateway son las manos, el Developer Portal son los oídos y la boca, donde un proveedor de API escucha y habla con la comunidad de desarrolladores . Developer Portal proporciona la interfaz humana para las API de una organización, proporcionando una experiencia de usuario de calidad (ya sea interna o externa) y herramientas y recursos útiles para crear aplicaciones que consuman la API. Además, el Portal proporciona las facilidades para que los desarrolladores gestionen su compromiso con la organización.

Para proporcionar una experiencia de gestión eficaz, el Portal para desarrolladores debe incluir las siguientes características:

  • Aprendizaje : proporciona las facilidades ( documentación , procedimientos, descripciones de API, etc.) que un desarrollador necesita para comprender las API que se ofrecen;
  • Exploración : ofrece mecanismos que permiten al desarrollador experimentar con la API de una organización incluso antes de escribir un fragmento de código: exploradores interactivos, generadores de código de muestra, virtualización , etc.
  • Implementación : ayuda al desarrollador a administrar cómo sus aplicaciones interactúan con la API al brindar la capacidad de registrarse para un plan de precios determinado (si la API implementa un modelo de cobro), crear claves y secretos de API , registrar direcciones de devolución de llamada para OAuth, registrarse webhooks, etc. (las características específicas dependen de las características de las API de una organización determinada);
  • Comentarios: Permitir que los desarrolladores comprendan las métricas capturadas por la puerta de enlace API en forma de paneles e información. Esto también puede ser útil para las partes interesadas internas que deseen comprender cómo se utilizan las API de la organización, a los efectos del monitoreo operativo o la monetización (aunque la organización puede optar por proporcionar esta información a través de herramientas existentes en lugar de la gestión de API, por supuesto).

Por lo tanto, el Portal del desarrollador juega un papel importante en la experiencia general del desarrollador , trabajando en colaboración con el Registro de API y la Puerta de enlace de API para proporcionar la información que los desarrolladores necesitan para comprender correctamente las API de la organización. También presentará datos de uso que ayudan a los consumidores de API a comprender cómo están utilizando las API, lo que puede ser importante para mejorar sus propias aplicaciones o garantizar que obtengan valor del consumo de API.

Aprenda a crear portales sólidos para desarrolladores con un hermoso diseño de interfaz de usuario

Pensamientos finales

En esta publicación, hemos intentado establecer una interpretación neutral del proveedor de la gestión de API. Claramente, adaptar un marco generalizado para comprender la gestión de API en todas las interpretaciones del tema ofrecidas por los proveedores de soluciones va a ser difícil. Sin embargo, el establecimiento de los principios básicos de la gestión de API y lo que deberían proporcionar las soluciones de gestión de API ayudará a las organizaciones que están implementando una práctica de gestión de API a aplicar objetividad a su visión de cuáles son realmente sus requisitos y necesidades, en lugar de simplemente adoptar tendencias o características. -bloqueo de soluciones de gestión de API de terceros.

Publicar un comentario

0 Comentarios