¿Qué es Apigee Edge?

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

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

Por ejemplo, puedes ver una transmisión web sobre cómo Walgreens usa las APIs y Apigee Edge para proporcionar un ecosistema de apps rico en torno a la impresión de fotos, las recetas y otros servicios que ofrece.

Compila tu primer proxy

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?
  • Monetización: ¿Cómo puedes hacer un seguimiento de los clientes y facturarles el acceso a tus servicios?
  • 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 Edge

Apigee Edge te permite proporcionar acceso seguro a tus servicios con una API bien definida que es 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, la monetización, el portal para desarrolladores y otras funciones integradas en Edge.

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

Apigee Edge 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 Edge. 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 Edge controle las tareas de seguridad y autorización necesarias para proteger tus servicios, así como para analizar, supervisar y monetizar 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. 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 Edge, 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 Edge 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 Edge para el control de autorización y acceso a tus APIs.

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 Administra 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 Edge, 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 Edge

Apigee Edge 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 figura, se muestran los servicios de Edge:

Los desarrolladores acceden al ecosistema de desarrolladores, que incluye SmartDocs, el portal personalizable, la administración de claves de autoservicio y los SDKs. Las apps y los servicios acceden al entorno de ejecución de la API, que incluye la puerta de enlace, los conectores, el código personalizado, la seguridad y las APIs de administración. Los ingenieros de operaciones acceden a la supervisión y el análisis, que incluyen informes empresariales, supervisión del rendimiento, informes personalizados y seguimiento.

Entorno de ejecución de la API de Edge

Los servicios de API de Apigee Edge se centran en crear y consumir APIs, ya sea que compiles proxies de API como proveedor de servicios o uses las APIs, los SDK y otros servicios convenientes como desarrollador de apps.

El servidor de administración de 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 APIs y los proxies de API para obtener más información.

Si eres desarrollador de Node.js, puedes agregar tus módulos de Node.js a Edge sin problemas para crear APIs y mashups de APIs, al mismo tiempo que aprovechas los beneficios que ofrece Edge, desde la transformación de mensajes hasta la seguridad y las estadísticas.

Supervisión y estadísticas de Edge

Las estadísticas de la API de Apigee Edge proporcionan herramientas potentes para ver tendencias de uso a corto y largo plazo de tus APIs. 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 Edge, 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 Edge

Apigee Edge 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 para 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 Edge puede crear su propio portal para desarrolladores, ya sea en la nube o de forma local con Apigee Edge para la nube privada.

Apigee Edge te permite crear dos tipos de portales:

Monetización

Las capacidades de monetización proporcionan la infraestructura financiera y las relaciones necesarias para convertir a tu comunidad de desarrolladores en un canal real para tus activos digitales. Con la monetización, puedes crear una variedad de planes de tarifas que les cobren a los desarrolladores por el uso de tus productos de API o que te permitan pagarles en situaciones de reparto de ingresos.

Los planes incluyen planes prepagados, planes de pospago, planes de tarifa fija, planes de tarifa variable, planes "freemium", planes adaptados a desarrolladores específicos, planes que abarcan grupos de desarrolladores y mucho más. Además, la monetización incluye informes y facilidades de facturación.

Para obtener más información, consulta la Descripción general de la monetización.

Variantes de Edge

Apigee Edge tiene las siguientes variantes:

  • Nube pública: 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 APIs para esos servicios.
  • Nube privada: Es una instalación local en la que controlas el entorno de hardware y eres responsable de la instalación, la actualización, el mantenimiento y otros procesos administrativos.

Si te interesa nuestra versión de Apigee Hybrid, consulta los siguientes temas de Apigee X:

Funcionalmente, las versiones de nube pública y privada son muy similares. Sin embargo, la versión de la nube privada no admite todas las funciones de la versión de la nube pública. Entre las funciones que no son compatibles con la nube privada, se incluyen las siguientes:

  • Destinos alojados
  • Extensiones
  • Portales para desarrolladores integrados (Nota: Se admiten portales para desarrolladores basados en Drupal)
  • Supervisión de API
  • Sense

Para obtener una lista de las diferencias entre las variantes, consulta Compara productos de Apigee.

También hay diferencias menores entre las APIs, como se describe en Diferencias entre la API de Edge para la nube pública y la API de la nube privada.

La nube pública admite cuentas gratuitas y pagadas. La nube privada requiere cuentas pagadas.

Para admitir por completo una instalación local, la versión de nube privada incluye componentes como el servidor de administración de Apigee, una base de datos NoSQL de Apache Cassandra, un servidor OpenLDAP, un router de mensajes y un procesador de mensajes.