Что такое системы API Management
В этой статье я расскажу о системах класса API Management и в частности о APIM Gravitee (https://www.gravitee.io), том, что это за класс систем, как они используются для обеспечения потребностей команд разработки. Статья не погружает в технические аспекты, но может быть полезна архитекторам и менеджерам, которые думают о том, чтобы попробовать использовать данный класс систем, но не знают, подойдут ли они для их задач, а также разработчикам, которые могут открыть для себя новые инструменты для удобной работы с API.

Что такое системы API Management
Определение
API Management — это процесс создания и публикации программных интерфейсов веб-приложений (API), обеспечения соблюдения их политик использования, контроля доступа, поддержки сообщества подписчиков, сбора и анализа статистики использования и отчетности о производительности.
С другой стороны, API Management — это набор инструментов и сервисов, которые позволяют разработчикам и компаниям создавать, анализировать, применять и масштабировать интерфейсы API в безопасных средах.
В данных вариантах определения понятия «API Management» мы видим, что это процессы и системы позволяющие публиковать внутренние API сервисов, прописывать им определенные политики обработки запросов и ответов, контролировать доступ и анализировать статистику использования и производительности. Также рядом могут располагаться несколько подсистем, которые организуют выполнение необязательных функций, но интересных с точки зрения других подразделений, например монетизация API.
Зачем еще один огород городить?
Необходимость этого класса систем возникла в связи с увеличением количества сервисов, которые могут предоставлять свое API как конечный продукт для других сервисов. Ничего не напоминает? Правильно — микросервисная архитектура. Для организации это возможность ускорения «цифровизации». Владельцы продукта публикуют API, документацию к ней и прочие документы типа: планов развития, лимиты и т.д. Также всем хочется контролировать качество работы API, а это уже анализ производительности, статистика использования, проведение все возможных маркетинговых исследований и простой мониторинг. Для коллег из информационной безопасности будет интересно осуществлять наблюдение за использованием API в части контроля доступа: авторизация, аутентификация, аудит, проверка по черным/белым спискам IP. Для аналитиков и тестировщиков возможно будет интересна функциональность проверки корректности запросов, проверка корректности JSON или динамическое изменение запросов, для DevOps инженеров возможность установки rate limit, чтобы не было DoS конечного сервиса, настройка кэша и возможность оптимизации сервиса под микросервисную архитектуру: Service Discovery, Load Balancing, Blue/Green или Canary deploy.
Архитектура сервиса
В архитектуру сервиса API Management обычно входят (см. рис. 1):

- Management Core: ядро системы, которое отвечает за формирование политик, планов, работу точками входа и выхода, настроек API Gateways и API, настройку CORS, Failover, Healthcheck, формирование запросов на отображение статистики использования API и логов.
- Web/Development Portal: отвечает за UI, отображение настроек, статистики использования API, healthcheck и логов, а также позволяет общаться разработчикам, администраторам и владельцам API.
- API Gateways: шлюзы или прокси, они отвечают за обработку запросов от клиентов сервиса согласно установленных настроек и политик, ведение логов запросов и ответов, а также запуск healthcheck по Backend API.
- Backend API: отвечает за обработку запросов согласно бизнес-логике конечного сервиса.
- Databases: в части сервиса API Management, хранят данные по настройке API, API Gateways, логи запросов клиентов и ответы backend, healthcheck, данные мониторинга практически всех компонентов API Management.
Плюсы и минусы систем API Management
У данных систем есть несколько преимуществ:
- Абстракция: система упрощает сложность сервисов под ним и предоставляет клиентам единый опыт.
- Аутентификация: система позволяет пройти аутентификацию, в том числе и через сторонние службы, например Keycloak.
- Управление трафиком: система регулирует входящий и исходящий трафик API.
- Мониторинг API: система может помочь в мониторинге запросов/ответов клиента.
- Преобразования: система позволяет преобразовать запросы/ответы API.
К минусам можно отнести:
- Увеличение Latency: шлюзу необходимо время для обработки запросов/ответов согласно настроенным политикам.
- TCO: Совокупная стоимость владения для всей цепочки поставки ценности, естественно будет больше, чем просто установить nginx и выставить его наружу.
API Gateways
API Gateways работают как единая точка входа в ЦОД (центр обработки данных), группу распределенных служб или сервисов (см. рис. 2). Также API Gateways могут использоваться для связи между двумя продуктами/сервисами, развернутыми в одном ЦОД. API Gateways принимают вызовы от клиентов, обрабатывают их согласно политикам/правилам и направляют их в соответствующие сервисы. Чтобы API Gateways могли максимально быстро обрабатывать запросы от клиентов их делают максимально легковесными, с использованием асинхронных фреймворков. API Gateways, как правило, работают только на седьмом уровне (L7) модели OSI.

Типы API Gateways
С точки зрения расположения есть два места установки API Gateways:
- Local API Gateways работают как шлюз для сервисов внутри организации.
- DMZ API Gateways работают как шлюз для внешних потребителей и клиентов сервисов.
Для одного сервиса возможно использование обоих типов шлюзов, когда сервисом пользуются как внутренние потребители, так и внешние клиенты. В остальных случаях использование обоих типов шлюзов зачастую не целесообразно. Это связанно с основным минусом шлюзов — добавлением задержек при обработке запросов и ответов.
Наиболее распространенные системы
Gravitee.io 
![]()
![]()
![]()
![]()
![]()
Gravitee.io — это гибкое, легкое и быстрорастущее решение для управления API с открытым исходным кодом, которое помогает вашей организации точно контролировать, когда и как пользователи получают доступ к вашим API.
Gravitee.io
![]()
Gravitee.io — это гибкое, легкое и быстрое решение для управления API с открытым исходным кодом, которое .
- Open Source Free
- Linux
- Mac
- Windows
Gravitee.io — это гибкое, легкое и быстрое решение для управления API с открытым исходным кодом, которое помогает вашей организации точно контролировать, кто, когда и как пользователи получают доступ к вашим API.
Links to official sites
Features
Теги
- Alternatives 10
Alternatives to Gravitee.io
Kong
Kong — это масштабируемый уровень API с открытым исходным кодом (также называемый шлюзом API или промежуточным программным обеспечением API). Kong работает перед любым RESTful API и расширяется с помощью плагинов, которые предоставляют дополнительны… Open Source Free Linux
![]()
apiman
apiman — это уровень управления API с открытым исходным кодом, который упрощает повторяющиеся задачи, которые часто требуются при предоставлении API, такие как реализация безопасности, регулирование и выставление счетов. Open Source Free Self-Hosted Linux Mac Windows Web-Based
![]()
KrakenD
KrakenD — это высокопроизводительный API-шлюз с промежуточным программным обеспечением, или он также известен как * Backend For Frontend *, поскольку он расположен между клиентским (внешний интерфейс) и исходными серверами (внутренние), предлагая по… Free Rackspace Google Cloud Platform Amazon Web Services Docker Self-Hosted BSD Linux Mac Web-Based
![]()
WSO2 API Manager
WSO2 предоставляет единственную 100% корпоративную платформу с открытым исходным кодом, которая помогает создавать, интегрировать, анализировать и управлять вашими API, приложениями и веб-сервисами локально, в облаке и на мобильных устройствах. Open Source Free Self-Hosted Linux Mac Windows Web-Based
![]()
Tyk
Tyk Открытый, легкий, быстрый и масштабируемый API-шлюз. Установите ограничения скорости, ограничения запросов и автоматическое обновление квот запросов, чтобы управлять доступом пользователей к вашему API. Tyk поддерживает токены доступа, подпись H… Open Source Free Linux Mac Windows
![]()
Apigee
Apigee — это бесплатная платформа инструментов для разработчиков и поставщиков API для отладки, тестирования, защиты и получения аналитики по API. Apigee — это новый интернет API-интерфейсов, в котором миллиарды мобильных устройств, планшетов и прис… Freemium Web-Based
![]()
API Umbrella
API Umbrella — это платформа управления API с открытым исходным кодом для демонстрации API веб-сервисов. Основная цель API Umbrella — облегчить жизнь как создателям API, так и потребителям API. Как? Облегчите жизнь создателям API. Позвольте создател… Open Source Free NGINX Self-Hosted Linux
![]()
Sentinet
Nevatech Sentinet — единственная платформа для управления API и SOA корпоративного класса, написанная на .NET, доступная для локальных, облачных и гибридных сред. Он связывает, осуществляет посредничество и управляет взаимодействиями между службами … Commercial Windows
![]()
Tyk Cloud
Tyk Cloud — это полнофункциональная платформа управления API, основанная на шлюзе API с открытым исходным кодом Tyk, что означает, что вы получаете все функции версии с открытым исходным кодом без каких-либо проблем с интеграцией и реализацией. В ст… Free Linux Web-Based
![]()
3Scale
3scale предоставляет разработчикам и компаниям готовую платформу и инфраструктуру управления облачным API для безопасного открытия, контроля, управления, эксплуатации и монетизации своих API для третьих сторон (например, разработчиков, деловых партн… Web-Based
![]()
What is in this list?
Alternatives to Gravitee.io for Web, Android, iPhone, Windows, iPad and more. Filter by license to discover only free or Open Source alternatives. This list contains a total of 10 apps similar to Gravitee.io.
Filter by tags
- developer-portal
- mobile-apps-development
- backend
- open-source-projects
- api-gateway
- statistics
- ios-development
- api-layer
- api-management
- developer-tools
- api-documentation
- biztalk-integration
- analytics
- backend-for-frontend
- api-analytics
- microservices
- apis
- governance
- api-portal
- soa-governance
- api-platform
- api-monitoring
Gravitee представляет инновационные возможности управления API в рамках последнего обновления
Компания Gravitee, лидер в области управления API, представила в своем последнем обновлении набор принципиально новых инструментов. В этом обновлении клиенты получили более широкие возможности по созданию и раскрытию множества типов API с помощью усовершенствованного мастера создания API в Gravitee.
Мастер создания API расширяет спектр доступных клиентам API: от REST API, WebSocket API, gRPC API, SSE API и GraphQL API до Webhook-подписок, тем Kafka, MQTT и Solace event API. Не останавливаясь на достигнутом, Gravitee сообщает, что мастер создания также был форсирован и позволяет выставлять ресурсы Kafka, MQTT и Solace как REST API, WebSocket API, SSE API и Webhook-подписки.
Еще одним важным шагом стало появление в Gravitee возможности применения политик на уровне сообщений. Эти мощные политики могут быть разработаны заказчиками в недавно представленной студии Gravitee Policy Design, что значительно расширяет возможности настройки и обеспечения безопасности управления API.
В обновлении также реализована расширенная поддержка сериализации и десериализации данных с проверкой на соответствие целевым схемам, хранящимся в специальных реестрах. Эта функция помогает организовать и поддерживать данные, обеспечивая чистоту и последовательность управления API.
Рори Бланделл (Rory Blundell), генеральный директор компании Gravitee, отмечает, что это достижение способствует формированию здорового и конкурентоспособного пространства управления API. Цель Gravitee — предоставить компаниям свободу выбора между API-шлюзами и решениями, не зависящими от протокола. Мы не только продвигаем эту категорию, но и способствуем тому, чтобы она быстрее реагировала на значительные бизнес-возможности в режиме реального времени, предоставляя нашим клиентам необходимые инструменты», — пояснил Бланделл.
В то время как Gravitee делает успехи в области управления API, платформа AppMaster ‘ no-code также предлагает мощные инструменты для управления API, причем как для стартапов, так и для предприятий. Как и Gravitee, AppMaster разделяет концепцию создания конкурентоспособного и продуманного пространства для управления API и облегчения создания бесшовных бэкэнд-, мобильных и веб-приложений. Эти достижения меняют ландшафт управления API и открывают новые перспективы для технологической индустрии.