Apigee Aumentado con Ingeniería de Plataformas

This article is available in both Spanish and English. Please find the links to each version above. ⬆️

Apigee Aumentado con Ingeniería de Plataformas

Aunque el estado del arte en tecnología cuenta con soluciones brillantes en términos de diseño, desarrollo y pruebas de soluciones digitales, los desarrolladores siguen experimentando dificultades cuando implementan y despliegan APIs [Interfaz de Programación de Aplicaciones]. En algunos casos, conseguir el acceso necesario para desplegar, realizar cambios en configuraciones de seguridad o publicar en el catálogo de APIs, son experiencias que se describen como desgastantes, burocráticas y frustrantes. Según [Posta, 2024] en muchas organizaciones, los desarrolladores de APIs tienen que esperar dos o más semanas para que sus cambios sean revisados, aprobados y desplegados; para ello deben abrir tickets, enviar correos, buscar reuniones con los aprobadores y en el peor de los casos escalar con sus gerentes para lograr la publicación de los cambios.

Es importante aclarar que la adopción de disciplinas como DevOps [DORA, 2013] y SRE [SRE, 2018] ha permitido que las organizaciones reduzcan los tiempos de despliegue y mejoren la confiabilidad de sus APIs, sin embargo hay aún muchos desafíos por resolver. Por ejemplo, con la llegada de la inteligencia artificial, la gestión moderna de APIs requiere el dominio de funciones complejas, el escalamiento de arquitecturas sofisticadas, la planeación de la capacidad de infraestructuras complejas y la materialización de las nuevas características en tiempo record. Por estas y otras razones, emergió un tercer actor, referenciado en la literatura como Platform Engineering o Ingeniería de Plataformas, y que promete una mejor experiencia de desarrollo a través de cinco pilares: descubribilidad, gobierno, autoservicio, transparencia y eficiencia operativa [Fodera, 2024]. Estos pilares se implementan como Golden Paths o Rutas Doradas [Sharma, 2024] en un Internal Developer Platform o Plataforma Interna para Desarrolladores [Sharma, 2024], el santo grial de la Ingeniería de Plataformas.

Según [Rush, 2024], una Ruta Dorada en la gestión de APIs debería incluir: una guía de inicio, una plantilla scaffold para la creación de proxies/políticas/mocks, shared flows estándar, pipelines de CI/CD para probar y desplegar y plantillas de registro de APIs. Así que para concluir este artículo, a continuación se describe la implementación de una Ruta Dorada para Apigee.

Requisitos Previos:

  • Conocimientos básicos de API y gestión de API.
  • Familiaridad con Apigee (acceso al entorno de evaluación Apigee X).
  • Conocimientos básicos de Git.
  • Acceso a un editor de código (VS Code, Atom, etc.).
  • (Opcional) Conocimientos básicos de una herramienta CI/CD (por ejemplo, Cloud Build o Jenkins).

Instrucciones:

Paso 1: Configuración de Apigee.

Entorno
Si utiliza Apigee X, asegúrese de tener una organización y un entorno listos.
Si utiliza un entorno de evaluación, suscríbase a una versión de prueba de Apigee.
Referencia: Aprovisionando una organización de prueba

Proxy inicial
Cree un API proxy en Apigee (puede ser un API simulado).
Despliegue el API proxy y pruébelo usando curl o Postman.
Referencia: Creando el primer API proxy

Parte 2: Plantilla de la Ruta Dorada.

Creación de la plantilla:
Incluya las políticas esenciales:

  • Security: VerifyAPIKey, OAuth 2.0.
  • Gestión de tráfico: Quotas, Spike Arrests.
  • Mediación: JSON a XML (si es necesario) u otras conversiones de formato.
  • Gestión de fallos: RaiseFaultPolicy
  • Configuración de logging para el registro de peticiones/respuestas.

Shared Flow (Opcional):
Cree un Shared flow para una tarea común (por ejemplo, el registro de solicitudes).
Adjunte el Shared flow a la plantilla del proxy en el paso anterior.
Referencia: Repositorio con API proxies de ejemplo

Parte 3: CI/CD

Control de versiones:
Cree un repositorio Git (GitHub, GitLab, Bitbucket) y haga un commit de la plantilla proxy.

Herramienta CI/CD:
Si utiliza Cloud Build, cree un archivo cloudbuild.yaml en el repositorio.
Defina los pasos para construir y desplegar el proxy en Apigee.
Haga un cambio en el proxy, haga commit y push al trigger.

Trigger:
Realice un cambio en su proxy, confirmelo y envíelo para activar el pipeline.
Compruebe que el proxy actualizado se despliega en Apigee.
Referencia: Pipeline de CI/CD para Apigee

Parte 4: Componentes Adicionales

Portal de Apigee:
Si está disponible, explore el portal para desarrolladores de Apigee.
Comprenda cómo publicar API y documentación.

Catálogo de API:
Explore cómo Apigee proporciona observabilidad del catálogo de APIs.

Monitoreo:
Acceda a la interfaz de usuario de Apigee y vea los paneles de control de su proxy.
Observe el tráfico, las tasas de error y las métricas de rendimiento.
Referencia 1: Usando el Portal de Desarrollo de Apigee
Referencia 2: Monitoreo de Apigee

Referencias

[APIGEE, 2024]

https://cloud.google.com/apigee/docs/api-platform/get-started/provisioning-intro


Augmented API Management with Platform Engineering

Despite having brilliant solutions in the state of the art of technology, API developers continue experiencing difficulties when they build and deliver APIs—in some cases, getting the necessary access to deploy APIs, making changes in the security configuration, and publishing to a catalog become frustrating experiences. According to [Posta 2024], in many organizations, API developers have to wait two or more weeks to get their changes reviewed, approved, and implemented, need to open tickets to get this work done, or have to overcome bureaucratic security obstacles before having their deployed modifications in production.

Adopting DevOps [DORA, 2013] and SRE [SRE, 2018], organizations have recognized reductions in the deployment times and improvements in the reliability of the APIs, however, considerable challenges remain still to be solved. For example, with the arrival of artificial intelligence, modern APIs demand to handle intricate features, deliver lightning-fast performance, and materialize in record time. Considering that DevOps and SRE have not covered all the gaps, a third actor referred to as Platform Engineering arrived on the scene. This new approach promises a better development experience via five pillars: discoverability, governance, self-service mechanisms, transparency, and operational efficiency [Fodera, 2024], which are implemented as golden paths in an internal developer platform [Sharma, 2024], the holy grail of Platform Engineering.

According to [Rush, 2024], a golden path in API management should include: a getting started guide, a scaffold template for proxy/policy creation/mock backend, standard shared flow configs, a CI/CD pipeline to test and deploy, and API registry templates. In the next sections, there is an example of how to implement a golden path for Apigee.

Prerequisites:

  • Basic understanding of APIs and API management.
  • Familiarity with Apigee (or access to Apigee X evaluation environment).
  • Basic Git knowledge.
  • Access to a code editor (VS Code, Atom, etc.).
  • (Optional) Basic knowledge of a CI/CD tool (e.g., Cloud Build, Jenkins).

Lab Instructions:

Part 1: Apigee Setup

1. Environment:

  • If using Apigee X, ensure you have an organization and environment ready.
  • If using an evaluation environment, sign up for an Apigee trial.

Reference: Provisioning an Eval org

2. Initial Proxy:

  • Create a simple API proxy in Apigee (can be a pass-through proxy or mock API).
  • Deploy the proxy and test it using curl or Postman.

Reference: Build your first API proxy overview

Part 2: Golden Path Template

1. Template Creation:

  • Create a new API proxy template.
  • Include essential policies:
    • Security: VerifyAPIKey, OAuth 2.0
    • Traffic Management: Quota, Spike Arrest
    • Mediation: JSON to XML (if needed) or other format conversions
    • Fault Handling: RaiseFaultPolicy
  • Configure logging to capture request/response details.

2. Shared Flow (Optional):

  • Create a shared flow for a common task (e.g., request logging).
  • Attach the shared flow to your proxy template.

Reference: Sample API Proxies in Github

Part 3: CI/CD

1. Version Control:

  • Create a Git repository (GitHub, GitLab, Bitbucket) and commit your proxy template.

2. CI/CD Tool:

  • If using Cloud Build:
    • Create a cloudbuild.yaml file in your repository.
    • Define steps to:
      • gcloud builds submit to build and deploy the proxy to Apigee.
  • If using Jenkins or another tool, configure a similar pipeline.

3. Trigger:

  • Make a change to your proxy, commit, and push to trigger the pipeline.
  • Verify the updated proxy is deployed in Apigee.
Part 4: Platform Components

1. Apigee Portal:

  • If available, explore the Apigee developer portal.
  • Understand how to publish APIs and documentation.

2. API Catalog:

  • Explore how Apigee provides an API catalog view.

3. Monitoring:

  • Access the Apigee UI and view dashboards for your proxy.
  • Observe traffic, error rates, and performance metrics.

Reference 1: Developer portal solutions
Reference 2: Monitoring for Apigee

Key Takeaways

1. API deployment is still a pain: even with great technology, developers struggle with slow, bureaucratic processes when deploying APIs.

2. DevOps and SRE are not enough: these practices have helped, but haven't solved all the problems, especially with the demands of modern APIs (like those using AI).

3. Platform Engineering to the rescue: this new approach aims to make life easier for developers by streamlining the API development process.

4. Golden paths are key: these are standardized workflows within an internal developer platform that make it easier to build and deploy APIs.

5. Focus on efficiency and self-service: platform Engineering emphasizes discoverability, governance, self-service, transparency, and operational efficiency to improve the developer experience.

References

[APIGEE, 2024]

https://cloud.google.com/apigee/docs/api-platform/get-started/provisioning-intro

Contributors
Version history
Last update:
‎02-23-2025 07:46 PM
Updated by: