¿Cómo calcular el costo de implementar una API Gateway de código abierto en AWS?

March 11, 2024

Technology

Elección entre una puerta de enlace API de código abierto y Amazon API Gateway

Cuando los desarrolladores se enfrentan a la decisión de utilizar un servicio completamente gestionado como Amazon API Gateway o una solución de puerta de enlace API de código abierto, entran en juego varios factores cruciales. Este artículo examina estas consideraciones para ayudar a los profesionales de ingeniería a tomar una decisión informada.

  • Entornos multi-nube e híbridos: Amazon API Gateway destaca en la integración con otros servicios de AWS como Lambda, pero está estrechamente vinculado al ecosistema de AWS. Por el contrario, las puertas de enlace de código abierto ofrecen mayor flexibilidad, permitiendo su implementación en GCP, Azure, nubes privadas o entornos híbridos.

  • Necesidades de personalización extensa: Para proyectos que requieren funcionalidades de API altamente personalizadas más allá del alcance de Amazon API Gateway, las soluciones de código abierto proporcionan un mayor control y la capacidad de personalizar las puertas de enlace para cumplir con requisitos específicos.

  • Alto volumen de solicitudes API y costos: A medida que crece el tráfico de API, el costo de Amazon API Gateway puede volverse significativo. En contraste, las puertas de enlace de código abierto pueden ser una opción más rentable, especialmente para escenarios de alto tráfico.

  • Optimización del rendimiento y la latencia: Las opciones de código abierto ofrecen un mayor control sobre el rendimiento y la latencia. Los ingenieros pueden evaluar directamente y seleccionar puertas de enlace de código abierto optimizadas (por ejemplo, Apache APISIX, Kong, Envoy, Tyk) para adaptarse a sus aplicaciones.

Mientras que Amazon API Gateway ofrece una solución conveniente y bien integrada dentro del ecosistema de AWS, las alternativas de código abierto proporcionan mayor flexibilidad, personalización y menores costos, siendo particularmente adecuadas para casos de uso complejos o de alto tráfico.

Factores a considerar en el cálculo de costos

La puerta de enlace API juega un papel crucial en la gestión del tráfico entre las aplicaciones cliente y los servicios backend, actuando como middleware con dos componentes principales: el plano de datos y el plano de control.

Plano de datos: Escalando con el tráfico

El plano de datos, responsable de manejar las solicitudes API entrantes, realiza tareas como enrutamiento, autenticación y transformación de datos, críticas para garantizar el funcionamiento fluido del sistema. A medida que aumenta el volumen de llamadas API, el plano de datos requiere más recursos de computación para mantener un rendimiento óptimo. Por lo tanto, estimar con precisión el volumen de llamadas API es crucial para determinar el número de instancias del plano de datos necesarias para garantizar que el sistema pueda manejar las solicitudes de manera efectiva y mantener una alta disponibilidad.

Plano de control: Planificación para alta disponibilidad

El plano de control actúa como el centro neurálgico de la puerta de enlace API, gestionando configuraciones y políticas, y guiando cómo el plano de datos procesa las solicitudes. A diferencia del plano de datos, los requisitos de recursos del plano de control no están directamente relacionados con el volumen de llamadas API. Sin embargo, garantizar la alta disponibilidad del plano de control es crucial. Por lo tanto, los usuarios deben planificar la asignación de recursos del plano de control en función de los niveles de redundancia deseados y los requisitos de tiempo de actividad.

Costos de monitoreo y registro

  • Amazon API Gateway: Integrado con AWS CloudWatch, proporciona funcionalidades de monitoreo y registro que incurren en costos adicionales. Al considerar el costo total de Amazon API Gateway, es esencial evaluar los requisitos de monitoreo y registro.

  • Puerta de enlace API de código abierto: Las soluciones de monitoreo y registro generalmente requieren una consideración separada. Se pueden considerar opciones rentables como Prometheus y Grafana, o los usuarios pueden optar por servicios de gestión de registros gestionados ofrecidos por proveedores de nube.

Ejemplo de estimación de costos: Estimación de costos para manejar 10 mil millones de solicitudes API

Usando Amazon API Gateway

Estimemos el costo mensual de manejar 10 mil millones de solicitudes API con Amazon API Gateway. Tenga en cuenta que lo siguiente son estimaciones, y los costos reales pueden variar según configuraciones específicas y patrones de uso.

Suposiciones:

  • Número de solicitudes API por mes: 10 mil millones
  • Tamaño promedio de carga útil de solicitud/respuesta: 1 KB (1,024 bytes)

Manejo de 10 mil millones de solicitudes API con Amazon API Gateway

En el escenario anterior, el costo mensual es de $9,030.

Usando la puerta de enlace API de código abierto Apache APISIX

Suponiendo 20 días por mes, con 12 horas de funcionamiento por día, calculemos el número de solicitudes que la puerta de enlace API necesita manejar para estas 10 mil millones de llamadas API.

10000000000 / 20.0 / 12 / 3600 = 11574.074074074073

El cálculo muestra que se necesitan procesar aproximadamente 11,000 solicitudes API por segundo. Podemos emplear dos planos de datos, cada uno configurado con 4 vCPUs.

11574.074074074073 / 4 / 2 = 1446.7592592592591

En este escenario, cada CPU procesa aproximadamente 1400 solicitudes API por segundo, lo cual es una tarea sencilla para una puerta de enlace API como Apache APISIX que puede manejar decenas de miles de solicitudes por segundo.

Además, se asignan los mismos recursos de computación al plano de control.

Manejo de 10 mil millones de solicitudes API con APISIX

El costo mensual es de $195.06.

Al comparar los costos de manejar 10 mil millones de solicitudes entre Amazon API Gateway y una puerta de enlace API de código abierto, la relación es 9030 / 195.06 = 46.29344816979391, lo que indica que el costo de los recursos en la nube de Amazon API Gateway es aproximadamente 46 veces mayor que el de la puerta de enlace API de código abierto.

Sin embargo, el uso de una puerta de enlace API de código abierto no elimina los costos de software. Los ingenieros también deben considerar los costos de actualizaciones, mantenimiento, así como la compra de soporte técnico y productos comerciales.

Conclusión

Al comparar Amazon API Gateway y la puerta de enlace API de código abierto Apache APISIX a través de ejemplos prácticos, encontramos que las puertas de enlace API de código abierto pueden reducir significativamente los costos de software empresarial. Aunque Amazon API Gateway ofrece una solución conveniente y bien integrada dentro del ecosistema de AWS, las alternativas de código abierto sobresalen en flexibilidad, personalización y rentabilidad, siendo particularmente adecuadas para escenarios de uso complejos o de alto tráfico.

Tags: