Header Ads Widget

Ticker

6/recent/ticker-posts

Cómo la IA puede ayudar a escalar los ecosistemas de API

 


El ecosistema de API se enfrenta a un grave problema de escalabilidad. Si bien las responsabilidades actuales asociadas con el diseño, la codificación y el mantenimiento de las API siguen siendo muy manejables, es probable que veamos un gran aumento en la cantidad de API, públicas y privadas, en los próximos años. Lo peor de todo es que casi todas estas tareas las realizan humanos y parecen demasiado complejas para automatizarlas. Orlando Kalossakas, cofundador de LF.gg , cree que la inteligencia artificial (IA) podría ser la respuesta a este problema.

Este artículo está basado en Orlando Kalossakas en la Cumbre API de Austin 2019 :

API de hoy

Las API han recorrido un largo camino desde sus raíces SOAP hace más de 20 años. Hoy en día, los estilos arquitectónicos como REST y los formatos de especificación como OpenAPI facilitan más que nunca la creación, el mantenimiento y el uso de API.

Sin embargo, las API están diseñadas para la usabilidad humana . Aunque las máquinas son en última instancia las que ejecutan código y envían o reciben respuestas, depende de los humanos proporcionar las instrucciones necesarias para que lo hagan. Como tal, no es de extrañar que los propietarios de API dediquen tanto tiempo a hacer que sus API sean intuitivas, a crear guías y tutoriales y a mejorar la Experiencia del desarrollador (DX) de otras formas similares.

Pero, ¿y si las máquinas pudieran hacer más trabajo por nosotros? Orlando dice que esto es lo que hace que la especificación de OpenAPI sea un "ganador": el hecho de que puede ayudarnos en el diseño, la seguridad y la implementación mientras automatiza la creación de documentación , bibliotecas , servidores simulados y SDK gracias a su naturaleza legible por máquina.

Leer más: 5  beneficios de adoptar OpenAPI

Los desafios

Aunque OpenAPI y otras especificaciones ya ofrecen considerables beneficios de automatización, tenemos un largo camino por recorrer. Los seres humanos siguen siendo el centro de atención durante una gran parte del proceso de desarrollo de la API y seguimos invirtiendo mucho en las actividades de la experiencia del desarrollador.

Un problema con el enfoque actual para la generación automatizada de recursos de API es que simplemente no lo corta a veces. Orlando recuerda una cita del desarrollador de Microsoft Darrel Miller : "La generación de código puede hacer que la construcción de código sea realmente fácil, pero también puede hacer que sea realmente fácil construir código con una arquitectura deficiente".

Un desafío mayor y más significativo radica en el hecho de que todavía dependemos en gran medida de los humanos para el desarrollo y uso de API. Si bien esto aún es manejable en un ecosistema de 20 a 30 mil API públicas, ¿qué sucederá cuando este número se amplíe a 500 mil o más? "¿Todos se convertirán en trabajadores de API?" Orlando pregunta.

Lo más probable es que no, pero tal vez la inteligencia artificial pueda ayudarnos a abordar estos desafíos en el futuro ...

¿Cómo puede la IA mejorar el ecosistema de API?

En teoría, hay bastantes verticales en el espacio API donde la IA podría resultar útil. En particular, Orlando destaca cuatro espacios:

  • Diseño
  • Implementación
  • Informes y seguridad
  • Experiencia de desarrollador

Por ejemplo, en el diseño vertical, Orlando ve el potencial de alimentar un algoritmo de aprendizaje automático con miles y miles de documentos de especificaciones. Con el tiempo, un algoritmo como este podría generar su propia especificación basada en un comando dado. La tecnología de IA probablemente resultará útil para replicar una gran variedad de tareas sencillas basadas en humanos que aparecen en el proceso de diseño.

Además, Orlando cree que la inteligencia artificial podría abordar problemas como el descubrimiento de API (dentro de las aplicaciones), la identificación de casos de uso e incluso la generación de código.

En términos de experiencia de desarrollador , Orlando señala la posibilidad de chatbots impulsados ​​por IA Si bien muchos de nosotros odiamos los primitivos chatbots disponibles hoy en día, esto se debe en gran parte al hecho de que simplemente no pueden entender nuestros problemas. Sin embargo, con algoritmos de toma de decisiones basados ​​en inteligencia artificial más avanzados, los chatbots podrían realmente ayudar a resolver problemas relacionados con la incorporación o la experiencia del desarrollador.

Relacionado: ¿Cómo podría la inteligencia artificial mejorar el diseño de API?

El status quo de la IA y las API

Orlando dice que hemos dado los primeros pasos para adoptar la IA en el mundo de las API con esfuerzos de estandarización de datos como Hydra y Supermodel . Con esto, nos estamos moviendo lentamente hacia infraestructuras de datos que son cada vez más legibles por máquinas, que es el primer paso en la introducción de la IA.

Además, hay varios proyectos que esperan mejorar la codificación de API con IA. Estos incluyen Bayou de Rice University , que utiliza una red neuronal para evaluar su código Java y optimizarlo con las mejores prácticas. Algo similar es Kite.com , que ofrece finalización de código Python "con esteroides" con la ayuda de IA.

Otro servicio del que Orlando toma nota es PullRequest , un mercado para revisar código. Si bien aún no utiliza IA, las grandes cantidades de datos de optimización de código que pueden recopilar podrían algún día reutilizarse para este fin.

Pensamientos finales

Con todo, todavía estamos muy lejos de "Alexa, construye una API". Sin embargo, existen casos de uso definidos para la Inteligencia Artificial dentro del ecosistema API, especialmente en áreas como diseño, codificación, seguridad y DX. Orlando cree que estas soluciones basadas en inteligencia artificial serán cada vez más importantes a medida que creamos miles y miles de nuevas API y continuamos llevando las herramientas de automatización existentes al límite.



Publicar un comentario

0 Comentarios