This article is available in both Spanish and English. Please find the links to each version above. ⬆️
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.
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
Creación de la plantilla:
Incluya las políticas esenciales:
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
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
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
[APIGEE, 2024]
https://cloud.google.com/apigee/docs/api-platform/get-started/provisioning-intro
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.
1. Environment:
Reference: Provisioning an Eval org
2. Initial Proxy:
Reference: Build your first API proxy overview
1. Template Creation:
2. Shared Flow (Optional):
Reference: Sample API Proxies in Github
1. Version Control:
2. CI/CD Tool:
3. Trigger:
1. Apigee Portal:
2. API Catalog:
3. Monitoring:
Reference 1: Developer portal solutions
Reference 2: Monitoring for Apigee
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.
[APIGEE, 2024]
https://cloud.google.com/apigee/docs/api-platform/get-started/provisioning-intro