¿Cuál es la forma más habitual de diseñar las APIs?
Cuando una empresa crea un nuevo servicio, se generan muchos datos como resultado del negocio generado a partir de este servicio. Un día, alguien se da cuenta de que este servicio, junto con los datos generados, puede ser expuesto de diferentes maneras, abriendo las puertas a otros modelos de negocios basados en ecosistemas digitales. Y así es como, hasta ahora, han nacido las mayorías de las API: primero el servicio y luego las API.
Dado que es posible crear un modelo de monetización sobre ellos que permite a la empresa generar ingresos y cubrir la inversión realizada para lanzar el servicio, estos se segmentan en diferentes API y recursos. Aunque esta es una estrategia de creación de API es válida, no es la única.
Pensemos en un escenario en el que una empresa tiene la intención de lanzar un nuevo servicio y prevé el potencial de abrirlo a los socios o incluso que sea posible sustituir los procesos internos tradicionales y comienza con la definición de la interfaz de ese servicio antes de comenzar a implementar el servicio en sí. ¡Zas! Ya ha nacido una API. Esto es lo que se conoce como API First: primero la API y después el servicio. Siguiendo este enfoque, cada vez que se lance un nuevo servicio, lo hará también una nueva API, que permitirá la integración con socios, desarrolladores de Apps y, en definitiva, todo el ecosistema digital. Para los interesados en conocer el nuevo servicio, la comprensión de cómo integrarlo y validar su concepto se producirá junto con la comprensión del propio servicio, ya que ambos se ponen a disposición simultáneamente.
API First: los orígenes
En un mundo en el que la información es accesible a través de servicios a tantos tipos diferentes de hardware y software, resulta esencial aprender a aprovechar mejor las oportunidades y llegar a nuevos mercados empleando para ellos el canal de comunicación que mejor se adapte a cada caso concreto. A esto se le llama omnicanalidad.
Netflix es un ejemplo clásico. Empezó como una empresa que ofrecía servicios de alquiler de vídeos a través de Internet y pronto se convirtió en el principal proveedor de entretenimiento del mundo. Netflix pone a disposición de sus clientes películas y series en todo el mundo. Eso sólo ha sido posible gracias a que han hecho posible la entrega de contenidos en la mayoría de los dispositivos disponibles. Como ellos mismos dicen: «Habrá Netflix en cualquier dispositivo que tenga una pantalla».
Esto sería imposible sin las API. En otras palabras, cuando las APIs son la base de la estrategia de la empresa, el negocio viene a continuación trastocando el modelo tradicional. El orden en que se producen las cosas es muy importante: primero la API y luego el éxito.
La popularización de las APIs ha permitido la creación de nuevos modelos de negocio, totalmente basados en las APIs, por lo que la API se ha convertido en el negocio. Esta es una de las formas más interesantes de monetizar una API, ya que las empresas que operan de esta manera son, esencialmente, proveedores de SaaS (Software as a Service). Dependiendo de la oferta de API, una empresa puede convertirse rápidamente en una PaaS (Plataforma como Servicio). Y cuando se produce este movimiento, una vez que los clientes consumen las APIs expuestas, comienzan las ganancias y pueden mostrar rápidamente resultados significativos.
No es difícil encontrar empresas que ofrecen, como su principal (a veces único) producto, una API.
Entonces, ¿se debe considerar siempre el API First?
API First parece la bala de plata y debería implementarse siempre. Contar con APIs diseñadas desde la concepción de un producto, alineadas con los objetivos de negocio, es de hecho una ventaja para los mercados que cambian rápidamente, los mercados minoristas o cualquier otro que dependa en gran medida de las integraciones. Estos toman la innovación como una oportunidad para hacer crecer los negocios.
Sin embargo, API First puede no aplicarse a escenarios en los que las APIs no están ampliamente exploradas, o no hay suficiente conocimiento sobre dicha tecnología o se desconoce el comportamiento del consumo de servicios.
El diseño de una API implica la comprensión previa, no sólo de la tecnología subyacente, sino también los análisis sobre cómo se utilizará la API y a qué público se dirigirá. Y, quizás más importante, comprender las estrategias de transformación digital, ya que las APIs desencadenan la digitalización de los procesos de negocio.
Lanzar una API sin validar las hipótesis anteriores y comprender los conceptos necesarios, puede llevar la iniciativa de API al fracaso. Por lo tanto, es clave tener en cuenta estos aspectos mientras se trabaja en una hoja de ruta/estrategia de API.
Alejarse de los sistemas legacy
Otra consideración muy importante a tener en cuenta es que API First aprovecha la escalabilidad y la innovación. Por lo tanto, los servicios subyacentes que permiten la API First deben diseñarse de forma independiente, preparados para permitir la integración de todo tipo. Esto va en contra del diseño estándar de las aplicaciones monolíticas, donde se construyen grandes aplicaciones que abarcan muchas funcionalidades y con muy poca (o ninguna) capacidad de integración y escalabilidad.
Más concretamente, al diseñar una arquitectura que aprovecha los microservicios en el backend y las API para la integración, tanto los desarrolladores como los socios (internos o externos) tienen la capacidad de crear aplicaciones que pueden ser entregadas a producción más rápidamente y con un alto nivel de fiabilidad.
Conclusiones
Dicho lo anterior, el cambio a API First permite que cualquier sistema sea más flexible, receptivo y dinámico, permitiendo una rápida reacción a los cambios no planificados. Por lo tanto, la escalabilidad es fundamental en este enfoque.
Durante la concepción de un nuevo servicio, el diseño de una API es de suma importancia, ya que debe estar bien documentada, ser fácil de usar, estar supervisada, ser segura y estar preparada para escalar. Las soluciones de API Management, convertidas hoy en plataformas de integración, ofrecen estas funcionalidades como parte de sus capacidades principales.
Las empresas deben tener la libertad y la responsabilidad de planificar su propia estrategia, teniendo en cuenta aspectos como la escalabilidad y las lecciones aprendidas de sus diferentes productos y servicios lanzados. E independientemente de la estrategia elegida, las APIs siempre desempeñarán un papel importante para su empresa.