Header Ads Widget

Ticker

6/recent/ticker-posts

Supervise el estado de las API con estas 4 herramientas

 

4-herramientas-para-ayudar-a-monitorear-el-estado-de-las-dependencias-API

Uno de los grandes beneficios del panorama de desarrollo moderno es el aumento de la funcionalidad del sistema. Nunca antes había habido una avalancha de aplicaciones eficaces y eficientes que aprovecharan una potencia de procesamiento increíble, cada una de las cuales realizaba miles de tareas únicas y consumían recursos.

Con este increíble aumento en complejidad y capacidad, los desarrolladores confían cada vez más en API externas para mantenerse al día con la evolución del espacio de aplicaciones. La mayoría de las veces han quedado atrás los días de las aplicaciones web de "uso único" que dependen exclusivamente de recursos internos para todas las funcionalidades. A medida que Internet se ha vuelto cada vez más dependiente e interconectado, también lo han hecho los sistemas que lo impulsan; de hecho, muchas API dependen de una variedad de otras API y aplicaciones solo para realizar sus tareas básicas.

A medida que más y más API utilizan dependencias para ampliar su funcionalidad y usabilidad, la responsabilidad de mantener y monitorear las relaciones de dependencia y cómo esas dependencias interactúan con cada compilación se ha vuelto cada vez más importante. Una sola interrupción en la integración de dependencias podría hacer que una aplicación caiga como un castillo de naipes, exponiendo los datos del cliente y rompiendo la seguridad.

Afortunadamente, hay muchas herramientas disponibles para el desarrollador de API moderno para asegurarse de que esto no suceda. Monitorear el estado y las interacciones de las API y sus dependencias de API no es cosa de risa, y estas cuatro herramientas llevan este importante peso con delicadeza y eficiencia.

¿Por qué utilizar API externas?

Antes de discutir la implementación de estas cuatro herramientas, es importante calificar esta discusión diciendo que la utilización de API externas es uno de los activos más poderosos que el desarrollador moderno tiene a su disposición. Si bien hay una serie de dolores de cabeza intrínsecos a este enfoque, sus beneficios superan con creces sus inconvenientes.

Utilizar una API externa como dependencia ahorra recursos. No es necesario reinventar la rueda, especialmente cuando se ha revisado casi a la perfección. Ese es el caso de muchas funcionalidades para las que se crean otras API.

Por ejemplo, si un desarrollador creara una API de mecanografía basada en Java que permitiera la escritura y la colaboración basadas en la nube, una de las características que esperaría el usuario medio sería la revisión de estilo y gramática.

Si bien un desarrollador podría construir su propio sistema en casa para verificar el estilo y la gramática, el hecho es que ya existe una increíble biblioteca de código abierto para esta funcionalidad exacta: LanguageStyle está diseñado para permitir dicha corrección en un entorno de código abierto.

El caso para integrar esta API externa es sólido. La diferencia entre gastar miles de líneas de código en la creación de su propio sistema es espantosa cuando se considera la simplicidad de desvincular una llamada.

Además, la utilización de las API permite a los desarrolladores externos para incorporar código abierto y repositorios de código públicas en su propio tiempo que se mantiene un cierto grado de control de la propiedad. Al separar las funciones principales y utilizar API externas para ampliar estas funciones, un desarrollador puede ser realmente extenso sin incurrir en la alta sobrecarga típica del desarrollo de primera parte.

Aquí hay dos grandes advertencias. La primera es que es necesario realizar un seguimiento de estas API . Con tanta funcionalidad que depende de variables externas, rastrear los cambios en estos servicios y garantizar que se cumpla la compatibilidad puede ser una tarea ardua. A medida que aumenta la complejidad y más funcionalidad se vincula con una mayor dependencia, esto se convierte en un problema importante.

Una consideración igualmente importante es que muchas de estas API externas pueden entrar en conflicto con el código base de generación en generación y, a menudo, introducir nuevos errores debido a estos conflictos que deben identificarse y erradicarse antes de ingresar al espacio del usuario en una construcción pública.

Con estas realidades en mente, hemos elaborado una lista de herramientas que ayudan en la gestión de la dependencia.

Tenga en cuenta que esta es simplemente una lista de menciones honoríficas. Siéntase libre de comentar a continuación para describir su experiencia o agregar otras herramientas de monitoreo de dependencia que hemos dejado de lado.

APImetrics

Una gran herramienta para rastrear estos múltiples problemas es APImetrics . APImetrics ocupa un espacio interesante en el sentido de que presenta su solución más como un tablero complejo para métricas y análisis de API en lugar de un modelo específico de seguimiento.

Al estructurar las llamadas de manera estricta y de tal manera que se pruebe el tiempo de respuesta real, la efectividad y la capacidad de respuesta de dependencia de una API, APImetrics es una de las herramientas más poderosas para resaltar la dependencia de API externa y los problemas de rendimiento. Esta solución ataca el problema en un nivel holístico, en lugar de específico.

APImetrics permite probar varias llamadas en línea, lo que es excelente para probar la configuración de la pila. Además, la dependencia y el control de versiones de la API se manejan de forma nativa, lo que permite un seguimiento sencillo y sin problemas del estado de la API .

Monitoreo de API del panel de control de APImetrics

Panel de control "Informe público" de APImetrics

Por supuesto, esto es un gran beneficio; después de todo, la generación y el análisis adecuados de métricas de API es quizás uno de los elementos más importantes del conjunto de herramientas de un desarrollador de API. Poder monitorear no solo el estado de las API externas de las que depende su API, sino también el estado general de la API interna.

Sin embargo, esto tiene un costo, ya que muchas de las funciones más poderosas detrás de APImetrics son solo para suscriptores.

Es de destacar el hecho de que este tipo de solución se usa mejor en los casos en que el equipo de desarrollo desea utilizar API externas de manera prolífica. La solución es tan eficaz que es casi excesiva para las API y las nuevas empresas más pequeñas; considérelo como la solución de "alto octanaje".

Si disfruta de las pruebas de API y DevOps, asista a nuestra próxima conferencia API Stack
Blog-Post-Wide-CTA-API-Stack

Perspectivas de la aplicación de Visual Studio: Azure

Otra solución surge de la oferta de Visual Studio Application Insights de Microsoft a través de sus servidores Azure.

Actualmente, la solución integra bases de datos ASP.net, servicios WCF, llamadas HTTP, Azure DocumentDb y bases de datos Java (incluidas SQLite y PostgreSQL) en sus comprobaciones de estado y realiza un seguimiento de las interacciones entre la API y las API externas en tiempo real.

Microsoft Azure Insights: supervisión del servidor

Microsoft Azure Insights: supervisión del servidor

La mejor parte del uso de la solución Application Insights es que utiliza métricas en las llamadas en lugar de un sistema de métricas incorporado, lo que significa que la interacción y el estado de la API se pueden observar en un nivel superior. Probar llamadas específicas en lugar de simplemente verificar el control de versiones permite realizar pruebas de interacción, lo que garantiza que la versión sea correcta para su API en particular.

Como parte de esta prueba, las llamadas fallidas se anotan y las excepciones se muestran en detalle, lo que permite una solución de problemas más específica y poderosa.

Panel de Azure 2

seguimiento de llamadas fallidas con la solución de supervisión de Azure

APIscience

APIscience cierra las brechas entre los enfoques de "auditoría" y "fundacionales". El núcleo de su funcionalidad es la idea de probar primero la integración de API internas y externas y luego probar sus resultados. APIscience prueba REST, JSON, OAuth y otros, y luego continúa probando variaciones en los mismos.

APIscience 1

APIscience - informes de supervisión

Una de las cosas que APIscience hace muy bien es comparar versiones anteriores de API y dependencias relacionadas con las versiones actuales. Esta comparación permite resaltar los cuellos de botella tanto en las versiones internas como en las versiones de API externas de las que depende una API, destacando las integraciones de bajo rendimiento y previniendo los síntomas relacionados con la hinchazón.

Monitoreo de APIscience

Monitoreo de APIscience

APIscience utiliza un sistema de monitores para rastrear las variaciones en la funcionalidad y el rendimiento de la API, rastreando a lo largo del tiempo y cotejando estos datos en informes dinámicos. Esto lo convierte en un excelente enfoque intermedio, lo que permite a los desarrolladores auditar el código existente y mantener la funcionalidad entre API dispares y versiones de dependencia.

Más información sobre la supervisión de API: diseño de API y pruebas de vanguardia

Smartbear

AlertSite de Smartbear es una herramienta de monitoreo increíblemente poderosa debido a la variedad de opciones que ofrece a los desarrolladores de API. En primer lugar, Smartbear es un administrador de estado y salud de API: utiliza una red de nodos para rastrear la velocidad y la respuesta a las llamadas en todo el mundo, y lo hace mientras correlaciona estas respuestas con la calificación de rendimiento.

Cabe destacar el hecho de que Smartbear también se integra con scripts funcionales correctamente formados, lo que reduce el tiempo de sobrecarga requerido y evita la necesidad de API como SoapUI y Ready! API . Lo que esto significa es que la mayoría de las herramientas de prueba internas se integrarán y se comportarán con Smartbear, lo que reduce enormemente el dolor de cabeza de adopción que muchos desarrolladores prevén con este tipo de soluciones.

Panel de control de Smartbear

Panel de control de Smartbear

Smartbear también proporciona una variedad de tipos de monitoreo, lo cual es muy importante considerando cómo las API de socios, públicas y de terceros funcionan de manera diferente y con diferentes cuellos de botella. Al rastrear cada API con su mejor y más informativo método, Smartbear proporciona quizás una imagen más clara que otras soluciones presentadas aquí.

Si bien existe una opción gratuita que proporciona 5 monitores básicos, un monitor avanzado, alertas por correo electrónico y una política de retención de datos de 30 días, las soluciones Pro y Enterprise son mucho más flexibles y costosas. Sin embargo, estas opciones ricas en funciones no son gratuitas y esto puede ser una barrera de entrada para algunos desarrolladores y proveedores de API.

Consulte también Cómo la virtualización de API puede impulsar las pruebas de API

Elegir una solución

Básicamente, la elección de la solución es realmente una elección entre la interfaz de usuario y el enfoque. Si bien la auditoría forense es poderosa, a menudo puede conducir a una situación en la que una API se ejecuta en software parcheado, ejecutando versiones antiguas de API externas obsoletas pero aún funcionales.

Por otro lado, concentrarse en los elementos fundamentales de una API sin mirar el panorama general puede ser igualmente dañino. El enfoque perfecto debe ser una combinación de los dos, y el enfoque que se implemente depende en gran medida de cómo se integra la solución en la API. 

Publicar un comentario

0 Comentarios