En términos generales, una API (interfaz de programación de aplicaciones) es un módulo de código que realiza una tarea específica y define un conjunto de protocolos que otros pueden utilizar para realizar esa tarea. Sin embargo, en el mundo actual, las API se han convertido en algo más que meras herramientas: ahora existe una economía enorme y creciente para el código que se puede colocar fácilmente en una aplicación para realizar una tarea discreta. Una estrategia eficaz de gestión de API mejora la experiencia del desarrollador, eleva la calidad del software, reduce los gastos de desarrollo, permite la escalabilidad del sistema y fortalece las medidas de seguridad.
Si su organización administra una API y está considerando ponerla a disposición del público, ya sea como estrategia de monetización o de reconocimiento de marca, es vital asegurarse de que la API esté bien administrada. Los usuarios fuera de su organización esperan una buena experiencia y usted debe estar preparado para brindar esa experiencia a través de su API.
Aquí es donde entra en juego una sólida estrategia de gestión de API . Hay tres componentes principales para elaborar un plan estratégico de gestión de API eficaz: identificar las áreas de gestión de API eficaz, decidir si necesita una herramienta de gestión de API y qué tipo de herramienta debe utilizar, y seleccionar esa herramienta.
La gestión eficaz de API implica supervisar todos los aspectos de la API que utilizarán su empresa o los usuarios externos. Esto incluye rendimiento, seguridad, autorización, documentación, análisis y accesibilidad.
Puerta de enlace/Acceso Una puerta de enlace API es la capa entre el público y sus servicios backend. Aquí es donde las solicitudes entrantes serán interceptadas y enrutadas a las partes correctas de su API. Debe utilizar almacenamiento en caché, limitación y aceleración de velocidad, y agrupación de respuestas para garantizar la velocidad y la coherencia para sus usuarios.
Objetivos de rendimiento La disponibilidad, la velocidad y la confiabilidad son aspectos cruciales de cualquier API pública. Debe poder garantizar una cierta cantidad de tiempo de actividad para sus usuarios y poder proteger y recuperar los datos de los usuarios en caso de una falla o tiempo de inactividad. Identifique los objetivos de su API.
Seguridad/Tipos de autorización La seguridad es importante no sólo para proteger su servidor sino también para proteger los datos confidenciales del cliente. Su estrategia API debe incluir una estrategia protegida por una clave API, un certificado de cliente o OAuth. Incluso si su API proporciona datos que no son privados, las solicitudes de red que maneja deben estar protegidas.
Autenticación/Administración de políticas Después de la autorización, la autenticación y la administración de políticas son importantes para establecer roles de usuario y acceso de equipo y administrar identidades y privilegios. Esto mejora la seguridad al limitar los recursos disponibles para cada usuario y mejora la organización de sus usuarios.
Portal de desarrollador/Documentación Un portal de desarrollador intuitivo y una buena documentación también son cruciales para una buena gestión de API. Su portal de desarrollador debe incluir una zona de pruebas donde los desarrolladores puedan probar sus puntos finales, un catálogo de API que describa todas las API disponibles dentro de su organización y documentación clara y con capacidad de búsqueda con guías para comenzar y realizar tareas comunes.
Análisis Sus análisis le brindarán información valiosa sobre cómo las personas usan su API, lo que le permitirá concentrar recursos en aquellas áreas que serán más rentables. Además, los análisis suelen ser útiles para los usuarios.
Las soluciones de administración de API pueden manejar una o más de estas tareas por usted. Las soluciones se proporcionan a través de representantes, agentes o enfoques híbridos.
Proxies Una solución de proxy se encuentra entre la API y sus usuarios. Los servidores proxy ofrecen beneficios como el almacenamiento en caché para optimizar el rendimiento y proteger la API de aumentos repentinos de tráfico. Sin embargo, un proxy podría generar costos y preocupaciones relacionadas con la privacidad y la latencia. Ejemplos de tales implementaciones de proxy incluyen Apigee, Mashape y Mashery.
Agentes Los agentes son complementos que funcionan perfectamente junto con su servidor. A diferencia de los proxies, no interfieren con las llamadas API. En consecuencia, no introducen retrasos en la red ni dependencias externas. Sin embargo, implementar funciones como el almacenamiento en caché puede resultar un desafío. Un ejemplo de este tipo de implementación es 3scale.
Híbrido Para obtener el beneficio de ambas implementaciones, puede utilizar un agente y un proxy en combinación. Por ejemplo, puede optar por un proxy para manejar el almacenamiento en caché mientras utiliza un agente con fines de autenticación. Empresas como Apigee y 3scale están haciendo la transición hacia soluciones híbridas.
Algunas de las principales herramientas de administración de API incluyen las siguientes:
Determinar qué solución es la adecuada para usted requerirá una evaluación de su presupuesto, los recursos existentes (es decir, las personas que tiene disponibles internamente para trabajar en esto), sus necesidades y la escala prevista de su API.
¿Puedo administrar mis API internamente o debo contratar ayuda externa?
Eso es totalmente de usted. Si tiene una organización lo suficientemente grande como para dedicar un equipo a la gestión de API, es posible que pueda hacerlo usted mismo. Pero la gestión de API es una tarea compleja y especializada y no debe simplemente delegarse en ingenieros que ya están sobrecargados de trabajo en otras áreas de su empresa.