Как рассчитать стоимость развертывания Open-Source API Gateway на AWS?

March 11, 2024

Technology

Выбор между Open-Source API Gateway и Amazon API Gateway

Когда разработчики сталкиваются с решением о том, использовать ли полностью управляемый сервис, такой как Amazon API Gateway, или решение с открытым исходным кодом для API-шлюза, на первый план выходят несколько важных факторов. В этой статье рассматриваются эти аспекты, чтобы помочь инженерам сделать обоснованный выбор.

  • Мультиоблачные и гибридные среды: Amazon API Gateway отлично интегрируется с другими сервисами AWS, такими как Lambda, но тесно связан с экосистемой AWS. В то же время, open-source шлюзы предлагают большую гибкость, позволяя развертывать их в GCP, Azure, частных облаках или гибридных средах.

  • Потребность в расширенной кастомизации: Для проектов, требующих высоко настраиваемой функциональности API, выходящей за рамки возможностей Amazon API Gateway, решения с открытым исходным кодом предоставляют больший контроль и возможность адаптировать шлюзы под конкретные требования.

  • Высокий объем запросов API и стоимость: С ростом трафика API стоимость использования Amazon API Gateway может стать значительной. В то же время, open-source шлюзы могут быть более экономически выгодным вариантом, особенно для сценариев с высоким трафиком.

  • Оптимизация производительности и задержек: Open-source решения предоставляют больший контроль над производительностью и задержками. Инженеры могут напрямую тестировать и выбирать оптимизированные open-source шлюзы (например, Apache APISIX, Kong, Envoy, Tyk), подходящие для их приложений.

Хотя Amazon API Gateway предлагает удобное и хорошо интегрированное решение в рамках экосистемы AWS, open-source альтернативы предоставляют большую гибкость, возможность кастомизации и более низкие затраты, что особенно подходит для сложных или высоконагруженных сценариев использования.

Факторы, которые следует учитывать при расчете затрат

API-шлюз играет ключевую роль в управлении трафиком между клиентскими приложениями и серверными службами, выступая в качестве промежуточного программного обеспечения с двумя основными компонентами: плоскостью данных и плоскостью управления.

Плоскость данных: Масштабирование с учетом трафика

Плоскость данных, отвечающая за обработку входящих запросов API, выполняет такие задачи, как маршрутизация, аутентификация и преобразование данных, что критически важно для обеспечения бесперебойной работы системы. С увеличением объема вызовов API плоскость данных требует больше вычислительных ресурсов для поддержания оптимальной производительности. Поэтому точная оценка объема вызовов API имеет решающее значение для определения количества экземпляров плоскости данных, необходимых для обеспечения эффективной обработки запросов и поддержания высокой доступности.

Плоскость управления: Планирование высокой доступности

Плоскость управления выступает в качестве центрального узла API-шлюза, управляя конфигурациями и политиками, а также направляя обработку запросов плоскостью данных. В отличие от плоскости данных, требования к ресурсам плоскости управления не связаны напрямую с объемом вызовов API. Однако обеспечение высокой доступности плоскости управления имеет решающее значение. Поэтому пользователям необходимо планировать выделение ресурсов для плоскости управления на основе желаемого уровня избыточности и требований к времени безотказной работы.

Затраты на мониторинг и логирование

  • Amazon API Gateway: Интегрирован с AWS CloudWatch, предоставляя функции мониторинга и логирования, что влечет дополнительные затраты. При рассмотрении общей стоимости Amazon API Gateway важно оценить требования к мониторингу и логированию.

  • Open-Source API Gateway: Решения для мониторинга и логирования обычно требуют отдельного рассмотрения. Можно рассмотреть экономически эффективные варианты, такие как Prometheus и Grafana, или выбрать управляемые сервисы управления логами, предлагаемые облачными провайдерами.

Пример оценки затрат: Расчет затрат на обработку 10 миллиардов запросов API

Использование Amazon API Gateway

Давайте оценим ежемесячную стоимость обработки 10 миллиардов запросов API с помощью Amazon API Gateway. Обратите внимание, что следующие расчеты являются приблизительными, и фактические затраты могут варьироваться в зависимости от конкретных конфигураций и моделей использования.

Предположения:

  • Количество запросов API в месяц: 10 миллиардов
  • Средний размер полезной нагрузки запроса/ответа: 1 КБ (1024 байта)

Обработка 10 миллиардов запросов API с помощью Amazon API Gateway

В данном сценарии ежемесячная стоимость составляет $9,030.

Использование Open Source API Gateway Apache APISIX

Предположим, что в месяце 20 дней, с 12 часами работы в день, давайте рассчитаем количество запросов, которые API-шлюз должен обработать для этих 10 миллиардов вызовов API.

10000000000 / 20.0 / 12 / 3600 = 11574.074074074073

Расчет показывает, что необходимо обрабатывать примерно 11,000 запросов API в секунду. Мы можем использовать две плоскости данных, каждая из которых настроена на 4 vCPU.

11574.074074074073 / 4 / 2 = 1446.7592592592591

В этом сценарии каждый процессор обрабатывает примерно 1400 запросов API в секунду, что является легкой задачей для API-шлюза, такого как Apache APISIX, который может обрабатывать десятки тысяч запросов в секунду.

Кроме того, те же вычислительные ресурсы выделяются для плоскости управления.

Обработка 10 миллиардов запросов API с помощью APISIX

Ежемесячная стоимость составляет $195.06.

Сравнивая затраты на обработку 10 миллиардов запросов между Amazon API Gateway и open-source API-шлюзом, соотношение составляет 9030 / 195.06 = 46.29344816979391, что указывает на то, что стоимость облачных ресурсов Amazon API Gateway примерно в 46 раз выше, чем у open-source API-шлюза.

Однако использование open-source API-шлюза не исключает затрат на программное обеспечение. Инженерам также необходимо учитывать затраты на обновления, обслуживание, а также приобретение технической поддержки и коммерческих продуктов.

Заключение

Сравнивая Amazon API Gateway и open-source API-шлюз Apache APISIX на практических примерах, мы видим, что open-source API-шлюзы могут значительно снизить затраты на корпоративное программное обеспечение. Хотя Amazon API Gateway предлагает удобное и хорошо интегрированное решение в рамках экосистемы AWS, open-source альтернативы превосходят его в гибкости, кастомизации и экономической эффективности, что особенно подходит для сложных или высоконагруженных сценариев использования.

Tags: