Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
Apigee proporciona muchos tipos de recursos diferentes y cada uno de ellos tiene un propósito distinto. Hay determinados recursos que solo se pueden configurar (es decir, crear, actualizar o eliminar) a través de la interfaz de usuario de Apigee, las APIs de Apigee o las herramientas que usan APIs, y solo pueden hacerlo los usuarios que tengan los roles y permisos necesarios. Por ejemplo, solo los administradores de la organización que pertenezcan a una organización específica pueden configurar estos recursos. Esto significa que los usuarios finales no pueden configurar estos recursos a través de portales para desarrolladores ni de ningún otro modo. Estos recursos incluyen:
- Proxies de APIs
- Flujos compartidos
- Productos de API
- Cachés
- KVMs
- Almacenes de claves y de confianza
- Hosts virtuales
- Servidores de destino
- Archivos de recursos
Aunque estos recursos tienen acceso restringido, si los usuarios autorizados hacen alguna modificación, los datos históricos se sobrescribirán con los nuevos datos. Esto se debe a que estos recursos solo se almacenan en Apigee según su estado actual. Las principales excepciones a esta regla son los proxies de API y los flujos compartidos.
Proxies de API y flujos compartidos bajo control de versiones
Los proxies de API y los flujos compartidos se gestionan (es decir, se crean, actualizan e implementan) mediante revisiones. Las revisiones se numeran secuencialmente, lo que te permite añadir nuevos cambios y guardarlos como una nueva revisión o deshacer un cambio implementando una revisión anterior del proxy de API o del flujo compartido. En cualquier momento, solo puede haber una revisión de un proxy de API o un flujo compartido desplegado en un entorno, a menos que las revisiones tengan una ruta base diferente.
Aunque los proxies de API y los flujos compartidos se gestionan mediante revisiones, si se hacen modificaciones en una revisión, no se pueden deshacer, ya que los cambios antiguos se sobrescriben.
Auditorías e historial
Apigee ofrece la función Auditorías, que puede ser útil en situaciones de solución de problemas. Estas funciones te permiten ver información como quién ha realizado operaciones específicas (crear, leer, actualizar, eliminar, implementar y deshacer la implementación) y cuándo se han realizado 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 podrán proporcionarte los datos antiguos.
Antipatrón
Gestionar los recursos de Apigee (enumerados anteriormente) directamente a través de la interfaz de usuario o las APIs de Apigee sin usar un sistema de control de código fuente
Existe la creencia errónea de que Apigee podrá restaurar los recursos a su estado anterior después de que se modifiquen o eliminen. Sin embargo, Apigee no restaura los recursos a su estado anterior. Por lo tanto, es responsabilidad del usuario asegurarse de que todos los datos relacionados con los recursos de Apigee se gestionen mediante la gestión de control de versiones, de modo que los datos antiguos se puedan restaurar rápidamente en caso de eliminación accidental o en situaciones en las que sea necesario revertir algún cambio. Esto es especialmente importante en los entornos de producción en los que estos datos son necesarios para el tráfico en tiempo de ejecución.
Vamos a explicarlo con algunos ejemplos y el tipo de impacto que puede producirse si los datos no se gestionan a través de un sistema de control de versiones y se modifican o eliminan de forma consciente o inconsciente:
Ejemplo 1: Eliminación o modificación de un proxy de API
Cuando se elimina un proxy de API o se implementa un cambio en una revisión, el código anterior no se puede recuperar. Si el proxy de API contiene código Java, JavaScript o Python que no se gestiona en un sistema de gestión de control de código fuente (SCM) fuera de Apigee, se podría perder una gran cantidad de trabajo y esfuerzo de desarrollo.
Ejemplo 2: Determinación de proxies de API mediante hosts virtuales específicos
Un certificado de un host virtual va a caducar y es necesario actualizar ese host virtual. Puede ser difícil identificar qué proxies de API usan ese host virtual para hacer pruebas si hay muchos proxies de API. Si los proxies de API se gestionan en un sistema SCM fuera de Apigee, será fácil buscar en el repositorio.
Ejemplo 3: Eliminación de un almacén de claves o de confianza
Si se elimina un almacén de claves o de confianza que utiliza una configuración de servidor de destino o de host virtual, no se podrá restaurar a menos que los detalles de configuración del almacén de claves o de confianza, incluidos los certificados o las claves privadas, se almacenen en el control de versiones.
Impacto
- Si se elimina alguno de los recursos de Apigee, no se podrá recuperar el recurso ni su contenido de Apigee.
- Las solicitudes a la API pueden fallar con errores inesperados que provoquen una interrupción hasta que el recurso se restaure 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 un flujo de integración continua y despliegue continuo (CICD) para gestionar proxies de API y flujos compartidos.
- Utilice cualquier SCM estándar para gestionar los demás recursos de Apigee, incluidos los productos de API, las cachés, los KVMs, los servidores de destino, los hosts virtuales y los almacenes de claves.
- Si hay recursos de Apigee, usa las APIs de Apigee para obtener los detalles de configuración de estos recursos como carga útil JSON o XML y guárdalos en la gestión de control de versiones.
- Gestiona las nuevas actualizaciones de estos recursos en la gestión del control de código fuente.
- Si es necesario crear recursos de Apigee o actualizar los que ya hay, usa la carga útil JSON o XML adecuada almacenada en la gestión de control de origen y actualiza la configuración en Apigee mediante APIs.
* Los KVMs cifrados no se pueden exportar como texto sin formato desde la API. Es responsabilidad del usuario llevar un registro de los valores que se introducen en los KVMs cifrados.
Más información
- Control de versiones para el desarrollo de proxies de API
- Guía para implementar la integración continua en Apigee
- Plugin Maven Deploy para proxies de API
- Plugin de configuración de Maven para gestionar recursos
- APIs de Apigee (para automatizar las copias de seguridad)