Управление API
Управление API (англ. API management) — это процесс создания и публикации интерфейсов программирования приложений (API) для веб-сервисов, обеспечение соблюдения их политик использования, контроль доступа, поддержка сообщества подписчиков, а также сбор, анализ статистики использования и отчётность о производительности. Компоненты управления API предоставляют механизмы и инструменты для поддержки сообщества разработчиков и подписчиков[1].
Компоненты
Несмотря на различия решений, в продуктах для управления API обычно присутствуют следующие компоненты:
- Шлюз: сервер, выступающий в роли фронтенда для API, получающий запросы, реализующий политики ограничения и безопасности, передающий запросы движку сервисов и возвращающий ответы обратно клиенту[2]. Часто включает механизм трансформации для оркестрации и изменения запросов/ответов «на лету». Может предоставлять сбор аналитических данных и кеширование. Часто реализует поддержку аутентификации, авторизации, безопасности, аудита и соответствия нормативам[3].
- Инструменты публикации: набор инструментов, с помощью которых провайдеры API определяют интерфейсы API (например, используя спецификации OpenAPI или RAML), генерируют документацию, управляют политиками доступа и использования, тестируют и отлаживают выполнение API, в том числе проводят тесты безопасности и генерируют тестовые сценарии автоматически, размещают API в продуктивных, тестовых и промежуточных средах и координируют весь жизненный цикл API.
- Портал разработчика / магазин API: сообщественный сайт (часто с брендингом провайдера API), который предоставляет разработчикам в едином удобном месте документацию, обучающие материалы, примеры кода, наборы для разработки ПО (SDK), интерактивную консоль и песочницу для тестирования API, возможность подписки на API и управления ключами доступа (например, Client ID и Client Secret из OAuth2), а также поддержку провайдера, пользователей и сообщества.
- Отчётность и аналитика: инструменты для мониторинга использования и нагрузки на API (количество запросов, число завершённых транзакций, количество возвращённых объектов данных, время обработки и других использованных ресурсов, объём переданных данных). Может поддерживаться как мониторинг в реальном времени с генерацией оповещений (или интеграция с системами управления сетями более высокого уровня), например при значительной загрузке API, так и анализ исторических данных (журналы транзакций) для выявления трендов. Предусмотрена также возможность создания синтетических транзакций для тестирования производительности и поведения конечных точек API. Собранная информация используется для оптимизации API в рамках процесса постоянного совершенствования организации и для определения соглашений об уровне обслуживания (SLA) для API.
- Монетизация: инструменты поддержки взимания платы за коммерческий доступ к API. Реализованы функции настройки ценовых правил (по использованию, нагрузке, уровню функциональности), выставления счетов и приёма платежей, в том числе через различные способы оплаты банковскими картами.
Размер рынка
Ряд аналитиков отмечают быстрый рост рынка решений для управления API с начала 2010-х годов. По оценке Gartner, размер этого рынка составлял 70 миллионов долларов в 2013 году с ожидаемым ежегодным ростом в 40 %[4]. Согласно данным Forrester Research, только в США ежегодные расходы на управление API составляли 140 миллионов долларов в 2014 году, ожидаемый рост — до 660 миллионов к 2020 году; при этом глобальные продажи, по прогнозу, превысят 1 миллиард долларов к тому же году[5].[6]
Продукты
Широкое распространение API привело к появлению готовых коммерческих продуктов управления API, проектов открытого программного обеспечения и облачных решений (SaaS). Аналитические компании Gartner[7] и Forrester Research[8] перечисляют ряд поставщиков в своих обзорах. Среди компаний, активно действующих на рынке управления API, а также организаций, ведущих разработки в этой сфере, можно выделить следующие:
Открытое ПО
- WSO2
- 3scale
- Gravitee.io
Проприетарные продукты
- Apigee (входит в состав Google)
- Asseco
- Axway (приобрела Vordel)
- CA API Management[9] (ранее Layer 7, поглощена CA Technologies)[10]
- DreamFactory
- IBM API Connect[11][9]
- Jitterbit[12]
- LinkApi
- Kong Inc.
- Mashery (сейчас часть TIBCO Software)
- Microsoft (Azure API Management)
- MuleSoft
- N2N Illuminate (принадлежит N2N Services)[13]
- New Relic
- NGINX (NGINX Controller)[14]
- Oracle API Platform Cloud Service[15][16]
- Rogue Wave Software (поглотила Akana)
- Runscope
- Sensedia (входит в CI&T)
- SmartBear
- Software AG
- ZUP Api Manager[17]