Как понять, что вам нужна API management платформа

Как понять, что вам нужна API management платформа

Есть такой класс систем – API Management. Это платформы для управления программными интерфейсами приложений, без которых сложно представить себе современную разработку ПО. Нам часто приходится переводить клиентов с «монолита» на микросервисы, так что пользу от этого инструмента (и его отсутствия) смогли прочувствовать по полной. Хотим рассказать о том, в каких ситуациях внедрение API Management оправдано, и кто разрабатывает эти системы.

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

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

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

Для решения отдельных задач, например, создания, тестирования, документирования и развертывания API, есть отдельные утилиты. Баги можно пытаться отловить типовыми средствами мониторинга приложений. Но только подход к управлению API как к продукту способен за счет централизации управления дать нужную прозрачность и быстродействие всех процессов.

Итак, какие задачи решает платформа API Management?

  • Хранение знаний по существующим API
  • Разработка схем API, их документирование
  • Развертывание API
  • Контроль доступа к API
  • Биллинг трафика, проходящего через API
  • Отслеживание ошибок работы с API в реальном времени
  • Мониторинг использования API с построением аналитики

Как видите, платформа охватывает весь жизненный цикл API, что и дает нужный эффект.

Когда стоит задуматься об API management

Существует три основных сценария, когда вам может потребоваться такая платформа. Разместим их в порядке частоты встречаемости.

Микросервисная разработка ПО со сложной архитектурой

Итак, вы ведете микросервисную разработку ПО, спокойно пользуетесь для тестирования API такими инструментами, как Soap UI или Postman. По каким критериям определить, что пришло время API Management?

Предлагаем такой: Если у вас более 10 микросервисов с API, и более 7 из них достаточно часто обновляются, то платформа уже себя оправдает.

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

Груминг IT-ландшафта при импортозамещении или цифровой трансформации

Крупные компании сталкиваются с необходимостью срочно переходить на «цифровые рельсы» и проводить импортозамещение в сфере IT. Для этого на первых порах нужно навести порядок с API существующего ПО, понять, где есть дублирование функций, что можно переиспользовать.

Скорее всего, приличное количество Legacy-приложений можно будет встроить в новый ландшафт, если обеспечить требуемый уровень безопасности API и интероперабельности. А когда придет пора менять какие-то элементы на новые, платформа поможет осуществить бесперебойное развертывание.

Запуск цифровых продуктов и монетизация API

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

Также полезным окажется способность платформы сгенерировать понятную документацию на API для пользователей сервиса и дать им возможность настроить и проверить подключение.

Если тема вас заинтересовала, пройдемся немного по составу платформы.

Архитектура API management платформы

Основными элементами платформы являются:

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

Портал разработчика. Это база знаний об API, содержащая описание API, настройки, логи, текущий статус, статистику использования API.

Модуль безопасности API. Отвечает за аутентификацию, авторизацию, аудит и безопасный доступ к API.

Как понять, что вам нужна API management платформа

Модуль мониторинга. Отвечает за анализ активности использования API, мониторинг их работоспособности. В случае обнаружения проблем рассылает оповещения.

Модуль разработки API. Это набор инструментов для разработки API. Часто поддерживает автоматическое создание спецификации OpenAPI и подход API First.

Модуль тестирования API. Это набор инструментов для тестирования создаваемых и уже существующих API. Проверки включают не только корректность выполнения основных запросов, но и функциональное тестирование, тестирование производительности и security-тесты.

Управляющий модуль. Это система управления, позволяющая всем модулям действовать сообща.

Рынок API Management

Набор возможностей реальных платформ, представленных на рынке, заметно отличается, но им стоит посвятить отдельную статью. Пока же обойдемся квадратом Gartner за 2021 год, на котором показаны основные вендоры платформ API Management.

Источник: <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.gartner.com%2Fdoc%2Freprints%3Fid%3D1-27KLXZ98%26amp%3Bct%3D211001%26amp%3Bst%3Dsb&postId=407439" rel="nofollow noreferrer noopener" target="_blank">Gartner, 2021</a>
Источник: Gartner, 2021

Все предлагаемые API Management платформы являются коммерческими продуктами. Некоторые, например Tyk, Kong, WSO2 API Manager и Gravitee, имеют опенсорсные версии своих продуктов с очень сильно порезанным функционалом. Мы в своей практике чаще используем другой продукт - Gravitee, несмотря на то, что это решение не имеет большой доли рынка, а потому не входит в квадрат Gartner. Ну и Postman, конечно.

Под конец пару слов о недостатках API Management платформ. Их всего два. Первое – они платные, и их стоимость придется закладывать в себестоимость предоставляемых сервисов. Либо можно использовать бесплатные OpenSource модели, смирившись с минимальным функционалом. Второе – они увеличивают время ожидания ответа (Latency) от API, так как по сути перехватывают запрос и добавляют свою обработку. Но тут не стоит забывать, что и обычные запросы к API чаще всего перехватываются ребалансировщиком. Платформа может взять на себя эту функцию, и тогда разница в скорости обработки будет исчезающе мала.

Итак, мы рассмотрели основные сценарии, при которых внедрение API Management платформ дает хороший результат. Если вы используете такого рода продукты в своей практике, пожалуйста, поделитесь впечатлениями.

33
Начать дискуссию