BLOG | NGINX

Mejores prácticas para la gestión de API internas

NGINX - Parte de F5 - horizontal, negro, tipo RGB
Miniatura de Karthik Krishnaswamy
Karthik Krishnaswamy
Publicado el 2 de septiembre de 2020

Algunas API orientadas al consumidor están tan extendidas que se han convertido en nombres muy conocidos (pensemos en Google Maps y Stripe), pero las API internas son el verdadero motor de la economía de las API.

Las API internas (es decir, las API expuestas únicamente a clientes y desarrolladores dentro de una organización) son un pilar clave para los esfuerzos de transformación digital de una empresa. La creación de API internas suele ser el primer paso en el desarrollo de productos y servicios digitales. De hecho, según la reciente encuesta de IDC, API: los agentes determinantes entre el éxito o el fracaso de los negocios digitales , respaldar la integración interna de aplicações y productos es una de las principales prioridades para las iniciativas de desarrollo de API en las empresas.

¿Por qué son importantes las API internas? ¿Cuáles son los beneficios de las API internas? Y lo más importante, ¿cuál es la arquitectura más óptima para gestionarlos? Este blog aborda estas preguntas para ayudarle a entregar API internas de forma segura y a escala.

¿Por qué son importantes las API internas?

Las API internas desbloquean silos de datos y construyen puentes al abrir los distintos sistemas back-end de una organización para que los utilicen otros desarrolladores dentro de una línea de negocios (LOB). Por ejemplo, la organización de marketing de un fabricante puede necesitar visibilidad de los sistemas utilizados por la organización de la cadena de suministro para determinar si debe descontar ciertos productos y modelos para apuntar al segmento de mercado correcto y maximizar los ingresos.

¿Cómo las API internas rompen los silos? Proporcionan una interfaz común que admite el intercambio de datos utilizando formatos estándar como HTML o JSON. Es fácil y rápido no sólo crear una API sino también consumirla. Compare esto con el uso de conectores de bases de datos propietarios y protocolos de intercambio de datos arcanos para recuperar información de repositorios de datos. Al reducir la fricción, las API mejoran significativamente la productividad. Estas API no están expuestas a desarrolladores externos ni a terceros. El tráfico de API interna se realiza dentro de la organización, es decir, dentro del firewall corporativo.

Beneficios de las API internas

Las API internas aceleran el tiempo de comercialización y reducen el tiempo y el costo del desarrollo de software. Repasemos los beneficios en detalle.

Eficiencia operativa

Las API internas proporcionan una capa de abstracción fácilmente consumible para conectar varias partes de una empresa y brindan la flexibilidad para adaptarse a los requisitos cambiantes. En lugar de crear una pila de tecnología aislada para las aplicações de cada LOB, los desarrolladores de toda la organización pueden recurrir a un grupo común de API internas para acceder a los datos. Esto elimina la duplicación y reduce el tiempo de desarrollo de software, mejorando así la productividad de los desarrolladores y de TI.

Desarrollo de un Sistema de Registro

Las API internas promueven el desarrollo de un sistema de registro que sirve como fuente autorizada de elementos de datos clave en una organización. Para garantizar la integridad de los datos, debe haber un único sistema de registro para una determinada pieza de información. Si cada LOB tiene sus propios datos o incluso una versión ligeramente diferente, esto genera discrepancias y confusión. Las API internas son un mecanismo eficiente para acceder a esta única fuente de verdad.

Ahorros de costos

La eficiencia se traduce en ahorros de costos: no es necesario crear plataformas propietarias con grandes personalizaciones dentro de cada línea de negocio. Tampoco es necesario construir o comprar conectores e integraciones costosos que son esencialmente herramientas puntuales.

Como ejemplo, el gobierno federal de Estonia opera X-Road, una plataforma de intercambio de datos que conecta a todas las agencias gubernamentales de manera fluida. Los ciudadanos estonios ni siquiera necesitan llevar consigo su licencia de conducir, ya que esa información se puede obtener rápidamente del registro de población y del registro de vehículos, aunque los dos depósitos de datos estén separados. Este informe del Banco Mundial estimó de manera conservadora que, al facilitar el acceso a la información, X-Road había ahorrado al gobierno y a los ciudadanos de Estonia 2,8 millones de horas-persona en un solo año (2014).

Directrices para la gestión de API internas

Repasemos algunas prácticas recomendadas para gestionar API internas.

Utilice una herramienta de gestión de API

Para definir, publicar, proteger, supervisar y analizar de manera eficiente las API internas y externas, necesita una solución de gestión de API . También se necesita un portal para desarrolladores que permita a los desarrolladores internos conocer rápidamente las API publicadas.

Garantizar un alto rendimiento

Los microservicios son un nuevo enfoque arquitectónico para el desarrollo de software que está ganando terreno. Muchas empresas están rediseñando sus aplicações internas existentes o construyendo otras nuevas utilizando este marco. En las arquitecturas de microservicios, las API son el medio de comunicación tanto entre los clientes y la aplicação basada en microservicios como entre los microservicios que componen la aplicação. Cuando un cliente API solicita recursos de una aplicação backend, una puerta de enlace API enruta el tráfico al microservicio apropiado. La puerta de enlace API también autentica llamadas y aplica límites de velocidad para evitar ataques que podrían ocurrir si actores externos logran violar el firewall corporativo.

Los microservicios son más “conversacionales” que las aplicações monolíticas, con grandes volúmenes de tráfico “este-oeste” entre ellos. Por lo tanto, es muy importante elegir una puerta de enlace de alto rendimiento que pueda procesar con gran capacidad de procesamiento (solicitudes por segundo) y entregar respuestas muy rápidamente. Las solicitudes de los clientes a menudo generan múltiples llamadas API a diferentes microservicios, por lo que una demora en la puerta de enlace API incluso para una llamada puede tener un efecto en cascada y resultar en latencias muy altas.

No enrute llamadas a través de una nube fuera de la red corporativa

Si bien existen soluciones basadas en la nube de primera generación que brindan gestión completa del ciclo de vida de las API, no son adecuadas para gestionar API internas. Debido a que sus arquitecturas acoplan estrechamente el plano de datos (la puerta de enlace API que procesa el tráfico API) y el plano de control (que realiza funciones de gestión API), en el tiempo de ejecución cada llamada API interna debe enrutarse a través de la nube de la solución de gestión API. Esto tiene dos desventajas:

  • Agrega latencia: el salto a la nube para procesar una llamada API interna es tortuoso e inevitablemente afecta el rendimiento.
  • Viola la política corporativa de confianza cero: dado que la llamada API interna debe enrutarse a la nube, es necesario perforar agujeros en el firewall. Esto deja la red corporativa expuesta a ataques y violaciones e introduce una complejidad innecesaria.

Por razones de seguridad, el tráfico de la API interna debe permanecer detrás del firewall corporativo, lo que impide enrutar llamadas a una nube externa. Esto es cierto incluso para las empresas que alojan aplicações y API en sus propios entornos de nube privada.

¿Cómo puede ayudar NGINX?

Hay varias formas en las que NGINX le ayuda a administrar sus API internas.

  • NGINX es conocido por su rendimiento. Según GigaOm, un analista de investigación tecnológica independiente, NGINX puede procesar llamadas API de extremo a extremo en menos de 30 ms, incluso a velocidades de más de 30 000 solicitudes por segundo. Obtenga más información sobre los resultados de evaluación comparativa en nuestro blog . Hemos publicado una arquitectura de referencia con pautas detalladas para entregar API en tiempo real.
  • NGINX y NGINX Plus están diseñados para contenedores, la infraestructura elegida para desarrollar microservicios. Con un tamaño de aproximadamente 2 MB , NGINX y NGINX Plus se ejecutan en servidores Linux compatibles (bare metal, nube o virtuales) o directamente en contenedores Docker orquestados por Kubernetes y otras plataformas.
  • La arquitectura innovadora de la solución de gestión de API NGINX está diseñada para escalar. NGINX admite la gestión de API distribuida al desacoplar la puerta de enlace de API (NGINX Plus) del software de gestión de API (NGINX Controller [ahora F5 NGINX Management Suite] ). No existe ninguna dependencia de tiempo de ejecución entre los dos, lo que garantiza que el tráfico de API se procese sin sobrecarga innecesaria, como secuencias de comandos adicionales, llamadas a bases de datos u otra lógica del plano de control.

    La arquitectura desacoplada le brinda máxima flexibilidad en cuanto a dónde implementar Controller [NGINX Management Suite] y las puertas de enlace API NGINX Plus: puede implementarlas en las instalaciones, en la nube pública o incluso en múltiples nubes públicas si su red corporativa se extiende a la nube. Las llamadas API internas no necesitan enrutarse a través de una nube fuera de la red corporativa, ya que las puertas de enlace API NGINX Plus que manejan el tráfico API se pueden implementar independientemente detrás del firewall corporativo.

¿Tiene API internas? ¿O estás planeando desarrollar API internas? ¿Está enrutando sus API internas a través de la nube? Nos encantaría saber tu opinión en los comentarios a continuación. Mientras tanto, comience hoy mismo con una prueba gratuita de 30 días de NGINX Controller [NGINX Management Suite] o contáctenos para analizar sus casos de uso .


"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.