API significa Interfaz de programación de aplicação . A lo largo de los años, ha evolucionado desde una especificación imperativa estrechamente acoplada a un modelo declarativo débilmente acoplado. Las API más comunes hoy en día son RESTful y se utilizan para permitir la integración. Independientemente de la implementación y el modo de invocación, las API tienden a asociarse con el desarrollo de aplicaciones.
Pero otra economía API se ha estado expandiendo constantemente. Está dentro de las operaciones. Y en ese dominio, la "A" de API significa automatización.
Lo que representan las API en el ámbito operativo es la capacidad de automatizar la incorporación, la configuración y la operación de servicios de infraestructura y aplicação . Por lo tanto, las interfaces (las API) necesarias para respaldar las operaciones deben centrarse en simplificar la automatización.
Este enfoque es importante a medida que las organizaciones ingresan por completo a la segunda fase de la transformación digital y comienzan a expandir la automatización a lo largo de los canales de entrega e implementación. Para escalar la automatización se requiere la capacidad de desarrollar procesos consistentes, repetibles y predecibles que incorporen el proceso de implementación de una aplicación.
Un informe de Kentik sobre el estado de la automatización en 2019 indicó que más de la mitad de las organizaciones (53%) ya utilizaban la automatización para la configuración de la red y otro 40% automatizaba la gestión de políticas. Nuestra propia investigación muestra que el porcentaje es mucho más alto: una supermayoría del 86 % que automatiza la red. La misma investigación, State of Aplicação Services 2020, también encontró una consistencia cada vez mayor en el estado de la automatización a lo largo del proceso de implementación.
Las herramientas que utilizan las organizaciones también están cambiando. Si bien Python sigue siendo una de las opciones más populares, estamos viendo la influencia de DevOps y las aplicaciones nativas de la nube en TI. El proceso de implementación está cada vez más impulsado por herramientas como Jenkins y Ansible y activado por repositorios como GitHub y GitLab Enterprise. De cara al futuro, los servicios de infraestructura y de aplicaciones estarán impulsados por información procesable producida por análisis avanzados.
Son los sistemas, no las personas, los que invocarán las API a lo largo del proceso de implementación. Por lo tanto, es imperativo diseñar API operativas específicamente teniendo en mente la automatización. Esto implica varias consideraciones:
En primer lugar, puede ser necesario considerar el sistema desde el cual se podría invocar una API operativa. Los datos disponibles en Jenkins o en un repositorio sin duda serán marcadamente diferentes a los que provienen de las herramientas y servicios de automatización de red tradicionales. Eso podría significar obtener datos de otro lugar o utilizar valores estandarizados cuando sea posible.
En segundo lugar, es fundamental que abordemos la necesidad de que la invocación de API por parte de una "máquina con credenciales" sea independiente de la invocación por parte de un "usuario con credenciales". La mayoría de nuestros sistemas de autenticación actuales asumen un “usuario” que es humano. Las claves API pueden ser una buena opción, pero requerirán cierto aprendizaje del lado operativo de TI para implementar, operar y administrar un sistema diseñado para mantener credenciales exclusivas de máquina. Aun así, esto es fundamental a medida que avanzamos hacia la tercera y última fase de la transformación digital, donde los servicios y operaciones de aplicação asistidas por IA soportarán una parte mayor de las cargas operativas.
Es fantástico que podamos usar herramientas para crear scripts a partir de los cuales se puedan automatizar operaciones hoy en día. Pero es importante reconocer que en el futuro, la A en API se referirá casi exclusivamente a la automatización, al menos en el contexto de las operaciones, debido a cómo afectará las interacciones y la invocación entre máquinas en lugar de personas.