animind - Fotolia

Herramientas y técnicas para dominar la gestión de APIs en producción

Las APsI son una piedra angular del desarrollo de aplicaciones modernas. Los equipos de operaciones de TI deben monitorear y administrar las APIs en producción para resolver problemas que obstaculizan el rendimiento.

Las organizaciones continúan desarrollando ecosistemas de aplicaciones distribuidas que envían poblaciones masivas de contenedores y microservicios a entornos de producción. Esto significa que los equipos de operaciones de TI deben encontrar una forma confiable de monitorear y administrar la gran cantidad de interfaces de programación de aplicaciones (API) que mantienen conectados estos componentes.

Si el desafío de simplemente administrar las APIs en producción no es lo suficientemente difícil, se ve agravado por el hecho de que los departamentos de TI ahora también enfrentan nuevos tipos de API potencialmente desconocidos. Con las aplicaciones SaaS alojadas en plataformas de nube pública, muchas API no están bajo el control directo de la organización que depende de ellas. También está el crecimiento continuo de internet de las cosas (IoT), que ha llevado a más API no estándar asociadas con dispositivos controlados por eventos.

Parece probable que la industria de TI eventualmente encuentre una manera de estandarizar las API con el tiempo, pero ninguna organización debería contar con esto. En su lugar, planifique el caos de las APIs y aplique herramientas que puedan ayudarlo a capear la tormenta.

El desafío de las API en producción

La administración de APIs generalmente se considera durante el desarrollo, pero las técnicas probadas para administrar las APIs en producción aún no se adoptan ampliamente. Pueden ocurrir muchos problemas en la producción, como cuando un proveedor hace cambios inesperados en el funcionamiento de su API. Esto puede romper fácilmente las conexiones entre la API y las aplicaciones y servicios internos de una organización. También es común que estas conexiones de API de terceros sean el foco de violaciones y ataques de software.

Los equipos de operaciones de TI deben monitorear y mantener con diligencia informes sobre la seguridad y el rendimiento de la API. Por ejemplo, cuando surge un nuevo vector de ataque, todas las APIs de la organización deben probarse en busca de vulnerabilidad. Además, TI siempre debe investigar las APIs que no funcionen como se esperaba o que exhiban comportamientos inusuales de llamada/respuesta.

Además de la supervisión y los informes automatizados, las organizaciones de TI también deben automatizar el mantenimiento de la API. Intentar administrar las APIs manualmente casi siempre garantiza problemas. Por ejemplo, un cambio en un entorno de API puede crear problemas a lo largo de la cadena de API debido a dependencias. Sin algún tipo de monitoreo automatizado o sistema de gestión de cambios implementado, las fallas se producirán en cascada.

Herramientas de gestión de APIs

Existe un mercado emergente de herramientas para administrar API diseñadas para ayudar a los departamentos de TI encargados de administrar colecciones distribuidas de API en producción. Este sector de mercado está madurando rápidamente y hay muchas opciones que pueden ayudar a mejorar la administración, el monitoreo, los informes, el análisis de API y más.

Algunas de las herramientas más populares para la gestión de APIs incluyen las siguientes:

  • Akana de Perforce;
  • Colmenar;
  • Apigee, parte de Google Cloud;
  • Integración de Dell Boomi con PaaS;
  • Kong para microservicios;
  • Mashery, una empresa de Tibco;
  • MuleSoft;
  • SwaggerHub para diseño y documentación;
  • WSO2.

Muchos de los principales proveedores de plataformas de aplicaciones, como Oracle y SAP, también incluyen capacidades de administración de API como parte de sus conjuntos de aplicaciones y desarrollo más amplios. AWS, Azure y otras plataformas de nube pública se enfocan particularmente en brindar capacidades de administración para APIs basadas en la nube.

Evaluación de plataformas de gestión de APIs

Cuando las organizaciones se proponen elegir una plataforma de gestión de APIs, el objetivo principal es respaldar la interoperabilidad de las APIs distribuidas en una plataforma de TI. Como tal, es una buena idea buscar proveedores que ofrezcan métodos listos para usar para interrogar, evaluar y controlar rápidamente las integraciones de APIs existentes. Después de esta evaluación inicial, será más fácil introducir nuevas APIs en el entorno de TI general, con la plataforma de gestión de APIs controlando las integraciones.

La otra parte clave de la gestión de APIs en entornos de producción es proporcionar una cobertura general de seguridad de datos. La seguridad de la API es difícil, especialmente cuando las APIs están diseñadas para interactuar con servicios externos de la manera más abierta y sin latencia posible. El proveedor de la plataforma debe proporcionar servicios de autenticación que garanticen que solo los usuarios y servicios autorizados puedan acceder al back-end de una aplicación de respuesta.

Busque herramientas que puedan ayudar a identificar y remediar cualquier ataque potencial realizado contra una API, como un ataque de denegación de servicio realizado a través de sobrecargas de llamadas. Estas herramientas deben monitorear e informar en tiempo real. Algunos productos de la plataforma incluso recomendarán un curso de acción que pueda minimizar los efectos de un incidente en particular. Una herramienta de calidad también debe mantener una pista de auditoría sólida basada en datos de monitoreo, lo que ayuda a los administradores de TI a realizar investigaciones forenses completas sobre problemas de APIs.

Finalmente, la simplicidad debería ser otro enfoque principal de cualquier evaluación de herramientas de administración de API. Algunos proveedores, como Linx, adoptan un enfoque del "menor código posible". Por lo general, esto significa que las conexiones API están disponibles de fábrica o proporcionan amplias capacidades de arrastrar y soltar. Este tipo de simplicidad definitivamente puede ayudar a los equipos de TI con personal o experiencia limitados.

Investigue más sobre Desarrollo de software y aplicaciones

ComputerWeekly.com.br
Close