La gobernanza de API es un problema grave para las empresas que escalan rápidamente sus programas digitales. ¿De qué otra manera puede crear un conjunto de docenas, o incluso cientos, de API, mientras se asegura de que sigan siendo seguras, eficaces y coherentes?
Es fácil pensar en la gobernanza de API como nada más que una colección de estándares de toda la organización para el diseño de API, pero hay más. En particular, lograr que los equipos de desarrollo de API implementen realmente los estándares establecidos dentro de su sistema de gobierno es un desafío en sí mismo.
En este artículo, veremos cómo PayPal ha mantenido la coherencia en su amplia cartera de API internas y externas con la ayuda de la gobernanza de API. Nos centraremos en el proceso de cuatro pasos que utilizan para desarrollar API compatibles con la gobernanza, como explicó Jayadeba Jena , jefe de diseño de API de PayPal, en la Cumbre de la plataforma de API nórdicas de 2018 . Pero primero, ¿qué significa "gobernanza" para PayPal?
¿Qué es la gobernanza de API en PayPal?
Antes de explicar el proceso de PayPal para la creación de API amigables con el gobierno, Jayadeba presenta los cinco aspectos cruciales del gobierno de API en PayPal: capacidades comerciales, principios de diseño, estándares, definiciones de objetos y políticas de control de versiones.
Las capacidades comerciales son el punto de partida para la gobernanza y describen lo que los clientes quieren hacer con PayPal. Como sistema de pagos en línea, las capacidades comunes de las API de PayPal son el manejo de pagos o la creación de flujos de pago, pero hay varios otros, como la tokenización o la facturación. Estas capacidades ayudarán a determinar si se debe construir una API.
Luego, están los principios que impulsan el diseño de API en PayPal. Como era de esperar, estos son los principios por excelencia del diseño de API eficaz, como:
- Bajo acoplamiento
- Encapsulamiento
- Estabilidad
- Reutilización
- Centrado en el contrato
- Consistencia
- Facilidad de uso
- Externalizabilidad
Los estándares son criterios de diseño específicos que dan como resultado los principios descritos anteriormente; son lo que le viene a la mente cuando piensa en la gobernanza de API. Describen todo, desde la estructuración de URI hasta el comportamiento de las operaciones, así como la idempotencia, la autorización y el manejo de errores ... ¡y más!
Otra parte importante del gobierno de la API son las definiciones de objetos . Estas son definiciones de toda la organización para manejar objetos comunes, como fechas, monedas y países. Siempre que sea posible, PayPal se esfuerza por utilizar los estándares ISO y de la industria para definir estos objetos, promoviendo la compatibilidad con API tanto interna como externamente.
Una adición tardía al modelo de gobierno de PayPal fue una política de versiones clara . Esto incluye criterios específicos sobre lo que se necesita para que una API sea compatible con versiones anteriores, así como pautas sobre cómo iterar, como qué romper y qué no romper. También detallaba las políticas de fin de vida, como el período de tiempo entre la depreciación de la funcionalidad y la jubilación.
Puede ver los estándares de diseño, las definiciones de objetos y la política de versiones de PayPal en su Guía de estilo de API disponible públicamente . Hablando de eso, asegúrese de crear su propia guía de estilo como parte de su programa de gobierno, para que los equipos de desarrollo puedan hacer referencia fácilmente a los estándares de diseño durante el desarrollo.
El proceso de cuatro pasos para crear API compatibles con la gobernanza
Tener un marco integral para el gobierno de API es solo la mitad de la batalla; ¡la otra mitad lo está implementando! Aquí es donde el proceso de cuatro pasos de PayPal para la gobernanza de API, según lo detallado por el propio Jayadeba, realmente resulta útil.
En pocas palabras, cada API pasa por cuatro fases: definir , diseñar , desarrollar y externalizar . Cada fase presenta comentarios del equipo central de diseño de API de la organización, lo que garantiza que se sigan de cerca los estándares de gobierno.
1. Definir
El equipo de diseño central revisa esta propuesta, asegurándose de que corresponda a una o más de las capacidades comerciales de la organización (como se estableció anteriormente). Lo que es igualmente importante, el equipo también comprueba si la funcionalidad se superpone con las API existentes.
Si todo cuadra, el equipo envía cualquier comentario y crea un nuevo repositorio para el proyecto. Luego, la API pasa a la siguiente etapa.
2. Diseño
La especificación completa se remonta al equipo de diseño central de PayPal, donde se compara con los estándares de diseño de API del marco de gobierno. Después de abordar cualquier problema, la API entra en desarrollo.
3. Desarrollar
Es importante destacar que no todos los estándares de diseño de PayPal se habrán tenido en cuenta en la especificación. Como resultado, los problemas de diseño no definidos (como cómo se registra el tráfico internamente) se tratan en esta etapa.
Una vez que se realiza el desarrollo, la API pasa por una serie de pruebas funcionales, que garantizan que la implementación sea idéntica al contrato, es decir, la especificación. Después de corregir los errores, las API pasan a la última etapa.
4. Externalizar
Se implementan medidas de seguridad como autorización y limitación de velocidad ; Se crean los SDK y se escribe la documentación para desarrolladores. Todas estas áreas son revisadas por el equipo de diseño central para verificar el cumplimiento, ¡y la API está lista para funcionar!
Una nota sobre la escala
Vale la pena tener en cuenta que el proceso que explica Jayadeba gira en torno a un equipo de diseño de API centralizado. Admite que este equipo central se convirtió rápidamente en un cuello de botella en PayPal, a medida que el programa API escalaba.
La solución fue capacitar a los propietarios de productos para que revisaran el trabajo de su equipo de desarrollo frente a los criterios de gobierno de toda la organización. El equipo de diseño de API central seguía siendo responsable de desarrollar los criterios de gobernanza, pero ya no tenía la tarea de revisar todas y cada una de las API.
Pensamientos finales
La gobernanza de API implica más que crear un conjunto de estándares de diseño. De hecho, una parte importante de cualquier programa de gobierno es un proceso hermético para garantizar que se sigan realmente los estándares de diseño. El proceso de cuatro etapas de PayPal para la creación de API (definir, diseñar, desarrollar y externalizar) se vincula con el programa de gobierno en cada paso, lo que garantiza una cartera coherente y organizada de API de calidad.
0 Comentarios
Dejanos tu comentario para seguir mejorando!