Управление API — это процесс создания и публикации интерфейсов программирования веб-приложений (API), обеспечение соблюдения их политик использования, контроль доступа, поддержка сообщества подписчиков, сбор и анализ статистики использования и отчетность о производительности. Компоненты управления API предоставляют механизмы и инструменты для поддержки сообществ разработчиков и подписчиков. [1]
Хотя решения различаются, в продуктах управления API обычно встречаются компоненты, которые обеспечивают следующие функции:
Сервер, который действует как интерфейс API, получает запросы API, применяет политики регулирования и безопасности, передает запросы в бэкэнд-сервис, а затем передает ответ обратно запрашивающей стороне. [2] Шлюз часто включает в себя механизм преобразования для организации и изменения запросов и ответов на лету. Шлюз также может предоставлять такие функции, как сбор аналитических данных и предоставление кэширования. Шлюз может предоставлять функциональность для поддержки аутентификации, авторизации, безопасности, аудита и соответствия нормативным требованиям. [3] Шлюзы могут быть реализованы с использованием таких технологий, как Nginx или HAProxy .
Набор инструментов, которые поставщики API используют для определения API, например, с использованием спецификаций OpenAPI или RAML , создания документации API, управления использованием API с помощью политик доступа и использования для API, тестирования и отладки выполнения API, включая тестирование безопасности и автоматическую генерацию тестов и тестовых наборов, развертывания API в производственных, промежуточных средах и средах обеспечения качества, а также координации общего жизненного цикла API.
Сайт сообщества, обычно брендированный поставщиком API, который может объединить для пользователей API в одном удобном источнике информацию и функциональные возможности, включая документацию, учебные пособия, примеры кода, комплекты для разработки программного обеспечения, интерактивную консоль API и «песочницу» для пробных версий API, возможность подписываться на API и управлять ключами подписки, такими как идентификатор клиента OAuth2 и секретный ключ клиента, а также получать поддержку от поставщика API, пользователя и сообщества.
Функциональность для мониторинга использования и нагрузки API (общее количество обращений, завершенные транзакции, количество возвращенных объектов данных, количество вычислительного времени и других потребленных внутренних ресурсов, объем переданных данных). Это может включать мониторинг API в реальном времени с оповещениями, выдаваемыми напрямую или через систему управления сетью более высокого уровня , например, если нагрузка на API стала слишком большой, а также функциональность для анализа исторических данных, таких как журналы транзакций, для выявления тенденций использования. Также может быть предоставлена функциональность для создания синтетических транзакций, которые могут использоваться для тестирования производительности и поведения конечных точек API. Информация, собранная функциональностью отчетности и аналитики, может использоваться поставщиком API для оптимизации предложения API в рамках общего процесса непрерывного совершенствования организации и для определения соглашений об уровне обслуживания программного обеспечения для API.
Функциональность для поддержки взимания платы за доступ к коммерческим API. Эта функциональность может включать поддержку настройки правил ценообразования на основе использования, нагрузки и функциональности, выставления счетов и сбора платежей, включая несколько типов платежей по кредитным картам.
Ряд отраслевых аналитиков отметили, что размер рынка решений для управления API быстро растет с начала 2010-х годов. Gartner оценил размер рынка управления API в 70 миллионов долларов в 2013 году и будет расти на 40% в год. [4] По данным Forrester Research , только в США ежегодные расходы на управление API составили 140 миллионов долларов в 2014 году, и ожидается, что они вырастут до 660 миллионов долларов к 2020 году, а общий объем мировых продаж, как ожидается, превысит миллиард долларов к тому же году. Последний анализ рынка, проведенный KBV Research в 2019 году, предсказал продолжение среднегодового темпа роста в 28,4%, в результате чего общая стоимость рынка достигнет 6,2 миллиарда долларов к 2024 году [5] [6] [7]