Publicado: 29 de noviembre de 2023
Colaboradores: Chrystal R. China, Michael Goodwin
El monitoreo de API es el proceso de observar el rendimiento, la disponibilidad y la funcionalidad de las interfaces de programación de aplicaciones (API) empresariales.
Más específicamente, el monitoreo de API implica evaluar las respuestas de la API en producción para garantizar que cumplan con los puntos de referencia de rendimiento de una organización y alertar a las partes apropiadas cuando la situación empeora. Con las empresas que avanzan cada vez más hacia infraestructuras de TI digitalizadas, la conectividad sin fricciones entre partes y sistemas es primordial. Aquí es donde las API entran en escena.
Las API sirven como los componentes básicos de la mayoría de las aplicaciones móviles y web, y el centro de orquestación de datos para los diversos procesos, protocolos y aplicaciones que componen la mayoría de los ecosistemas de TI. Facilitan la comunicación entre aplicaciones y clientes, lo que permite una integración perfecta de varios servicios.
Más del 75 % de las empresas informan tener 26 API (en promedio) por aplicación desplegada.1 Y más de un tercio informa que todas sus aplicaciones utilizan API, una cifra que se espera crezca a más del 50 % en los próximos años.1
Como tal, el rendimiento de las API es una preocupación real para la mayoría de las empresas. Si no se administran correctamente, las API comprometidas o obsoletas pueden afectar significativamente la experiencia del usuario final y la funcionalidad general de las aplicaciones, así como los resultados finales del negocio. Las prácticas de monitoreo atentas de API pueden ayudar a las empresas a abordar rápidamente los problemas de rendimiento y funcionalidad de la API antes de que se vuelvan disruptivas (o incluso catastróficas).
Obtenga una demostración de IBM Instana Observability para ver cómo puede lograr observabilidad y monitoreo del lote completo en minutos.
Suscríbase al boletín de IBM
Las API de hoy pueden facilitar procesos complejos de integración de sistemas, aplicaciones y microservicios, pero incluso las API más avanzadas requerirán que los equipos implementen prácticas rigurosas de monitoreo. Afortunadamente, existen numerosas estrategias de monitoreo de API que pueden ayudar a garantizar la eficiencia y eficacia a largo plazo de las API empresariales.
El monitoreo del tiempo de actividad hace ping a un endpoint de API (es decir, el lugar de los intercambios de datos de API) a intervalos regulares para garantizar que sea accesible y receptivo (es decir, "activo"). Si la API no responde o tarda demasiado en responder, el sistema envía una alerta.
Las métricas de API para el monitoreo del tiempo de actividad incluyen el porcentaje de disponibilidad (la proporción de tiempo a la que se puede acceder a una API) y la duración del tiempo de inactividad (la duración de una API es inaccesible). No es poco común que los acuerdos de nivel de servicio (SLA) especifiquen los porcentajes de tiempo de actividad requeridos, a menudo exigiendo alrededor del 99.9 por ciento ("tres nueves") de tiempo de actividad o más.
El monitoreo del rendimiento cuantifica la rapidez y confiabilidad con la que una API responde a las solicitudes y ayuda a identificar ineficiencias, problemas de red y sobrecargas de servidores. Por lo general, el rendimiento se mide por métricas como el tiempo de respuesta (cuánto tarda una API en procesar y responder a solicitudes/llamadas), la latencia (el tiempo que lleva transmitir una solicitud del remitente al destinatario) y el rendimiento (la cantidad de solicitudes procesadas por unidad). El monitoreo del rendimiento también puede realizar un seguimiento de las tasas de error, que indican el porcentaje de solicitudes que conducen a errores.
El monitoreo sintético es un proceso que imita la ruta que un usuario final puede tomar al usar una aplicación. Utiliza scripts para simular escenarios de usuario, tipos de dispositivos y ubicación geográfica, entre otros elementos, para decirles a los equipos qué tan bien funciona una aplicación.
Al igual que el monitoreo sintético, RUM permite a los equipos ver el rendimiento detallado de la aplicación y los datos de funcionalidad. Sin embargo, en lugar de supervisar las experiencias de los usuarios simulados, observa las experiencias reales de los usuarios reales, proporcionando observabilidad de el paquete completo para la experiencia del usuario final y facilitando una toma de decisiones más precisa.
El monitoreo de validación evalúa si una API se comporta según lo esperado enviando scripts de prueba para verificar las respuestas correctas de la API, los formatos de datos y los códigos de estado, y esas llamadas del sistema devuelven los datos correspondientes. El monitoreo de validación es particularmente útil para identificar problemas con procesos de varios pasos o la lógica subyacente o el procesamiento de datos de una API.
Aproximadamente, el 35 % de las empresas han tenido al menos un incidente de seguridad de API en el último año y más de la mitad enfrenta múltiples incidentes.1 Dado que las API exponen datos al mundo exterior, se encuentran entre los objetivos más probables de los ciberataques.
El monitoreo de la seguridad se centra en proteger las API contra ataques de actores maliciosos mediante la implementación de prácticas como el seguimiento de intentos de inicio de sesión fallidos, el análisis de anomalías en los patrones de llamadas de API y la comprobación de filtraciones de datos. El monitoreo de seguridad a menudo implica el uso de protocolos de cifrado, validación y autenticación (por ejemplo, OAuth 2.0, claves API, validación de esquema JSON, etc.) para asegurarse de que solo los usuarios autorizados puedan acceder a los datos de API. Estos sistemas también garantizan una transmisión segura de datos entre los sistemas frontend y backend, lo que protege contra amenazas cibernéticas, como hackeos, robos de datos y ataques DDoS.
Las aplicaciones como Slack y otras aplicaciones y servicios web suelen depender de API administradas y de terceros, lo que puede crear problemas de transmisión de datos. El monitoreo de la integración aborda estos problemas probando las interacciones entre una API y las otras aplicaciones y sistemas con los que se comunica, asegurando que todas las partes de un sistema funcionen juntas según lo esperado e identificando problemas en las interfaces entre sistemas. Este tipo de monitoreo es especialmente útil para trabajar dentro de una arquitectura de microservicios, donde varios servicios independientes interactúan a través de API.
Las API, especialmente aquellas que operan en industrias médicas y financieras, a menudo transmiten datos confidenciales de usuarios y empresas, lo que aumenta la necesidad de procesos de monitoreo de cumplimiento.
El monitoreo del cumplimiento garantiza que una API se adhiera a estándares de privacidad relevantes (como HIPAA), estándares específicos de la industria (como PCI DSS para el procesamiento de pagos) e incluso estándares internos de la empresa. Los equipos pueden realizar un seguimiento de las prácticas de manejo de datos, los estándares de cifrado y los mecanismos de control de acceso, entre otros procesos para mantener el cumplimiento legal y la confianza del cliente.
Las API evolucionan con el tiempo, agregando nuevas características, retirando las antiguas y cambiando la operación de ciertas funciones. Cuando ocurren estos cambios, es importante monitorear la transición para que las aplicaciones que dependen de la API no se vean afectadas negativamente por las actualizaciones. El monitoreo de versiones permite a los equipos realizar un seguimiento de los cambios de API a lo largo del tiempo, generalmente revisando cada lanzamiento de nueva versión.
El monitoreo de versiones puede implicar comparar la funcionalidad entre versiones, realizar un seguimiento de las tasas de adopción de una nueva versión de API, monitorear las tasas de error relacionadas con las características retiradas y rastrear el uso de API en todas las versiones de una aplicación. Este tipo de monitoreo es útil para identificar problemas que surgen durante los cambios de estructura o funcionalidad de la API y puede fundamentar cambios futuros en la API.
Independientemente del enfoque, los equipos deben priorizar el monitoreo en tiempo real para obtener retroalimentación instantánea sobre el rendimiento de las aplicaciones y resolver problemas antes de crear interrupciones en el servicio para usuarios y socios. Como ventaja adicional, el monitoreo en tiempo real a menudo se visualiza a través de paneles de control y páginas de estado que pueden proporcionar insights inmediatos y automatizar alertas del sistema, procesos cruciales para gestionar flujos de trabajo críticos o de alta disponibilidad.
Las API son el vínculo que reúne las arquitecturas de aplicaciones modernas y los flujos de trabajo de automatización, por lo que mantenerlas en primer plano puede hacer que una infraestructura de TI sea más rápida y ágil. Para implementar un proceso de monitoreo de API eficaz e integral, los equipos de DevOps y seguridad pueden:
Antes de establecer cualquier protocolo de monitoreo, los equipos deben establecer objetivos claros. Eso significa definir KPI para aspectos, como la disponibilidad, el tiempo de respuesta, el rendimiento y las tasas de error. Naturalmente, los KPI deben alinearse con los objetivos más amplios de la organización y las necesidades de los consumidores.
Dada la inmensidad de algunas redes API, confiar en las herramientas de monitoreo de API es evidente. Las plataformas avanzadas de observabilidad de datos de API (como Postman, Datadog e IBM® Instana Observability) pueden automatizar y optimizar el proceso de monitoreo, utilizando funciones como las verificaciones de palabras clave HTTP y el monitoreo del servidor DNS. Al evaluar los servicios de monitoreo, considere sus características, facilidad de uso, compatibilidad de pila tecnológica y costo para garantizar que sea idóneo.
Este proceso variará en función de las herramientas de monitoreo, pero en general implica tres tareas clave: configurar los endpoints, definir las pruebas de la API y programar el monitoreo.
La configuración de los endpoints requiere que los equipos proporcionen la URL del endpoint de la API, el código de respuesta HTTP y cualquier encabezado o parámetro necesario para que la herramienta de monitoreo sepa dónde y cómo ejecutar los scripts de prueba. Como sugiere la frase, definir las pruebas es el proceso de configurar las pruebas que ejecutarán las herramientas de supervisión para validar el rendimiento de la API. Para establecer un calendario de monitoreo, basta con que el equipo decida la frecuencia con la que la herramienta ejecutará las pruebas elegidas.
Las alertas son una parte fundamental de cualquier sistema de supervisión, ya que proporcionan notificaciones instantáneas de los problemas del sistema y permiten a los equipos abordar los problemas antes de que afecten a los usuarios. La mayoría de las herramientas de monitoreo permiten a los usuarios configurar alertas basadas en diversas condiciones, como cuando el tiempo de respuesta de la API supera un determinado umbral o cuando se produce un determinado número de errores en un plazo de tiempo determinado.
Las API evolucionan, por lo que es importante revisar periódicamente los datos y la información sobre el rendimiento de las API para asegurarse de que los protocolos de monitoreo sigan siendo relevantes. Busque tendencias y patrones en datos históricos que puedan indicar problemas subyacentes. Por ejemplo, si el tiempo de respuesta de una API es constantemente alto durante ciertas horas, podría indicar la necesidad de más recursos durante esos momentos.
IBM Instana democratiza la observabilidad al proporcionar una solución que cualquiera puede utilizar para obtener los datos que quiere con el contexto que necesita. Diseñada especialmente para la nube nativa pero independiente de la tecnología, la plataforma proporciona datos de alta fidelidad (1 segundo granularidad y rastreo de extremo a extremo) de manera automática y continua con el contexto de dependencias lógicas y físicas en dispositivos móviles, aplicaciones e infraestructura.
La supervisión de API con IBM Instana Observability le permite garantizar la disponibilidad, la confiabilidad y el rendimiento de sus API para una experiencia digital fluida.
IBM fue nombrada líder en el informe Gartner 2023: capacidades críticas de API Management.
Las API REST proporcionan una manera flexible y ligera de integrar aplicaciones. Han surgido como el método más común para conectar componentes en arquitecturas de microservicios.
La modernización de aplicaciones se refiere principalmente a la transformación de aplicaciones heredadas monolíticas en aplicaciones en la nube basadas en la arquitectura de microservicios.