Inicio
Topics
Supervisión de API
Publicado: 29 de noviembre de 2023
Colaboradores: Chrystal R. China, Michael Goodwin
La monitorización 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 concretamente, la monitorización de las API consiste en evaluar las respuestas de las API en producción para garantizar que cumplen los parámetros de rendimiento de una organización, y alertar a las partes pertinentes cuando algo sale mal. Dado que las empresas avanzan cada vez más hacia infraestructuras de TI digitalizadas, la conectividad fluida entre las partes y los sistemas es fundamental. Aquí es donde las API entran en escena.
Las API sirven como bloques de construcción de la mayoría de las aplicaciones móviles y web, y son el centro de orquestación de datos para los diversos procesos, protocolos y aplicaciones que comprenden la mayoría de los ecosistemas de TI. Facilitan la comunicación entre aplicaciones, y entre aplicaciones y clientes, lo que permite una integración perfecta de varios servicios.
Más del 75 % de las empresas afirma tener 26 API (en promedio) implementadas por aplicación.1 Y más de un tercio asegura que todas sus aplicaciones utilizan API, una cifra que se espera que crezca hasta más del 50 % en los próximos años.1
Por ello, el rendimiento de la API es una preocupación real para la mayoría de las empresas. Si no se gestionan correctamente, las API comprometidas u obsoletas pueden afectar significativamente a la experiencia del usuario final y a la funcionalidad general de las aplicaciones, así como a los resultados empresariales. Unas prácticas vigilantes de monitorización de las API pueden ayudar a las empresas a abordar con prontitud los problemas de rendimiento y funcionalidad de las API antes de que tengan efectos disruptivos (o incluso catastróficos).
Obtenga una demostración de IBM Instana Observability para ver cómo puede lograr una observabilidad y supervisión de pila completa en minutos.
Las API actuales 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 de monitorización rigurosas. Afortunadamente, existen numerosas estrategias de monitorización de API que pueden ayudar a garantizar la eficiencia y eficacia a largo plazo de las API empresariales.
La monitorización del tiempo de actividad realiza pings en un endpoint de la API (es decir, el lugar de intercambio de datos de la API) a intervalos regulares para asegurarse de que es accesible y responde (es decir, que está "activo"). Si la API no responde o tarda demasiado en responder, el sistema envía una alerta.
Las métricas de API para la monitorización del tiempo de actividad incluyen el porcentaje de disponibilidad (la proporción de tiempo que una API está accesible) y la duración del tiempo de inactividad (el período de tiempo que una API está inaccesible). No es raro que los acuerdos de nivel de servicio (SLA) especifiquen porcentajes de tiempo de actividad requeridos, y a menudo exigen alrededor del 99,9 por ciento ("tres nueves") de tiempo de actividad o más.
La monitorización del rendimiento cuantifica la rapidez y fiabilidad con que una API responde a las solicitudes, y ayuda a identificar ineficiencias, problemas de red y sobrecargas del servidor. Por lo general, el rendimiento se mide con métricas como el tiempo de respuesta (cuánto tiempo tarda una API en procesar y responder a solicitudes/llamadas), la latencia (el tiempo que se tarda en transmitir una solicitud del remitente al destinatario) y el volumen (el número de solicitudes procesadas por unidad de tiempo). La monitorización del rendimiento también puede rastrear las tasas de error, que indican el porcentaje de solicitudes que generan errores.
La monitorización sintética es un proceso que imita la ruta que puede tomar un usuario final al utilizar una aplicación. Usa scripts para simular escenarios de usuario, tipos de dispositivos y ubicación geográfica, entre otros elementos, para indicar a los equipos el rendimiento de una aplicación.
Al igual que la monitorización sintética, RUM permite a los equipos ver datos detallados sobre el rendimiento y la funcionalidad de las aplicaciones. Sin embargo, en lugar de monitorizar las experiencias de los usuarios simulados, observa las experiencias reales de los usuarios reales, lo que proporciona Full Stack Observability para la experiencia del usuario final y facilita una toma de decisiones más precisa.
La monitorización de la validación evalúa si una API se comporta como se esperaba enviando scripts de prueba para verificar respuestas correctas de la API, formatos de datos y códigos de estado, y si las llamadas del sistema devuelven los datos apropiados. La monitorización de la 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 ha tenido al menos un incidente de seguridad de API en el último año, y más de la mitad reporta haber enfrentado múltiples incidentes.1 Debido a que las API exponen datos al mundo exterior, se encuentran entre los objetivos más probables de los ciberataques.
La monitorización de la seguridad se centra en proteger las API contra ataques maliciosos de actores malintencionados 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 infracciones de datos. La monitorización de la seguridad suele implicar el uso de protocolos de cifrado, validación y autenticación (p. ej., OAuth 2.0, claves API, validación de esquema JSON, etc.) para garantizar que solo los usuarios autorizados puedan acceder a los datos de la API. Estos sistemas también garantizan una transmisión segura de datos entre los sistemas front-end y back-end, protegiendo contra ciberamenazas como hackeos, robo de datos y ataques DDoS.
Las aplicaciones como Slack y otras aplicaciones y servicios web suelen depender tanto de API gestionadas como de terceros, lo que puede crear problemas de transmisión de datos. La monitorización 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 monitorización 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 las que operan en los sectores médico y financiero, suelen transmitir datos confidenciales de usuarios y empresas, lo que aumenta la necesidad de procesos de monitorización del cumplimiento de la normativa.
La monitorización del cumplimiento garantiza que una API cumpla con los estándares de privacidad relevantes (como HIPAA), estándares específicos del sector (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, añadiendo nuevas funciones, retirando las antiguas y cambiando el funcionamiento de algunas de ellas. Cuando se producen estos cambios, es importante monitorizar la transición para que las aplicaciones que dependen de la API no se vean afectadas negativamente por las actualizaciones. La monitorización de versiones permite a los equipos realizar un seguimiento de los cambios de la API a lo largo del tiempo, normalmente revisando cada versión nueva.
La monitorización de versiones puede implicar la comparación de funcionalidades entre versiones, el seguimiento de las tasas de adopción de una nueva versión de API, la monitorización de las tasas de error relacionadas con las funciones retiradas y el seguimiento del uso de la API en las versiones de una aplicación. Este tipo de monitorización es útil para identificar los problemas que surgen durante los cambios en la estructura o funcionalidad de la API y puede informar futuros cambios en la API.
Independientemente del enfoque, los equipos deben dar prioridad a la monitorización en tiempo real para obtener información instantánea sobre el rendimiento de las aplicaciones y resolver los problemas antes de que provoquen interrupciones del servicio para usuarios y socios. Como beneficio adicional, la monitorización en tiempo real suele visualizarse a través de paneles y páginas de estado que pueden proporcionar información inmediata y automatizar las alertas del sistema, ambos procesos cruciales para gestionar los flujos de trabajo críticos o de alta disponibilidad.
Las API son el pegamento que mantiene unidos los flujos de trabajo de automatización y las arquitecturas de aplicaciones modernas, por lo que mantenerlas en óptimas condiciones puede hacer que una infraestructura de TI sea más rápida y ágil. Para implementar un proceso de monitorización de API eficaz y completo, los equipos de DevOps y seguridad pueden:
Antes de establecer cualquier protocolo de monitorización, los equipos deben determinar objetivos claros. Esto significa definir los KPI para aspectos como la disponibilidad, el tiempo de respuesta, el rendimiento y las tasas de error. Por lo general, los KPI deben alinearse con los objetivos organizacionales más amplios y las necesidades de los consumidores.
Dada la inmensidad de algunas redes API, confiar en las herramientas de monitorización de API es una obviedad. Las plataformas avanzadas de observabilidad de datos de API (como Postman, Datadog e IBM Instana Observability) pueden automatizar y optimizar el proceso de monitorización, utilizando funciones como las comprobaciones de palabras clave HTTP y la monitorización del servidor DNS. Al evaluar los servicios de monitorización, tenga en cuenta sus características, la facilidad de uso, la compatibilidad de la pila tecnológica y el coste para garantizar un buen ajuste.
Este proceso variará según las herramientas de monitorización, pero generalmente implica tres tareas clave: configurar los endpoints, definir las pruebas de API y programar la monitorización.
La configuración de puntos de conexión requiere que los equipos proporcionen la dirección URL del punto de conexión de la API, el código de respuesta HTTP y los encabezados o parámetros necesarios para que la herramienta de monitorización 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 monitorización para validar el rendimiento de la API. Establecer una programación de monitorización simplemente requiere que el equipo decida con qué frecuencia la herramienta ejecutará las pruebas elegidas.
Las alertas son una parte fundamental de cualquier sistema de monitorización, ya que proporcionan notificaciones instantáneas de los problemas del sistema y permiten a los equipos abordarlos antes de que afecten a los usuarios. La mayoría de las herramientas de monitorización 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 monitorización siguen siendo relevantes. Busque tendencias y patrones en los datos históricos que puedan indicar problemas subyacentes. Por ejemplo, si el tiempo de respuesta de una API es constantemente alto durante ciertas horas, puede indicar la necesidad de más recursos durante esos momentos.
IBM Instana democratiza la observabilidad al proporcionar una solución que todos pueden utilizar para obtener los datos que desean en el contexto que necesitan. Diseñada específicamente para aplicaciones nativas de la nube pero independientes de la tecnología, la plataforma proporciona datos de alta fidelidad de forma automática y continua (granularidad de 1 segundo y trazas de extremo a extremo) con el contexto de las dependencias lógicas y físicas entre dispositivos móviles, web, aplicaciones e infraestructura.
La supervisión de API con IBM Instana Observability le permite garantizar la disponibilidad, la fiabilidad y el rendimiento de sus API para una experiencia digital sin interrupciones.
IBM nombrado líder en el informe Gartner 2023: Capacidades cruciales para API Management.
Las API REST proporcionan una forma flexible y ligera de integrar aplicaciones. Se han convertido en 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 una arquitectura de microservicios.