¿Qué es Apigee Hybrid?

Imagen estilizada de un despliegue

Apigee hybrid te permite gestionar APIs on-premise, en Google Cloud o en una combinación de ambas:

Gestiona todas tus APIs en un solo lugar

Apigee hybrid te ayuda a gestionar las APIs internas y externas con Google Cloud.

Centralizar la gestión de las APIs te permite proporcionar una experiencia homogénea a los desarrolladores, partners y clientes.

Garantiza la seguridad y el cumplimiento

Si las cuestiones de cumplimiento y seguridad relativas a tus aplicaciones requieren que realices un despliegue in situ, la pasarela híbrida de nivel empresarial Apigee hybrid puede ayudarte a alojar y gestionar en las instalaciones el plano del entorno de ejecución.

Con esta herramienta puedes controlar y gestionar los entornos de ejecución, lo que te permite aprovechar tu infraestructura de cumplimiento, control y seguridad.

Apuesta por tu estrategia multinube

Para equilibrar los costes y el rendimiento, puede que necesites una estrategia híbrida.

Tanto si estás tanteando diferentes proveedores de servicios en la nube como si ya has escogido tu estrategia híbrida, ten en cuenta que tu plataforma de gestión de APIs debería proporcionarte la flexibilidad que necesitas. Aloja y gestiona pasarelas híbridas de nivel empresarial en tu centro de datos, en Google Cloud o en ambos.

 

Si quieres obtener más información sobre la nube híbrida, consulta los siguientes recursos:

Seguir leyendo

 

 

Si quieres instalar la versión híbrida:

¡Empieza aquí!

 

Programas de APIs en un mundo híbrido

Apigee Hybrid consta de un plano de gestión mantenido por Google y un plano de entorno de ejecución que puedes instalar en Kubernetes on-premise o en Google Cloud. Ambos planos usan los servicios de Google Cloud Platform, como se muestra en la siguiente imagen:

Una vista general de la plataforma híbrida, que incluye el plano de gestión, el plano de entorno de ejecución y los servicios de Google Cloud

Como puedes ver, el modelo híbrido consta de los siguientes componentes principales:

  • Plano de gestión ejecutado por Apigee: un conjunto de servicios alojados en la nube y mantenidos por Google. Estos servicios incluyen la interfaz de usuario, la API de gestión y las analíticas.
  • Plano del entorno de ejecución gestionado por el cliente: un conjunto de servicios del entorno de ejecución en contenedores que configuras y mantienes en tu propio clúster de Kubernetes. Todo el tráfico de la API pasa por el plano de tiempo de ejecución y se procesa en él.

    Gestiona los entornos de ejecución en contenedores en tus clústeres de Kubernetes para agilizar los lanzamientos progresivos, el autoescalado y otras ventajas operativas de los contenedores.

  • Google Cloud: una suite de servicios en la nube alojados por Google.

Un aspecto clave de la configuración híbrida es que todo el tráfico de las APIs se procesa dentro de los límites de tu red y bajo tu control, mientras que los servicios de gestión, como la interfaz de usuario y las analíticas de las APIs, se ejecutan en la nube y los mantiene Google. Para obtener más información, consulta ¿Dónde se almacenan tus datos?

En el siguiente vídeo se explica en detalle la arquitectura híbrida:

Acerca del plano del entorno de ejecución

El plano del entorno de ejecución es un conjunto de servicios de entorno de ejecución en contenedores que configuras y mantienes en tu propio clúster de Kubernetes. Todo el tráfico de la API pasa por el plano de ejecución y se procesa en él. El plano del entorno de ejecución incluye los siguientes componentes principales:

El plano del entorno de ejecución se ejecuta en un clúster de Kubernetes que es de tu propiedad y que mantienes.

En la siguiente imagen se muestran los servicios principales que se ejecutan en el plano de tiempo de ejecución:

Servicios principales que se ejecutan en el plano del entorno de ejecución híbrido

Para obtener información general sobre los componentes del tiempo de ejecución, consulta las secciones siguientes. Además, consulta la información general sobre la configuración del servicio del entorno de ejecución.

En las siguientes secciones se describe cada uno de estos servicios del plano de tiempo de ejecución principal con más detalle.

Message Processor

Los procesadores de mensajes (MPs) híbridos proporcionan procesamiento de solicitudes de API y ejecución de políticas en el plano de tiempo de ejecución. Los MPs cargan todos los proxies, recursos, servidores de destino, certificados y almacenes de claves desplegados desde el almacenamiento local. Configura un controlador Istio Ingress para exponer los MPs a las solicitudes que proceden de fuera del clúster.

Sincronizador

El sincronizador obtiene datos de configuración sobre un entorno de API del plano de gestión y los propaga por el plano de tiempo de ejecución. Estos datos descargados también se denominan contrato y se almacenan en el sistema de archivos local.

El sincronizador sondea periódicamente el servidor de gestión para detectar cambios y descarga una nueva configuración cuando se detectan cambios. Los datos de configuración se recuperan y se almacenan de forma local como un archivo JSON en el sistema de archivos local, donde los procesadores de mensajes pueden acceder a ellos.

Los datos de configuración descargados permiten que el plano de tiempo de ejecución funcione de forma independiente del plano de gestión. Con el contrato, los procesadores de mensajes del plano de tiempo de ejecución usan los datos almacenados localmente como configuración. Si se interrumpe la conexión entre el plano de gestión y el de tiempo de ejecución, los servicios del plano de tiempo de ejecución seguirán funcionando.

Los datos de configuración que descarga el sincronizador incluyen lo siguiente:

Almacén de datos de Cassandra

Apache Cassandra es el almacén de datos de tiempo de ejecución que proporciona persistencia de datos para el plano de tiempo de ejecución.

Cassandra es un sistema de datos distribuido que proporciona persistencia de datos en el plano de tiempo de ejecución. Despliega la base de datos Cassandra como un grupo de nodos StatefulSet en tu clúster de Kubernetes. La ubicación de estas entidades cerca de los servicios de procesamiento en tiempo de ejecución ayuda a cumplir los requisitos de seguridad y alta escalabilidad.

La base de datos de Cassandra almacena información sobre las siguientes entidades:

  • Sistema de gestión de claves (KMS)
  • Mapa de pares clave-valor (KVM)
  • Caché de respuestas
  • OAuth
  • Cuotas

API Management para datos de tiempo de ejecución (MART)

Cassandra almacena en el plano de tiempo de ejecución los datos que pertenecen a tu organización y a los que se accede durante las llamadas a la API de tiempo de ejecución.

Estos datos incluyen lo siguiente:

  • Configuraciones de aplicaciones
  • Datos del sistema de gestión de claves (KMS)
  • Caché
  • Mapas de clave-valor (KVMs)
  • Productos de API
  • Aplicaciones para desarrolladores

Para acceder a esos datos y actualizarlos (por ejemplo, para añadir un nuevo KVM o eliminar un entorno), puedes usar la interfaz de usuario de Apigee hybrid o las APIs de Apigee. El servidor MART (API Management para datos de tiempo de ejecución) procesa las llamadas a la API en el almacén de datos del tiempo de ejecución.

En esta sección se describe el papel que desempeña MART cuando llamas a las APIs de Apigee para acceder al almacén de datos del tiempo de ejecución.

 
Qué es MART

Para llamar a una API de Apigee, debes enviar una solicitud autenticada al servidor de gestión (MS) del plano de gestión. El MS autentica y autoriza la solicitud y, a continuación, la reenvía a MART en el plano de tiempo de ejecución. A esa solicitud se adjunta un token que el MS ha generado mediante una cuenta de servicio preconfigurada.

MART recibe la solicitud, la autentica y la autoriza, y, a continuación, realiza la validación de la empresa. Por ejemplo, si la aplicación forma parte de un producto de API, MART se asegura de que sea una solicitud válida. Una vez que determina que una solicitud es válida, MART la procesa.

Cassandra almacena los datos de tiempo de ejecución que procesa MART (después de todo, es un almacén de datos de tiempo de ejecución). MART puede leer datos de Cassandra o actualizarlos, en función del tipo de solicitud.

Al igual que la mayoría de los servicios híbridos, MART no tiene estado: no conserva su propio estado en el tiempo de ejecución.

Qué no es MART

Aunque MART expone un puerto a la nube pública, no llamas a MART directamente. El puerto debe estar expuesto para que MART pueda recibir llamadas del MS a través de una cuenta de servicio.

Además, MART no recibe llamadas de tiempo de ejecución de tus clientes a sus proxies de API. Esas llamadas las gestiona el controlador de entrada y se dirigen a los procesadores de mensajes de tu clúster.

 

Cabe destacar que tanto MART como los procesadores de mensajes tienen acceso al mismo almacén de datos de tiempo de ejecución (Cassandra), que es la forma en que se comparten datos como KMS, KVM y cachés.

En la siguiente imagen se muestra el flujo de una llamada a la API de Apigee:

Flujo de llamadas a la API en
  híbrido

UDCA

El agente de recogida de datos universal (UDCA) es un servicio que se ejecuta en el pod de recogida de datos del plano de tiempo de ejecución. Extrae datos de analíticas, depuración y estado de implementación, y los envía a la UAP.

Para obtener más información, consulta el artículo sobre la recogida de datos de depuración, analíticas y estado de implementación.

Acerca del plano de gestión

El plano de gestión se ejecuta en Google Cloud. Incluye servicios administrativos como los siguientes:

  • Interfaz de usuario de Apigee hybrid: proporciona una interfaz de usuario para que los desarrolladores creen y desplieguen proxies de API, configuren políticas, creen productos de API y creen aplicaciones de desarrollador. Los administradores pueden usar la interfaz de usuario híbrida de Apigee para monitorizar el estado de la implementación.
  • APIs de Apigee: proporcionan una interfaz programática para gestionar tu organización y tus entornos.
  • Plataforma de analíticas unificada (UAP): recibe y procesa datos de analíticas y de estado de implementación del plano de tiempo de ejecución.

En la siguiente imagen se muestran los servicios principales que se ejecutan en el plano de gestión:

Servicios que se ejecutan en el plano de gestión de Apigee Hybrid

Acerca de los servicios de Google Cloud

En la siguiente tabla se describen los principales servicios de Google Cloud que utiliza la solución híbrida:

Servicio de Google Cloud Descripción
Identidad La autenticación de cuentas de usuario usa cuentas de Google Cloud. La autorización usa cuentas de servicio de Google Cloud.
Roles La gestión de acceso para híbrido usa el motor de roles de Google, IAM, y admite roles predeterminados de Apigee.
Jerarquía de recursos Los recursos se organizan en proyectos de Google Cloud (vinculados a organizaciones de Apigee).
Stackdriver Proporciona análisis de datos de registro y métricas.
 

Tipos de usuarios

Apigee ha identificado los siguientes tipos principales de usuarios de Hybrid:

Rol Responsabilidades o tareas habituales Áreas de interés
Administradores u operadores del sistema
  • Instalar y configurar servicios en el plano de entorno de ejecución de Hybrid
  • Configurar Google Cloud, Apigee y cuentas de servicio
  • Crear servicios y proyectos de Google Cloud
  • Gestionar el clúster de Kubernetes
  • Mantener todo lo anterior
  • Solucionar problemas con los proxies de API
Desarrolladores
  • Crear proxies de API con la interfaz de usuario de Apigee hybrid o las APIs de Apigee
  • Desplegar proxies de API en el plano de tiempo de ejecución
  • Solucionar problemas con los proxies de API
  • Probar los proxies de API
 

Ventajas

Apigee hybrid tiene las siguientes ventajas:

Mayor agilidad
Como la solución híbrida se ofrece y se ejecuta en contenedores, puedes disfrutar de lanzamientos progresivos, autoescalado y otras ventajas operativas de un sistema en contenedores.
Latencia reducida
Toda la comunicación con el plano de gestión híbrido es asíncrona y no se produce como parte del procesamiento de las solicitudes a la API del cliente.
Aumento de la adopción de APIs
Aunque es posible procesar APIs internas con Apigee, la menor latencia y la mayor eficiencia que puedes conseguir con la solución híbrida hacen que procesar APIs internas con ella sea una opción atractiva. Parte de esta eficiencia se consigue porque tu pasarela de APIs se ejecuta de forma local, cerca de tus servicios de backend. Además, si usas Apigee, puedes aumentar la adopción de Apigee procesando APIs internas a través de la solución híbrida.
Mayor control
Muchas empresas están adoptando una estrategia híbrida. La capacidad de gestionar los tiempos de ejecución de las APIs implementadas en centros de datos privados es un requisito fundamental para las grandes empresas. Actualmente, el plano de entorno de ejecución híbrido se puede desplegar en Google Cloud o en tu propio centro de datos.

Paso siguiente

Consulta la visión general del proceso de instalación híbrida.