¿Qué es Apigee Hybrid?

Imagen estilizada de la implementación

Apigee Hybrid es una plataforma para desarrollar y administrar proxies de API que presenta un modelo de implementación híbrida. El modelo híbrido incluye un plano de administración alojado por Apigee en la nube y un plano de entorno de ejecución que instalas y administras en una de las plataformas de Kubernetes compatibles.

Administra todas tus API en un solo lugar

Apigee Hybrid te ayuda a administrar las API internas y externas con Google Cloud.

Un sistema de administración de API unificado te permite ofrecer a tus desarrolladores, socios y clientes una experiencia coherente del programa de API.

Aborda la seguridad y el cumplimiento

Si tus consideraciones de cumplimiento y seguridad hacen que la implementación local sea obligatoria para tus aplicaciones, con una puerta de enlace híbrida de nivel empresarial, puedes alojar y administrar el plano de entorno de ejecución híbrido de Apigee en tus instalaciones.

Puedes administrar y controlar el entorno de ejecución, lo que te permite aprovechar la infraestructura actual de cumplimiento, administración y seguridad.

Fomenta tu estrategia de múltiples nubes

Balancear el costo y el rendimiento puede ayudarte a obtener a una estrategia híbrida.

Con independencia de si estás explorando diferentes proveedores de servicios en la nube o ya elegiste una estrategia híbrida, la plataforma de administración de las API debería brindarte la flexibilidad que necesitas. Aloja y administra puertas de enlace híbridas de nivel empresarial en tu centro de datos, en Google Cloud Platform o en ambos.

 

Para obtener más información sobre entornos híbridos, haz lo siguiente:

Sigue leyendo

 

 

Para instalar entornos híbridos, haz lo siguiente:

Comencemos.

 

Programas de API en un mundo híbrido

El híbrido de Apigee consta de un plano de administración que mantiene Google y un plano de entorno de ejecución que instalas en una plataforma de Kubernetes compatible. Ambos aviones usan los servicios de Google Cloud Platform, como se muestra en la siguiente imagen:

Una vista de alto nivel de la plataforma híbrida, que incluye el plano de administración, el plano del entorno de ejecución y los servicios de Google Cloud

Como puedes ver, el híbrido consiste de los siguientes elementos primarios:

  • Plano de administración ejecutado por Apigee: Un conjunto de servicios alojados en la nube y mantenidos por Google En estos servicios, se incluyen la IU, la API de administración y las estadísticas.
  • Plano de entorno de ejecución administrado por el cliente: un conjunto de servicios de entorno de ejecución de contenedores que configuras y mantienes en tu propio clúster de Kubernetes. Todo el tráfico de API se transfiere y se procesa en el plano del entorno de ejecución.

    Administras el entorno de ejecución en contenedores en tu clúster de Kubernetes para lograr una mayor agilidad con lanzamientos en etapas, ajuste de escala automático y otros beneficios operativos de contenedores.

  • Google Cloud Platform: un conjunto de servicios de Cloud alojados en Google.

Un aspecto clave sobre el híbrido es que todo el tráfico de API se procesa dentro de los límites de tu red y bajo tu control, a la vez que los servicios de administración como la IU y las estadísticas de API se ejecutan en la nube y Google las mantiene. Para obtener más información, consulta ¿Dónde se almacenan tus datos?

En el siguiente video, se brinda información detallada sobre la arquitectura híbrida:

Información sobre el plano de entorno de ejecución

El plano de 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 que se ejecuta en una plataforma de Kubernetes compatible. Todo el tráfico de la API pasa y se procesa dentro del plano del entorno de ejecución. El plano de entorno de ejecución incluye los siguientes componentes principales:

El plano de entorno de ejecución se ejecuta en un clúster de Kubernetes, que se ejecuta en la plataforma de Kubernetes compatible que mantienes.

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

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

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

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

Procesador de mensajes

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

Sincronizador

El sincronizador recupera datos de configuración sobre un entorno de API del plano de administración y los propaga en el plano de entorno de ejecución. Estos datos descargados también se llaman contratos y se almacenan en el sistema de archivos local.

El sincronizador sondea periódicamente el servidor de administración para encontrar cambios y descarga una nueva configuración cada vez que 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, en el que los Message Processor pueden acceder a ellos.

Los datos de configuración descargados permiten que el plano del entorno de ejecución funcione independientemente del plano de administración. Con el contrato, los Message Processors del plano de entorno de ejecución usan los datos almacenados localmente como su configuración. Si se interrumpe la conexión entre el plano de administración y el entorno de ejecución, los servicios en este plano 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 del entorno de ejecución que proporciona persistencia de datos para el plano de entorno de ejecución.

Cassandra es un sistema de datos distribuido que proporciona persistencia de datos en el plano del entorno de ejecución. Implementa la base de datos de Cassandra como un grupo de nodos StatefulSet en tu clúster de Kubernetes. Cuando ubicas estas entidades cerca de los servicios de procesamiento del entorno de ejecución, ayudas a admitir los requisitos de seguridad y alta escalabilidad.

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

  • Sistema de administración de claves (KMS)
  • Mapa de clave-valor (KVM)
  • Caché de respuesta
  • OAuth
  • Cuotas

API de administración para datos de entorno de ejecución (MART)

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

Estos datos incluyen lo siguiente:

  • Opciones de configuración de la aplicación
  • Datos del sistema de administración de claves (KMS)
  • Caché
  • Mapas de claves-valores (KVM)
  • Productos de API
  • Apps de desarrolladores

Para acceder a esos datos y actualizarlos, por ejemplo, para agregar una KVM nueva o quitar un entorno, puedes usar la IU híbrida de Apigee o las API de Apigee. El servidor MART (API de administración para datos de entorno de ejecución) procesa las llamadas a la API en el almacén de datos del entorno de ejecución.

En esta sección, se describe la función que MART ejecuta cuando llamas a las API de Apigee para acceder al almacén de datos de entorno de ejecución.

 
Qué es MART

Para llamar a una API de Apigee, envía una solicitud autenticada al servidor de administración (MS) en el plano de administración. MS autentica y autoriza la solicitud y, luego, reenvía la solicitud a MART en el plano de entorno de ejecución. Se adjunta a esa solicitud un token que el MS generó con una cuenta de servicio preconfigurada.

MART recibe la solicitud, la autentica y la autoriza, y, luego, realiza la validación de la empresa. Por ejemplo, si la app forma parte de un producto de API, MART garantiza que se trate de una solicitud válida. Después de determinar la validez de una solicitud, MART la procesa.

Cassandra almacena los datos del entorno de ejecución que procesa MART, es decir que después de todo, es un almacén de datos de entorno de ejecución. MART podría leer datos de Cassandra o actualizarlos, según el 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 entorno de ejecución.

Qué no es MART

El plano de administración se comunica con MART a través del agente de Apigee Connect, que utiliza una cuenta de servicio con la función de agente de Apigee Connect (la cuenta de servicio de MART en la mayoría de las instalaciones). No debes llamar a MART directamente.

Además, MART no recibe solicitudes del proxy de API. El controlador de entrada del entorno de ejecución maneja esas llamadas y se enrutan a los procesadores de mensajes de tu clúster.

 

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

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

Flujo de llamada a la API en el híbrido

UDCA

El agente universal de recopilación de datos (UDCA) es un servicio que se ejecuta dentro del pod de recopilación de datos en el plano del entorno de ejecución que extrae datos de estado de implementación, seguimiento y análisis y los envía a la UAP.

Para obtener más información, consulta Recopilación de datos de estado de implementación, análisis y registro.

Información sobre el plano de administración

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

  • IU híbrida de Apigee: Proporciona una IU para que los desarrolladores creen y también implementen proxies de API, configuren políticas, creen productos de API, así como apps para desarrolladores. Los administradores pueden usar la IU híbrida de Apigee para supervisar el estado de implementación.
  • API de Apigee: Proporciona una interfaz programática para administrar la organización y los entornos.
  • Plataforma unificada de Analytics (UAP): recibe y procesa datos de estadísticas y de estado de implementación desde el plano de entorno de ejecución.

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

Servicios que se ejecutan en el plano de administración híbrida de Apigee

Acerca de los servicios de Google Cloud

En la siguiente tabla, se describen los servicios clave de Google Cloud que aprovecha el entorno híbrido:

Servicio de Google Cloud Descripción
Identity La autenticación de la cuenta de usuario usa cuentas de Google Cloud. La autorización usa cuentas de servicio de Google Cloud.
Funciones La administración de acceso para híbridos usa el motor de funciones de Google, IAM y admite las funciones predeterminadas de Apigee.
Resource Hierarchy Los recursos se organizan en proyectos de Google Cloud (vinculados a organizaciones de Apigee).
Cloud Operations Proporciona análisis de datos de registros y métricas.
 

Tipos de usuarios

Apigee identificó los siguientes tipos principales de usuarios híbridos:

Función Responsabilidades y tareas comunes Áreas de interés
Operadores/administradores del sistema
  • Instala y configura servicios en el plano de entorno de ejecución híbrido
  • Configura Google Cloud, Apigee y cuentas de servicio
  • Crea servicios y proyectos de Google Cloud
  • Administra el clúster de Kubernetes
  • Mantén todo lo anterior
  • Soluciona problemas de los proxies de API
Desarrolladores
  • Compila proxies de API con la IU del híbrido de Apigee o las API de Apigee
  • Implementa proxies de API en el plano de entorno de ejecución
  • Soluciona problemas de los proxies de API
  • Prueba los proxies de API
 

Ventajas

Apigee Hybrid tiene las siguientes ventajas:

Mayor agilidad
Debido a que el híbrido se entrega y se ejecuta en contenedores, puedes lograr lanzamientos en etapas, ajuste de escala automático y otros beneficios operativos de un sistema en contenedores.
Menor latencia
Toda la comunicación con el plano de administración del híbrido es asíncrona y no ocurre como parte del procesamiento de las solicitudes de la API del cliente.
Mayor adopción de API
Aunque es posible procesar API internas con Apigee, la menor latencia y eficiencia que puedes lograr con el entorno híbrido hace que el procesamiento de API internas híbridas sea una opción convincente. Parte de esta eficiencia se logra porque la puerta de enlace de la API se ejecuta de manera local, de forma muy cercana a tus servicios de backend. Además, si usas Apigee, puedes aumentar tu adopción de Apigee mediante el procesamiento de API internas a través de entornos híbridos.
Más control
Muchas empresas están adoptando una estrategia de entornos híbridos. La capacidad de administrar los entornos de ejecución de API implementados en centros de datos privados es un requisito clave para las grandes empresas. Actualmente, el plano del entorno de ejecución híbrido se puede implementar en Google Cloud o en tu propio centro de datos.

Próximo paso

Consulta el panorama general, una descripción general del proceso de instalación del híbrido.