Sé lo que estás pensando, otro ops-algo, qué pereza, ¿verdad? Pero el objetivo del post no solo es explicarte en qué consiste esta disciplina, sino la necesidad real de la misma.

¿Por qué estamos hablando de esto?

Las organizaciones se encuentran inmersas en procesos de transición de aplicaciones heredadas a aplicaciones modernas, pero también en la creación de aplicaciones con este nuevo stack y las APIs forman un pilar en ambos escenarios.

En nuestra experiencia podemos hablar de diferentes tipos de clientes, aquellos que utilizan las APIs como una palanca en el proceso de modernización de aplicaciones y aquellos que ya han comenzado un viaje en la adopción estratégica al mundo API, lo curioso es que ambos casos confluyen en un mismo punto: la teoría se la saben perfectamente, pero se encuentran problemas en la ejecución.

¿A qué nos referimos con esto? A que conocen y tienen interiorizado el mensaje de: las APIs deben ser consumibles, focalizadas en el cliente, bien diseñadas, etc., pero se encuentran que en toda la cadena de producción de APIs hay “quejas”.

Estos pain points difieren dependiendo de a quién se lo preguntes. No hace falta indicar que toda iniciativa de APIficación es un proceso muy coral en el que interviene mucha gente con distintas opiniones, fundamentalmente porque tienen distintos roles.

Api producer

El problema que recalcan los desarrolladores de APIs es que se tarda mucho tiempo en productivizar una API, y esta lentitud se debe a varios factores durante ese proceso:

  • Se tarda mucho en definir una API y si existe un equipo de gobierno que vele por el cumplimiento de buenas prácticas, se tienen muchas iteraciones y revisiones con ellos.
  • El proceso de despliegue entre entornos es complejo y se dilata en el tiempo.
  • Adolecen de problemas a nivel de performance porque la arquitectura definida es muy rígida con N capas, por lo que cumplir con ciertos requisitos y SLAs dificultan la implementación y, por tanto, la entrega.
Api governance

Si le preguntas al equipo de gobierno API, básicamente su problema es que están “muriendo de éxito” tiene una carga de trabajo tan elevada que les convierte en cuellos de botella que penalizan el delivery.

Security team

Y, por último, los grandes olvidados de la foto, los equipos de seguridad, ya que algo que ocurre de forma recurrente es que este equipo no está involucrado lo suficiente, porque no está integrado en el ciclo de vida del desarrollo ni está en el día a día y, si entra, lo hace tras meses de trabajo con auditorias bajo demanda y con un enfoque más documental que procedimental.

Estas conclusiones no son residuales ni una percepción aislada o subjetiva, hecho que se demuestra con las siguientes afirmaciones:

  • Según Gartner: “En 2025, menos del 50% de las API empresariales estarán gestionadas, ya que el crecimiento explosivo de las API supera las capacidades actuales para su gestión”.
  • Según Postman: “El 39% de los desarrolladores dedican casi 20 horas semanales a sus APIs”.

En este escenario el planteamiento es claro, se necesita hacer más con los mínimos recursos posibles, y la respuesta a ese desafío es la automatización.

La automatización a nivel de API brinda a los desarrolladores todas las herramientas para crear, probar e implementar APIs de una forma eficiente. Es importante recalcar que no es solo a nivel de testing, sino que su objetivo es abarcar el ciclo de vida completo y es la fórmula perfecta para equilibrar la velocidad de entrega y la consistencia.

El hecho de adoptar prácticas de automatización con este enfoque permite a los desarrolladores afrontar los desafíos tanto de la modernización de aplicaciones como de una estrategia API corporativa con mayores garantías.

De la teoría a la práctica, APIOps

La forma de llevar a cabo esta automatización es aplicando APIOps, una disciplina que busca mejorar la eficiencia y productividad del equipo de gobierno y de los desarrolladores que generan APIs a través de la automatización de procesos dentro del ciclo de vida.

Este modelo automatizado permite:

  • Garantizar un mínimo de cumplimiento de las buenas prácticas.
  • Aumenta la consistencia, resiliencia y seguridad por parte de los equipos de forma autónoma.

Se basa en extender GitOps de forma específica al mundo API, es decir, llevándolas a un primer plano, utilizando su especificación (OAS o AsyncAPI) como fuente de la verdad en nuestro repositorio y haciendo uso de herramientas de diferente propósito sobre dicho contrato en distintos puntos del ciclo de vida a través de pipelines de CI/CD.

Es decir, da respuesta a varios de los problemas inicialmente planteados por los equipos:

  • Mejorar la experiencia del desarrollador en lo referente al outer loop.
  • Descargar tareas al equipo de gobierno para mitigar los cuellos de botella.
  • Incorporar mecanismos de pruebas y verificación de seguridad desde el inicio del des

¿Qué funcionalidades se incluyen en la automatización?

Algunas de las funcionalidades que podemos automatizar en nuestro pipeline son, en el ámbito del desarrollo:

  • En la etapa de diseño: validadores de los estándares o buenas prácticas definidas por el equipo de gobierno, verificación de las políticas de seguridad y comprobación de los cambios entre versiones de la misma API. De esta forma, en una etapa muy temprana se pueden detectar errores y minimizar los cambios.
  • En la etapa de implementación: generadores de código para obtener el scaffolding del servicio backend o del cliente, generadores de mocks, lo cual mejora la productividad notablemente.
  • En la etapa de testing: disponer de pruebas automatizadas es uno de los grandes beneficios, ya que las pruebas manuales requieren mucho tiempo, son propensas a error y difíciles de replicar de manera consistente. Se pueden automatizar y utilizar en diferentes puntos del ciclo de vida:
    • Pruebas de validación que envían solicitudes a las APIs, verifican las respuestas y las comparan con los resultados esperados.
    • Pruebas de aceptación al plantear varios escenarios y comprobar el comportamiento.
    • Pruebas de carga bajo diferentes condiciones.
    • Y, por supuesto, pentesting específico para OWASP Top 10.
  • Sin olvidar, desplegar y publicar las APIs. Desplegar en los diferentes entornos y publicar en los portales de desarrollo correspondientes aplicando controles automatizados en cada paso: pentesting, pruebas de validación, etc.

En el ámbito de la operación, en especial, en la etapa de observabilidad con dos objetivos:

  • Obtener una visibilidad de extremo a extremo entre servicios
  • Analizar y descubrir patrones de uso y puntos críticos de rendimiento
  • Incluso aplicar mecanismos para descubrir APIs fuera del scope inicial (Shadow o Zombie API).

Ventajas

La automatización de API a través de APIOops nos aporta:

  • Mayor coherencia, control y visibilidad durante todo el ciclo de vida.
  • Aumentar la productividad de los equipos, la automatización actúa como un multiplicador, permitiendo a los equipos focalizar sus esfuerzos y centrarse en aportar valor.
  • Mejora la experiencia de los desarrolladores alejándose de las tareas “mundanas” como cumplimiento de políticas y procesos de despliegue costosos.
  • Acelerador del proceso de producción de APIs:
    • Automatizando pruebas funcionales y simulando escenarios para obtener feedback temprano, minimizando los errores y el retrabajo.
    • Minimizar iteraciones y dependencias entre los equipos, simplificando tanto el proceso de onboarding de nuevos desarrolladores como la entrega iterativa por parte de los equipos.
  • Seguimiento de cambios críticos en API y en las políticas que se configuran e incluyen en ellas.

Conclusiones

APIOps surge como respuesta para mitigar los grandes desafíos que se encuentran las compañías en el ámbito de la APIficación como son:

  • El crecimiento continuado en el número de APIs, especialmente tras la división de monolitos en microservicios, que produce una explosion en el número de APIs pasando de de decenas a cientos o miles.
  • Tener expertise específico en el ámbito API, no es posible que todos los desarrolladores dominen las mejores prácticas API ni cumplan los estándares, es necesario garantizar dicho cumplimiento a nivel de confiabilidad, coherencia y seguridad de base.
  • La mejora de la productividad, lo cual tiene un impacto directo en los costes, tiempos de entrega y la capacidad de los equipos.
  • Evitar gestiones y soluciones ad hoc que generan deudas técnicas y riesgos a largo plazo.

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.