Las API son un estándar de facto para compilar y compartir las modernas apps que potencian a las empresas de hoy. Todas las empresas modernas aprovechan las API para moverse rápidamente y mantenerse al día. Pero ofrecer, administrar y analizar las API, los datos y los servicios de manera segura es algo complejo y elemental; y cada vez implica un mayor desafío a medida que los ecosistemas empresariales se expanden más allá de los centros de datos locales e incluyen nubes privadas y públicas, SaaS y otros extremos de TI. Para sortear esta complejidad, las empresas necesitan la administración de API.

Notas sobre la administración de API
Haz clic para agrandar

¿Qué es la administración de API?

En el siguiente escenario, tenemos algunos servicios de backend entre los que se incluyen los servicios de REST/SOAP, microservicios, un bus de servicio y tal vez algunos servicios más de terceros. Del otro lado, hay algunos consumidores de estos servicios: socios, empleados y clientes. Tienen apps que necesitan obtener datos de tus servicios de backend o activar una acción con una API. 

Los desarrolladores componen apps nuevas y atractivas utilizando API para compilar y participar en los ecosistemas.  Producir estas API coloca el acento en todas las apps empresariales nuevas y atractivas que vemos en la economía de Internet.  Todo lo necesario para producir las API, como el portal para desarrolladores, el empaquetado de API, las opciones de seguridad flexibles y la conversión de las métricas operativas en análisis empresariales, es lo que describe a la administración de API y lo que  Apigee ofrece. 

¿Qué es Apigee?

La administración de API de Apigee ayuda a modernizar tus apps y a monetizar tus canales empresariales. Ayuda a controlar el acceso a los datos y servicios de backend de una app. Además, ofrece a los desarrolladores de apps las herramientas que necesitan para acceder a las API y brinda a los proveedores de API las herramientas que necesitan para administrar y aprovisionar las API. 

  • Servicios de API: en esta parte se enruta el tráfico desde las apps a los servicios de backend y sirve como puerta de enlace empresarial que orquestra los servicios de backend y evita que las personas abusen de ellos. En este punto, un proveedor de API puede implementar limitaciones y cuotas en los servicios para proteger el backend.  Puedes compilar una fachada para los servicios de backend y ofrecer un conjunto de interfaces para esas apps externas en comparación con lo que hay dentro. Incluso puedes controlar el acceso de manera tal que diferentes apps puedan acceder a diferentes servicios y obtener diferentes resultados cuando se los requiera. Podrías reformatear la solicitud al ingresar y corregirla para que se adecúe a tus servicios de backend. Podrías modificar la respuesta que dan los servicios de backend, antes de volver a enviarla a las apps. Puedes agregar almacenamiento en caché para mejorar el rendimiento al responder en forma directa desde la caché y evitar una llamada al backend. 

  • Portal para desarrolladores: Apigee ofrece un portal para desarrolladores con el objetivo de asistir a los consumidores de API o desarrolladores de apps. Estos pueden registrarse para usar la API, y obtener credenciales para acceder al servicio y la documentación para aprender a utilizar la API. Si es necesario ofrecer las API como productos, los proveedores de API pueden tomar todos los servicios y agruparlos en diferentes paquetes para ofrecer diferente acceso. Si se trata de un portal interno, puedes simplificarlo, pero si se trata de uno externo, puedes colocarle la marca para que coincida con la marca de tu sitio web.

  • Monetización de API:  puedes crear varios planes de monetización que se cobren a los desarrolladores (o pagarlos a través de la coparticipación de ingresos) para el uso de tus API.

  • Análisis de API: ayuda a tu equipo de API a medir todo, desde las métricas de participación de los desarrolladores hasta las métricas empresariales y operativas. Estos análisis ayudan a los equipos de API a mejorar sus API y a los desarrolladores de apps a mejorar sus apps. Ayuda a responder preguntas sobre patrones de tráfico, principales desarrolladores, qué métodos de API son populares, tiempos de respuesta de API y otras métricas del tipo que se requieren para mejorar el servicio.

Apigee te ofrece una opción entre configuración o codificación; existen varias políticas preestablecidas que realizan lo básico. Puedes incorporar estas políticas para solicitar un token o agregar almacenamiento de respuesta en caché si deseas realizar desarrollo dirigido por código. Puedes crear tus propias políticas e incorporarlas y combinarlas con las políticas preestablecidas, y eso puede realizarse con JavaScript Java o Python.

¿Cuál es la diferencia entre una puerta de enlace de API y una plataforma de administración de API de Apigee?

La puerta de enlace de API es un pequeño subconjunto de una plataforma de administración de API. Te permite ofrecer acceso seguro y exhibir tus servicios de Google Cloud (Cloud Functions, App Engine, Cloud Run, Compute Engine, GKE), a través de una API de REST bien definida que es coherente en todos tus servicios, independientemente de la implementación del servicio. Una API coherente:

  • Permite que los desarrolladores de apps consuman tus servicios con facilidad

  • Te permite modificar la implementación de servicios de backend sin afectar la API pública

  • Te permite aprovechar las funciones de escalamiento, supervisión y seguridad integradas a Google Cloud Platform (GCP)

Por otra parte, Apigee incluye una puerta de enlace, pero ayuda a impulsar el consumo de API, ya que incluye un portal para desarrolladores, supervisión, monetización, operaciones de API avanzadas y otras posibilidades de extensión. La puerta de enlace misma tiene más capacidades y cuenta con políticas incorporadas. Apigee puede conectarse a backends arbitrarios, como las conexiones ascendentes alojadas en Google Cloud.

Para conocer en mayor profundidad el servicio de administración de API de Apigee, consulta la documentación y la serie de videos.

Para obtener más información sobre #GCPSketchnote, sigue el repositorio de GitHub. Para obtener contenido similar de la nube, sígueme en Twitter @pvergadia y no dejes de ver thecloudgirl.dev