¿Qué es Apigee?

Estás viendo la documentación de Apigee X.
Consulta la documentación de Apigee Edge.

Apigee es una plataforma para desarrollar y administrar la API. Mediante el fronting de servicios con una capa de proxy, Apigee proporciona una abstracción o fachada para tus API de servicio de backend y proporciona seguridad, límite de frecuencia, cuotas, estadísticas y mucho más.

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

Descripción general de alto nivel de la arquitectura de Apigee.

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

  • Servicios de Apigee: Las API que usas para crear, implementar y administrar tus proxies de API.
  • Entorno de ejecución de Apigee: Un conjunto de servicios de entorno de ejecución en contenedores en un clúster de Kubernetes que Google mantiene. Todo el tráfico de la API pasa por el servicio y lo procesa.

Además, Apigee usa otros componentes, que incluyen los siguientes:

  • Servicios de GCP: Proporciona funciones de administración de identidades, registros, estadísticas, métricas y administración de proyectos.
  • Servicios de backend: Las apps la usan para proporcionar acceso al entorno de ejecución a los datos de los proxies de tu API.

Para obtener información más detalladas, consulta Componentes de Apigee.

A continuación, se muestra una imagen más detallada que muestra la conexión entre el proyecto de Cloud y los servicios de Google a través de una red de intercambio de tráfico privada:

Diagrama de arquitectura que muestra las conexiones de VPC.

Si deseas ver un ejemplo de cómo usar Apigee, consulta esta transmisión web sobre Walgreens que usa las API y Apigee a fin de proporcionar un amplio ecosistema de apps relacionado con la impresión de fotos, las recetas y otros servicios.

Basta de charla

Configura Apigee y luego Compila tu primer proxy  

Variantes de Apigee

Apigee tiene las siguientes variantes:

  • Apigee: Una versión de SaaS alojada en la que Apigee mantiene el entorno, lo que te permite concentrarte en compilar tus servicios y definir las API para esos servicios.
  • Apigee Hybrid: Una versión híbrida que consiste en un plano de entorno de ejecución instalado de forma local o en un proveedor de servicios en la nube que elijas, y un plano de administración que se ejecuta en la nube de Apigee. En este modelo, el tráfico y los datos de la API están protegidos en tus propios límites aprobados por la empresa.

Aceleración digital

En este video, se ofrece una vista rápida de cómo Apigee te ayuda a evolucionar en un negocio digital.

Elige entre la administración de servicios y la administración de API

Este video te ayuda a comprender las diferencias importantes entre la administración de servicios y la administración de API. empresa.

Haz que tus servicios estén disponibles en la Web

En la actualidad, las empresas desean que sus servicios de backend estén disponibles en la Web a fin de que las apps que se ejecutan en dispositivos móviles y computadoras de escritorio puedan consumir estos servicios. Es posible que una empresa desee exponer servicios que brindan información sobre precios y disponibilidad de productos, servicios de venta y pedido, servicios de seguimiento de pedidos y cualquier otro servicio que requieran las apps cliente.

A menudo, las empresas exponen los servicios como un conjunto de extremos HTTP. Luego, los desarrolladores de aplicaciones cliente realizan solicitudes HTTP a estos extremos. Según el extremo, el servicio puede mostrar datos con formato XML o JSON y volver a la app cliente.

Las apps cliente que consumen estos servicios pueden implementarse como apps independientes para un dispositivo móvil o una tablet, como apps HTML5 que se ejecutan en un navegador o como cualquier otro tipo de app que pueda realizar una solicitud a un extremo HTTP y consume cualquier dato de respuesta. Es posible que a estas apps la desarrollen y lancen la misma empresa que expuso los servicios, o por desarrolladores de app de terceros que usan servicios disponibles de forma pública.

En la siguiente imagen, se muestra este tipo de modelo:

Varios tipos de apps, como las apps para dispositivos móviles, las apps de punto de venta, los socios y las apps web, se conectan a los servicios de backend, como ESB, SOA, servidores de apps y bases de datos.

Debido a que los proveedores ponen sus servicios a través de la Web, deben asegurarse de tomar todas las medidas necesarias para asegurar y proteger sus servicios del acceso no autorizado. Como proveedor de servicios, considera lo siguiente:

  • Seguridad: ¿Cómo controlarás el acceso a los servicios para evitar el acceso no autorizado?
  • Compatibilidad: ¿Tus servicios funcionarán en diferentes plataformas y dispositivos?
  • Parámetros de medición: ¿Cómo puedes supervisar tus servicios para asegurarte de que estén disponibles?
  • Y muchas otras consideraciones

Después de que se lanza una app cliente que accede a algún servicio, el proveedor de servicios debe asegurarse de que estos sigan funcionando a medida que agregan, modifican o borran esos servicios. El proveedor de servicios también debe tener una forma de mantener a los desarrolladores de apps atentos a los cambios en los servicios a fin de garantizar que las apps cliente permanezcan sincronizadas con esos servicios.

Los desarrolladores de apps cliente enfrentan desafíos cuando intentan consumir servicios de diferentes proveedores. En este momento, los proveedores de servicios pueden usar muchas tecnologías para exponer sus servicios. La misma app cliente podría tener que usar un mecanismo a fin de consumir un servicio de un proveedor y un mecanismo diferente para consumir un servicio de otro proveedor. Incluso los desarrolladores de apps pueden enfrentar la situación en la que deben usar mecanismos diferentes para consumir servicios del mismo proveedor.

Haz que los servicios estén disponibles a través de Apigee

Apigee te permite proporcionar acceso seguro a los servicios con una API bien definida que sea coherente en todos los servicios, sin importar la implementación del servicio. Una API coherente:

  • Facilita a los desarrolladores de apps el consumo de tus servicios.
  • Te permite cambiar la implementación del servicio de backend sin afectar la API pública.
  • Te permite aprovechar las estadísticas, el portal para desarrolladores y otras funciones integradas en Apigee.

En la siguiente imagen, se muestra una arquitectura con Apigee que controla las solicitudes de apps cliente a tus servicios de backend:

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

En lugar de que los desarrolladores de apps consuman tus servicios directamente, acceden a un proxy de API creado en Apigee. El proxy de API funciona como un mapeo de un extremo HTTP disponible de forma pública a tu servicio de backend. La creación de un proxy de API permite que Apigee controle las tareas de seguridad y autorización necesarias a fin de proteger tus servicios, así como para analizar y supervisar esos servicios.

Debido a que los desarrolladores de apps realizan solicitudes HTTP a un proxy de API, en lugar de directamente a tus servicios, los desarrolladores no necesitan saber sobre la implementación de tus servicios. Todo lo que el desarrollador debe saber es lo siguiente:

  • La URL del extremo del proxy de API
  • Cualquier parámetro de consulta, encabezados o parámetro de cuerpo pasados en una solicitud.
  • Cualquier credencial de autenticación y autorización requerida.
  • El formato de la respuesta, incluido el formato de datos de la respuesta, como XML o JSON.

El proxy de API aísla al desarrollador de aplicaciones de su 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 una implementación de base de datos, mover tus servicios a un host nuevo o realizar cualquier otro cambio en la implementación del servicio. Cuando se mantiene una API de frontend coherente, las aplicaciones cliente existentes seguirán funcionando sin importar los cambios en el backend.

Puedes usar políticas en el proxy de API para agregar funcionalidad a un servicio sin tener que realizar cambios en el servicio de backend. Por ejemplo, puedes agregar políticas a tu proxy para realizar transformaciones y filtros de datos, agregar seguridad, ejecutar la lógica condicional o código personalizado y realizar muchas otras acciones. Lo que hay que recordar es que implementarás políticas en Apigee, no en tu servidor de backend.

Para obtener más información, consulta Información sobre las API y los proxies de API.

Crear un producto de API

Un proxy de API es el extremo HTTP en Apigee que los desarrolladores usan para acceder a tus servicios de backend. Si bien es posible, no sueles poner los proxies de API individuales disponibles. En su lugar, se agrupan uno o más proxies de API en un producto de API.

Un producto de API es un conjunto de proxies de API combinados con un plan de servicio. Ese plan de servicio puede configurar límites de acceso en los proxies de API, proporcionar seguridad, permitir supervisión y estadísticas, y proporcionar características adicionales. Los productos de API también son el mecanismo central que usa Apigee para el control de autorización y acceso a tus API.

Tienes una gran flexibilidad cuando creas 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 al proxy 1 y 3. El producto B accede al proxy 3.
    El producto C accede al proxy 2, 3 y 4.

Puedes establecer diferentes propiedades en cada producto de API. Por ejemplo, puedes poner a disposición un producto de API con un límite de acceso bajo, como 1,000 solicitudes por día, para un precio de oferta. Luego, lanzas otro producto de API que proporciona 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 acceso de solo lectura a tus servicios y, luego, vender un producto de API a los mismos proxies de API que permiten acceso de lectura y escritura.

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

Permite que una app del cliente acceda a tu producto de API

Cuando los desarrolladores de apps deciden que desean acceder a tus servicios, primero deben registrar la app cliente con el producto de API.

Una app cliente necesita una clave para llamar a una API asociada con un producto de API.

Después del registro, un desarrollador de apps recibe una clave de API que debe incluir en cada solicitud a un proxy de API incluido en el producto de API. Esa clave está autenticada y, si la autenticación se realiza de forma correcta, la solicitud puede acceder al servicio de backend.

En cualquier momento, puedes revocar la clave para que la app cliente ya no tenga acceso a tus servicios. O bien, puedes definir un límite de tiempo en una clave para que el desarrollador deba actualizarla después de un período específico.

Debes decidir cómo controlar las solicitudes de registro de los desarrolladores para acceder a tus productos de API. Mediante los servicios para desarrolladores de Apigee, puedes automatizar el proceso de registro. También puedes usar un proceso manual para controlar el acceso.

Crea productos de API y haz que estén disponibles para los desarrolladores

  1. Crea uno o más proxies de API que asignen URL públicas a tus servicios de backend.
  2. Crea un producto de API que agrupe tus proxies de API.
  3. Implementa tus proxies de API y tu producto de API.
  4. Informa a tus desarrolladores que el producto de API está disponible.

Una vez que los programadores de aplicaciones conocen la disponibilidad de tu producto de API, hacen lo siguiente:

  1. Registran las apps clientes con tu producto de API.
  2. Reciben una clave de API para el producto de API.
  3. Realizan solicitudes a tus servicios mediante 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 entorno de ejecución, supervisión y estadísticas de API, y servicios de desarrolladores que juntos proporcionan una infraestructura integral para la creación, la seguridad, la administración y las operaciones de API.

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 sirven para crear y consumir API, ya sea que compiles los proxies de API como un proveedor de servicios o mediante las API, los SDK y otros servicios convenientes como desarrollador de apps.

El entorno de ejecución de la API proporciona herramientas para agregar y configurar los proxies de API, configurar los productos de API y administrar las apps cliente y los desarrolladores de apps. Descarga muchos problemas comunes de administración de tus servicios de backend. Cuando agregas un proxy de API, puedes aplicar políticas al proxy de API para agregar seguridad, límite de frecuencia, mediación, almacenamiento en caché, etcétera. También puedes personalizar el comportamiento de tu proxy de API mediante la aplicación de secuencias de comandos personalizadas, la realización de llamadas a API y servicios de terceros, etcétera. Consulta Información sobre las API y los proxies de API.

Supervisión y estadísticas de Apigee

Las estadísticas de la API de Apigee proporcionan herramientas potentes para ver tendencias de uso a corto y largo plazo de tus API. Puedes segmentar a tu público por desarrolladores y apps principales, comprender el uso por método de API para saber dónde invertir y crear informes personalizados sobre la información operativa o empresarial.

A medida que los datos pasan por Apigee, se recopilan varios tipos de información predeterminados, como la URL, la IP, el ID del usuario para la información de llamadas a la API, la latencia, los datos de error, etcétera. Puedes crear políticas para agregar información adicional, como encabezados, parámetros de búsqueda y partes de una solicitud o respuesta extraídas de archivos XML o JSON. Esta información se recopila de forma asíncrona del flujo de solicitudes y respuestas real y, por lo tanto, no afecta el rendimiento de la API.

La IU de administración te permite ver varias métricas y dimensiones en un navegador, como se muestra en la siguiente figura:

Un panel de estadísticas que muestra la cantidad de errores de políticas en forma de gráfico y tabular.

Sin embargo, también puedes acceder y controlar el servicio de Analytics mediante una interfaz de línea de comandos o mediante las API de RESTful. Consulta Descripción general de las estadísticas de API para obtener más información.

Ecosistema de desarrolladores de Apigee

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

  • Administrar la comunidad de desarrolladores de apps que usan tus servicios.
  • Trabajar con desarrolladores internos y externos, y formalizar las relaciones con modelos financieros.
  • Integrar desarrolladores y crear un portal para ellos. Los desarrolladores de apps se conectan a tu portal a fin de acceder a la documentación de la API y obtener más información sobre tus productos de API disponibles de forma pública y administrar claves de API.

Cada cliente de Apigee puede crear su propio portal para desarrolladores en la nube.

Apigee te permite crear dos tipos de portales: