¿Qué es Apigee?

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Apigee es una plataforma para desarrollar y gestionar APIs. Al acercar los servicios con una capa de proxy, Apigee proporciona una abstracción o una fachada para las APIs de tus servicios de backend y ofrece seguridad, limitación de frecuencia, cuotas, analíticas y más.

Vídeo: echa un vistazo a este breve vídeo para obtener una introducción a la gestión de APIs con Apigee.

Arquitectura avanzada

En la siguiente imagen se muestra la arquitectura de alto nivel de Apigee:

Descripción general de la arquitectura de Apigee.

Como se muestra en la imagen, Apigee consta de los siguientes componentes principales:

  • Servicios de Apigee: las APIs que usas para crear, gestionar y desplegar tus proxies de API.
  • Tiempo de ejecución de Apigee: conjunto de servicios de tiempo de ejecución en contenedores en un clúster de Kubernetes que mantiene Google. Todo el tráfico de la API pasa por estos servicios y se procesa en ellos.

Además, Apigee usa otros componentes, como los siguientes:

  • Servicios de Google Cloud: proporciona funciones de gestión de identidades, registro, analíticas, métricas y gestión de proyectos.
  • Servicios de backend: los usan tus aplicaciones para proporcionar acceso en tiempo de ejecución a los datos de tus proxies de API.

Para obtener explicaciones más detalladas, consulta Componentes de Apigee.

Aquí tienes una imagen más detallada que muestra la conexión entre tu proyecto de Cloud y los servicios de Google a través de una red de emparejamiento privada:

Diagrama de arquitectura que muestra las conexiones de VPC.

Para ver un ejemplo de cómo usar Apigee, consulta esta webinar sobre cómo usa Walgreens las APIs y Apigee para ofrecer un ecosistema de aplicaciones completo en torno a la impresión de fotos, las recetas y otros servicios.

¡Basta de hablar!

Configurar Apigee y luego Crea tu primer proxy  

Variantes de Apigee

Apigee está disponible en las siguientes versiones:

  • Apigee: una versión en la nube alojada por Apigee en la que Apigee mantiene el entorno, lo que te permite centrarte en crear tus servicios y definir las APIs de esos servicios.
  • Apigee Hybrid: una versión híbrida que consta de un plano de entorno de ejecución instalado on-premise o en un proveedor de nube de tu elección, y un plano de gestión que se ejecuta en la nube de Apigee. En este modelo, el tráfico y los datos de las APIs se limitan a los límites aprobados por tu empresa.

Aceleración digital

En este vídeo se explica brevemente cómo te ayuda Apigee a convertirte en una empresa digital.

Elegir entre la gestión de servicios y la gestión de APIs

En este vídeo se explican las diferencias importantes entre la gestión de servicios y la gestión de APIs.

Ofrecer tus servicios en la Web

Actualmente, las empresas quieren que sus servicios backend estén disponibles en la Web para que las aplicaciones que se ejecutan en dispositivos móviles y ordenadores puedan usarlos. Una empresa puede querer exponer servicios que proporcionen información sobre precios y disponibilidad de productos, servicios de ventas y pedidos, servicios de seguimiento de pedidos y cualquier otro servicio que requieran las aplicaciones cliente.

Las empresas suelen exponer servicios como un conjunto de endpoints HTTP. A continuación, los desarrolladores de aplicaciones cliente envían solicitudes HTTP a estos endpoints. En función del endpoint, el servicio puede devolver datos a la aplicación cliente en formato XML o JSON.

Las aplicaciones cliente que consumen estos servicios se pueden implementar como aplicaciones independientes para un dispositivo móvil o una tablet, como aplicaciones HTML5 que se ejecutan en un navegador o como cualquier otro tipo de aplicación que pueda enviar una solicitud a un endpoint HTTP y consumir los datos de respuesta. Estas aplicaciones pueden ser desarrolladas y lanzadas por la misma empresa que expuso los servicios o por desarrolladores de aplicaciones de terceros que hagan uso de servicios disponibles públicamente.

En la siguiente imagen se muestra este tipo de modelo:

Hay varios tipos de aplicaciones, como aplicaciones móviles, aplicaciones de punto de venta, aplicaciones de partners y aplicaciones web, que se conectan a servicios backend, como ESB, SOA, servidores de aplicaciones y bases de datos.

Como los proveedores ofrecen sus servicios a través de la Web, deben asegurarse de haber tomado todas las medidas necesarias para protegerlos del acceso no autorizado. Como proveedor de servicios, ten en cuenta lo siguiente:

  • Seguridad: ¿cómo controlarás el acceso a tus servicios para evitar el acceso no autorizado?
  • Compatibilidad: ¿sus servicios funcionarán en diferentes plataformas y dispositivos?
  • Capacidad de medición: ¿cómo puedes monitorizar tus servicios para asegurarte de que están disponibles?
  • Y muchas otras consideraciones

Una vez que se haya lanzado una aplicación cliente que acceda a cualquier servicio, el proveedor de servicios deberá asegurarse de que esos servicios sigan funcionando con el tiempo a medida que añada, modifique o elimine servicios. El proveedor de servicios también debe tener una forma de informar a los desarrolladores de aplicaciones sobre cualquier cambio en los servicios para asegurarse de que las aplicaciones cliente se mantengan sincronizadas con esos servicios.

Los desarrolladores de aplicaciones cliente se enfrentan a problemas cuando intentan consumir servicios de diferentes proveedores. Actualmente, los proveedores de servicios pueden usar muchas tecnologías para exponer sus servicios. Es posible que la misma aplicación cliente tenga que usar un mecanismo para consumir un servicio de un proveedor y otro mecanismo para consumir un servicio de otro proveedor. Los desarrolladores de aplicaciones pueden incluso encontrarse en la situación de tener que usar diferentes mecanismos para consumir servicios del mismo proveedor.

Ofrecer servicios a través de Apigee

Apigee te permite proporcionar acceso seguro a tus servicios con una API bien definida que es coherente en todos tus servicios, independientemente de la implementación del servicio. Una API coherente:

  • Facilita a los desarrolladores de aplicaciones el uso de tus servicios.
  • Te permite cambiar la implementación del servicio de backend sin que ello afecte a la API pública.
  • Te permite aprovechar las analíticas, el portal para desarrolladores y otras funciones integradas en Apigee.

En la siguiente imagen se muestra una arquitectura en la que Apigee gestiona las solicitudes de las aplicaciones cliente a tus servicios de backend:

Apigee se encuentra entre las aplicaciones de los clientes y los servicios de backend.

En lugar de que los desarrolladores de aplicaciones consuman tus servicios directamente, acceden a un proxy de API creado en Apigee. El proxy de API funciona como una asignación de un endpoint HTTP disponible públicamente a tu servicio de backend. Al crear un proxy de API, permites que Apigee gestione las tareas de seguridad y autorización necesarias para proteger tus servicios, así como para analizarlos y monitorizarlos.

Como los desarrolladores de aplicaciones hacen solicitudes HTTP a un proxy de API en lugar de directamente a tus servicios, no necesitan saber nada sobre la implementación de tus servicios. Lo único que debe saber el desarrollador es lo siguiente:

  • La URL del endpoint del proxy de API.
  • Cualquier parámetro de consulta, encabezado o parámetro de cuerpo que se haya incluido en una solicitud.
  • Las credenciales de autenticación y autorización necesarias.
  • El formato de la respuesta, incluido el formato de los datos de la respuesta, como XML o JSON.

El proxy de API aísla al desarrollador de la aplicación de tu servicio de backend. Por lo tanto, puedes cambiar la implementación del servicio siempre que la API pública siga siendo coherente. Por ejemplo, puedes cambiar la implementación de una base de datos, mover tus servicios a un nuevo host o hacer cualquier otro cambio en la implementación del servicio. Al mantener una API de frontend coherente, las aplicaciones cliente seguirán funcionando independientemente de los cambios que se produzcan en el backend.

Puedes usar políticas en el proxy de API para añadir funciones a un servicio sin tener que hacer ningún cambio en el servicio de backend. Por ejemplo, puede añadir políticas a su proxy para realizar transformaciones y filtrado de datos, añadir seguridad, ejecutar lógica condicional o código personalizado, y realizar muchas otras acciones. Lo importante es que implementes las políticas en Apigee, no en tu servidor backend.

Para obtener más información, consulta el artículo Comprender las APIs y los proxies de APIs.

Crear un producto de API

Un proxy de API es el endpoint HTTP de Apigee que los desarrolladores usan para acceder a tus servicios de backend. Aunque es posible, normalmente no se ponen a disposición proxies de API individuales. En su lugar, agrupa uno o varios proxies de API en un producto de API.

Un producto de API es un paquete de proxies de API combinado con un plan de servicio. Este plan de servicio puede establecer límites de acceso en los proxies de API, proporcionar seguridad, permitir la monitorización y las analíticas, y ofrecer funciones adicionales. Los productos de API también son el mecanismo central que usa Apigee para la autorización y el control de acceso a tus APIs.

Tienes mucha flexibilidad a la hora de crear productos de API. Por ejemplo, varios productos de API pueden compartir el mismo proxy de API. En la siguiente figura se muestran tres productos de API. Ten en cuenta que todos los productos permiten el acceso al proxy de API 3, pero solo el producto A permite el acceso al proxy de API 1.

El producto A accede a los proxies 1 y 3. El producto B accede al proxy 3.
    El producto C accede a los proxies 2, 3 y 4.

Puedes definir diferentes propiedades en cada producto de API. Por ejemplo, puedes ofrecer un producto de API con un límite de acceso bajo, como 1000 solicitudes al día, a un precio muy competitivo. A continuación, lanza otro producto de API que proporcione acceso al mismo proxy de API, pero con un límite de acceso mucho mayor, por un precio más alto. También puedes crear un producto de API gratuito que permita el acceso de solo lectura a tus servicios y, después, vender un producto de API a los mismos proxies de API que permitan el acceso de lectura y escritura.

Para obtener más información, consulta Crear productos de API.

Permitir que una aplicación del lado del cliente acceda a tu producto de API

Cuando los desarrolladores de aplicaciones deciden que quieren acceder a tus servicios, primero deben registrar su aplicación cliente en tu producto de API.

Una aplicación cliente
        necesita una clave para llamar a una API asociada a un producto de API.

Cuando se registra, el desarrollador de una aplicación recibe una clave de API que debe incluir en cada solicitud a un proxy de API incluido en el producto de API. Esa clave se autentica y, si la autenticación se realiza correctamente, la solicitud puede acceder a tu servicio backend.

Puedes revocar la clave en cualquier momento para que la aplicación cliente deje de tener acceso a tus servicios. También puedes definir un límite de tiempo en una clave para que el desarrollador tenga que actualizarla después de un tiempo específico.

Tú decides cómo gestionar las solicitudes de registro de los desarrolladores para acceder a tus productos de API. Si usas Apigee Developer Services, puedes automatizar el proceso de registro o usar un proceso manual para controlar el acceso.

Crear productos de API y ponerlos a disposición de los desarrolladores

  1. Crea uno o varios proxies de API que asignen URLs disponibles públicamente a tus servicios de backend.
  2. Crea un producto de API que incluya tus proxies de API.
  3. Despliega tus proxies de APIs y tu producto de API.
  4. Informa a tus desarrolladores de que el producto de API está disponible.

Una vez que los desarrolladores de aplicaciones sepan que tu producto de API está disponible, podrán hacer lo siguiente:

  1. Registrar sus aplicaciones cliente con tu producto de API.
  2. Recibir una clave de API para el producto de API.
  3. Envía solicitudes a tus servicios a través de proxies de API (que se incluyen en el producto de API) y pasa la clave de API con cada solicitud.

Componentes de Apigee

Apigee consta de un tiempo de ejecución de APIs, monitorización y analíticas, y servicios para desarrolladores que, en conjunto, proporcionan una infraestructura completa para la creación, la seguridad, la gestión y las operaciones de las APIs.

En la siguiente imagen se muestra la arquitectura de alto nivel de Apigee:

Arquitectura de alto nivel de Apigee

Entorno de ejecución de Apigee

Los servicios de Apigee se centran en la creación y el consumo de APIs, tanto si creas proxies de API como proveedor de servicios como si usas APIs, SDKs y otros servicios prácticos como desarrollador de aplicaciones.

El tiempo de ejecución de la API proporciona herramientas para añadir y configurar tus proxies de API, configurar productos de API y gestionar desarrolladores de aplicaciones y aplicaciones cliente. De esta forma, se descargan muchas de las tareas de gestión habituales de tus servicios backend. Cuando añades un proxy de API, puedes aplicar políticas al proxy de API para añadir seguridad, limitación de frecuencia, mediación, almacenamiento en caché, etc. También puedes personalizar el comportamiento de tu proxy de API aplicando secuencias de comandos personalizadas, haciendo llamadas a APIs y servicios de terceros, etc. Consulta más información en el artículo Comprender las APIs y los proxies de APIs.

Monitorización y analíticas de Apigee

Apigee API Analytics ofrece potentes herramientas para ver las tendencias de uso a corto y largo plazo de tus APIs. Puedes segmentar tu audiencia por los principales desarrolladores y aplicaciones, conocer el uso por método de API para saber dónde invertir y crear informes personalizados sobre información a nivel operativo o de negocio.

A medida que los datos pasan por Apigee, se recogen varios tipos de información predeterminados, como la URL, la IP, el ID de usuario de la información de la llamada a la API, la latencia, los datos de error, etc. Puedes crear políticas para añadir otra información, como encabezados, parámetros de consulta y partes de una solicitud o respuesta extraídas de XML o JSON. Esta información se recoge de forma asíncrona del flujo de solicitud/respuesta real y, por lo tanto, no afecta al rendimiento de la API.

La interfaz de usuario de Apigee le permite ver varias métricas y dimensiones en un navegador, como se muestra en la siguiente figura:

Panel de control de Analytics que muestra el número de errores de políticas en forma de gráfico y tabla.

Sin embargo, también puede acceder al Servicio Analytics y controlarlo mediante una interfaz de línea de comandos o a través de APIs RESTful. Para obtener más información, consulte el resumen de API Analytics.

Ecosistema de desarrolladores de Apigee

Apigee ofrece servicios para desarrolladores que le permiten hacer lo siguiente:

  • Gestiona la comunidad de desarrolladores de aplicaciones que usan tus servicios.
  • Colaborar con desarrolladores internos y externos, y formalizar las relaciones con modelos financieros.
  • Incorpora desarrolladores y crea un portal para desarrolladores. Los desarrolladores de aplicaciones se conectan a tu portal para acceder a la documentación de las APIs, obtener más información sobre tus productos de API disponibles públicamente y gestionar las claves de API.

Todos los clientes de Apigee pueden crear su propio portal para desarrolladores en la nube.

Apigee te permite crear dos tipos de portales: