Conecte microservicios multinube mediante Oracle API Gateway
El servicio Oracle API Gateway le permite publicar API con puntos finales privados accesibles desde la red y que se pueden exponer con direcciones IP públicas si desea que acepten tráfico de Internet.
Al crear soluciones empresariales, puede que observe que se han desplegado diferentes partes de la solución en diferentes nubes (o incluso en entornos locales) como resultado de necesidades específicas o como resultado de las preferencias del equipo en los proveedores de servicios en la nube. Por ejemplo, es posible que los servicios que amplían Office 365 se hayan desplegado en Azure, pero los servicios principales como ERP pueden residir en OCI.
Si, a continuación, desea mostrar algunos de estos servicios como API a los partners, no desea intentar utilizar varios gateways en distintas nubes. Es probable que la división de API en diferentes nubes resulte confusa para el consumidor de API, por no mencionar los riesgos de exponer al usuario a una mayor posibilidad de necesitar cambios. Además, si hay algún tipo de restricciones o controles implicados en el uso de las API, la gestión de estos controles resulta muy difícil. En tales situaciones, el gateway de API de Oracle permite enlazar varios servicios de backend a un único punto final de API consolidado.
El servicio Oracle API Gateway está integrado con Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), que proporciona una autenticación sencilla con la funcionalidad de identidad nativa de Oracle Cloud Infrastructure (OCI). Si dispone de servicios que se ejecutan en diferentes nubes (como OCI, Oracle SaaS, cualquier nube de 3a parte: como Amazon Web Services (AWS), Microsoft Azure, Google Cloud Computing, etc., puede utilizar Oracle API Gateway para exponer todos estos servicios a sus clientes de servicio.
- Admite la arquitectura multinube: evita la dependencia de proveedores, cumple con los requisitos de conformidad, mejora de la resiliencia, flexibilidad y gestión de riesgos. Permite a los usuarios ejecutar backends de servicio en cualquier nube para cumplir los requisitos de conformidad (sin bloquearse a un único proveedor en la nube), pero aún así exponer un punto final unificado a los clientes independientemente de dónde se esté ejecutando el servicio de backend.
- Permite ejecutar diferentes servicios en diferentes nubes; proporciona un punto final unificado independientemente de dónde se implante el backend.
- Permite presentar un punto final unificado a los clientes de API independientemente de dónde se implante el backend. A veces, la legislación puede dictar dónde se puede y no se puede desplegar el backend, pero Oracle API Gateway garantiza que los clientes no se vean afectados.
El uso de Oracle API Gateway ayuda a abordar los siguientes desafíos:
Comprobación del cliente | Solución de Oracle API Gateway |
---|---|
Implementación de una arquitectura multinube y ejecución de diferentes microservicios en diferentes nubes mediante un punto final unificado |
|
Los microservicios pueden sufrir cambios internos y también se pueden mover de una nube a otra | Los microservicios que ya se ejecutan en otras nubes pueden seguir haciéndolo (por ejemplo, las aplicaciones basadas en Microsoft pueden seguir ejecutándose en Microsoft Azure). |
Las aplicaciones cliente que aprovechan estos microservicios necesitan un acceso ininterrumpido uniforme a todos estos microservicios que se ejecutan en diferentes nubes | Todos los microservicios que se ejecutan en diferentes nubes se pueden exponer juntos a clientes mediante el gateway OracleAPI. |
Arquitectura
Esta arquitectura de referencia muestra cómo conectar servicios que se ejecutan en OCI y otras nubes (o centros de datos, como OCI, Oracle SaaS, cualquier nube de 3a parte o una red local) mediante Oracle API Gateway, y exponer los servicios a sus clientes de servicio.
En el siguiente diagrama se ilustra el flujo de datos para esta arquitectura de referencia.
oci-multicloud-api-gateway-flow-oracle.zip
- Servicios y servicios en contenedores que se ejecutan en máquinas virtuales, en la nube de 3a parte.
- Aplicaciones de Oracle SaaS, como Oracle Fusion Cloud Applications u Oracle Fusion Cloud Enterprise Performance Management (que se pueden integrar mediante servicios como la integración de Oracle).
- Servicios de Oracle Autonomous Database
- Servicios nativos en la nube como las funciones de OCI y Container Engine for Kubernetes (OKE).
- aplicaciones locales (conectadas mediante VPN de OCI o FastConnect). Por ejemplo, las aplicaciones que se ejecutan en el centro de datos.
- Clientes basados en Internet. Por ejemplo, páginas web y aplicaciones móviles que acceden a los servicios a través de Internet.
Una vez establecida la conectividad de red adecuada, el gateway de API de OCI puede conectarse a diferentes proveedores de servicios de backend, abstraer las complejidades de estos servicios (según sea necesario) y exponer las API de servicio que pueden consumir fácilmente los clientes del servicio.
En el siguiente diagrama se ilustra esta arquitectura de referencia.
oci-multicloud-api-gateway-arch-oracle.zip
La arquitectura tiene los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y las grandes distancias pueden separarlas (entre países e incluso continentes).
- dominios de disponibilidad
Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como alimentación o refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, es improbable que un fallo en un dominio de disponibilidad afecte a los otros dominios de la región.
- Red virtual en la nube (VCN) y subredes
Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de centros de datos tradicionales, las redes virtuales le proporcionan un control completo de su entorno de red. Una VCN puede tener varios bloques CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, que se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está compuesta por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Oracle Cloud Applications
Nuestro conjunto completo de aplicaciones SaaS en la nube ofrece procesos coherentes y una única fuente de datos en las funciones empresariales más importantes, desde la planificación de recursos empresariales, la gestión de la cadena de suministro y la gestión del capital humano hasta la publicidad y la experiencia del cliente. Las aplicaciones le ayudan a mejorar las interacciones con sus clientes, aumentar la agilidad de su negocio y reaccionar para cambiar más rápido que nunca.
- Integración
Oracle Integration es un servicio totalmente gestionado que permite integrar las aplicaciones, automatizar los procesos, obtener información detallada de los procesos de su negocio y crear aplicaciones visuales.
- Autonomous Database
Oracle Cloud Infrastructure Autonomous Database es un entorno de base de datos totalmente gestionado y preconfigurado que puede utilizar para cargas de trabajo de procesamiento de transacciones y almacenamiento de datos. No necesita configurar ni gestionar ningún hardware, ni instalar ningún software. Oracle Cloud Infrastructure gestiona la creación de la base de datos, así como la realización de copias de seguridad, la aplicación de parches, la actualización y el ajuste de la base de datos.
- Gateway de API
Oracle API Gateway permite publicar API con puntos finales privados accesibles desde la red y que, si es necesario, se pueden exponer a la red pública de Internet. Los puntos finales soportan la validación de API, la transformación de solicitud y respuesta, CORS, la autenticación y autorización, y la limitación de solicitudes.
- VPN de sitio a sitio
La VPN de sitio a sitio proporciona conectividad VPN IPSec entre la red local y las VCN en Oracle Cloud Infrastructure. El conjunto de protocolos IPSec cifra el tráfico IP antes de transferir los paquetes del origen al destino y descifra el tráfico cuando llega.
-
Oracle Cloud Infrastructure FastConnect proporciona una forma sencilla de crear una conexión dedicada y privada entre el centro de datos y Oracle Cloud Infrastructure. FastConnect proporciona opciones de mayor ancho de banda y una experiencia de red más fiable en comparación con las conexiones basadas en Internet.
- Funciones
Oracle Functions es una plataforma de funciones como servicio (FaaS) totalmente gestionada, multicliente, altamente escalable y bajo demanda. Se basa en el motor de código abierto de Fn Project. Las funciones permiten desplegar el código y llamarlo directamente o dispararlo en respuesta a eventos. Oracle Functions utiliza contenedores de Docker alojados en Oracle Cloud Infrastructure Registry.
Recomendaciones
- Red virtual en la nube (VCN)
Al crear una VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque en función del número de recursos que planea asociar a las subredes de la VCN. Utilice bloques CIDR que estén dentro del espacio de dirección IP privada estándar.
Al crear una VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque en función del número de recursos que planea asociar a las subredes de la VCN. Utilice bloques CIDR que estén dentro del espacio de dirección IP privada estándar.
Seleccione bloques CIDR que no se superpongan con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor de nube) a la que desea configurar conexiones privadas.
Después de crear una VCN, puede cambiar, agregar y eliminar sus bloques CIDR.
Al diseñar las subredes, tenga en cuenta el flujo de tráfico y los requisitos de seguridad. Asocie todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.
Utilizar subredes regionales.
- Seguridad
Utilice Oracle Cloud Guard para supervisar y mantener la seguridad de los recursos en Oracle Cloud Infrastructure de forma proactiva. Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de deficiencias de seguridad y para supervisar a operadores y usuarios en busca de actividades arriesgadas. Cuando se detecta una configuración incorrecta o una actividad no segura, Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, en función de las recetas de responsable de respuesta que pueda definir.
Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta de políticas de seguridad definida por Oracle que se basa en las mejores prácticas. Por ejemplo, los recursos de una zona de seguridad no deben ser accesibles desde la Internet pública y deben cifrarse con claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, Oracle Cloud Infrastructure valida las operaciones con respecto a las políticas de la receta de zona de seguridad y deniega las operaciones que violan cualquiera de las políticas.
Consideraciones
Al desplegar una instancia de Oracle API Gateway, tenga en cuenta las siguientes opciones.
- Rendimiento
OCI API Gateway soporta el almacenamiento en caché de respuesta mediante la integración con un servidor de caché externo (como un servidor Redis o KeyDB), lo que ayuda a evitar una carga innecesaria en los servicios de backend. Cuando las respuestas se almacenan en caché, si se reciben solicitudes similares, se pueden completar recuperando datos de una caché de respuesta en lugar de enviar la solicitud al servicio de backend. Esto reduce la carga en los servicios de backend y, por lo tanto, ayuda a mejorar el rendimiento y a reducir los costos.
OCI API Gateway también almacena en caché tokens de autenticación (según su tiempo para dejar TTL), lo que reduce la carga en el proveedor de identidad y mejora el rendimiento.
- Seguridad
Los servicios en la nube de OCI utilizan políticas de IAM, como permitir que API Gateway invoque funciones. API Gateway también puede controlar el acceso mediante la autenticación y autorización OAuth. IAM permite la autenticación y autorización que se pueden federar mediante IAM. Como resultado, el gateway de API tiene la capacidad de autenticarse en una amplia gama de servicios y configuraciones de autenticación.
- Alta Disponibilidad
Considere el uso de una opción de alta disponibilidad en función de los requisitos de despliegue y la región. Entre las opciones se incluyen la distribución de recursos en varios dominios de disponibilidad de una región y la distribución de recursos en los dominios de errores de un dominio de disponibilidad. Los dominios de errores proporcionan la mejor resiliencia a las cargas de trabajo desplegadas en un solo dominio de disponibilidad. Para obtener una alta disponibilidad en el nivel de aplicación, despliegue los servidores de aplicaciones en diferentes dominios de errores y utilice un equilibrador de carga para distribuir el tráfico del cliente entre los servidores de aplicaciones.