Administrar recursos de Edge sin usar la administración del control de la fuente

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

Apigee proporciona muchos tipos diferentes de recursos y cada uno de ellos cumple una finalidad diferente. Existen ciertos recursos que se pueden configurar (es decir, crear, actualizar o borrar) solo a través de la IU de Apigee, las API de Apigee o las herramientas que usan las API y los usuarios con las funciones y los requisitos previos. Por ejemplo, solo los administradores de la organización que pertenecen a una organización específica pueden configurar estos recursos. Esto significa que estos recursos no los pueden configurar los usuarios finales mediante portales para desarrolladores, ni por ningún otro medio. Entre estos recursos, se incluyen los siguientes:

  • Proxies de API
  • Flujos compartidos
  • Productos de API
  • Caché
  • KVM
  • Almacén de claves y almacenes de confianza
  • Hosts virtuales
  • Servidores de destino
  • Archivos de recursos

Aunque estos recursos tienen acceso restringido, si hay modificaciones, incluso si los usuarios autorizados realizan alguna modificación, los datos históricos se reemplazan con los datos nuevos. Esto se debe al hecho de que estos recursos se almacenan en Apigee solo según su estado actual. Las excepciones principales a esta regla son los proxies de API y los flujos compartidos.

Proxies de API y flujos compartidos en control de revisión

Los proxies de API y los flujos compartidos se administran (en otras palabras, se crean, actualizan y se implementan) a través de revisiones. Las revisiones están numeradas de forma secuencial, lo que te permite agregar cambios nuevos y guardarlos como una revisión nueva o revertir un cambio mediante la implementación de una revisión anterior del proxy de API o flujo compartido. En cualquier momento, solo puede haber una revisión de un proxy de API/flujo compartido implementado en un entorno, a menos que las revisiones tengan una ruta base diferente.

Aunque los proxies de API y los flujos compartidos se administran a través de revisiones, si se realizan modificaciones a una revisión existente, no hay manera de revertir, ya que los cambios anteriores simplemente se reemplazan.

Auditorías e historial

Apigee proporciona la característica Auditorías, que puede ser útil para solucionar problemas. Estas características te permiten ver información como quién realizó operaciones específicas (crear, leer, actualizar, borrar, implementar y anular la implementación) y cuándo las operaciones se realizaron en los recursos de Apigee. Sin embargo, si se realizan operaciones de actualización o eliminación en alguno de los recursos de Apigee, las auditorías no pueden proporcionarte los datos más antiguos.

Antipatrón

Administra los recursos de Apigee (indicados anteriormente) directamente a través de las API o la IU de Apigee sin usar el sistema de control de fuente

Hay una idea equivocada de que Apigee podrá restablecer los recursos a su estado anterior después de modificaciones o eliminaciones. Sin embargo, Apigee no proporciona una restauración a los recursos a su estado anterior. Por lo tanto, es responsabilidad del usuario garantizar que todos los datos relacionados con los recursos de Apigee se administren a través de la administración del control de la fuente, de modo que los datos antiguos puedan restablecerse rápidamente en caso de eliminación accidental o situaciones en las que cualquier necesidad necesite cambios. para revertir. Esto es muy importante para entornos de producción en los que estos datos son necesarios para el tráfico del entorno de ejecución.

Veamos esto con la ayuda de algunos ejemplos y el tipo de impacto que puede producirse si los datos no se administran a través de un sistema de control de fuente y se modifican o se borran de forma deliberada o no.

Ejemplo 1: Eliminación o modificación del proxy de API

Cuando se borra un proxy de API o se implementa un cambio en una revisión existente, el código anterior no se podrá recuperar. Si el proxy de la API contiene código Java, JavaScript o Python que no se administra en un sistema de administración de control de fuente (SCM) fuera de Apigee, se podría perder mucho trabajo de desarrollo y esfuerzo.

Ejemplo 2: Determinación de proxies de API con hosts virtuales específicos

Un certificado en un host virtual caducará y se deberá actualizar. Identificar qué proxies de API usa ese host virtual con fines de prueba puede ser difícil si hay muchos proxies de API. Si los proxies de API se administran en un sistema SCM fuera de Apigee, será fácil buscar en el repositorio.

Ejemplo 3: Eliminación del almacén de claves o almacén de confianza

Si se borra un almacén de claves o almacén de claves que usa un host virtual o configuración de servidor de destino, no podrá restablecerlo a menos que los detalles de configuración del almacén de claves o almacén de confianza, incluidos las claves privadas y/o los certificados se almacenan en el control de código fuente.

Impacto

  • Si se borra alguno de los recursos de Apigee, no es posible recuperar el recurso y su contenido desde Apigee.
  • Las solicitudes a la API pueden fallar con errores inesperados que dan lugar a una interrupción hasta que el recurso se restablece a su estado anterior.
  • Es difícil buscar interdependencias entre proxies de API y otros recursos en Apigee.

Práctica recomendada

  • Usa cualquier SCM estándar junto con una canalización de integración continua y de implementación continua (CI/CD) para administrar proxies de API y flujos compartidos.
  • Usa cualquier SCM estándar para administrar los otros recursos de Apigee, incluidos productos de API, cachés, KVM, servidores de destino, hosts virtuales y almacenes de claves.
    • Si hay recursos de Apigee existentes, usa las API de Apigee para obtener los detalles de configuración como una carga útil de JSON/XML y almacenarlas en la administración de control de fuente.
    • Administra las actualizaciones nuevas de estos recursos en la administración de control de código fuente.
    • Si es necesario crear nuevos recursos de Apigee o actualizar los recursos existentes, usa la carga útil JSON/XML adecuada almacenada en la administración de control de código fuente y actualiza la configuración en Apigee mediante las API.

* KVM encriptados no se puede exportar en texto sin formato de la API. Es responsabilidad del usuario mantener un registro de los valores que se colocan en KVM encriptados.

Lecturas adicionales