Упростите управление жизненным циклом API Product

Bobur Umurzokov

Bobur Umurzokov

March 28, 2023

Technology

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

Полное управление жизненным циклом API (APIM) охватывает весь срок существования API, начиная с этапа планирования и заканчивая выводом API из эксплуатации. Многие этапы жизненного цикла интегрированы с API-шлюзом (основным компонентом системы управления API). В этой статье мы рассмотрим 3 ключевых этапа жизненного цикла API-продукта: создание, управление и использование, а также исследуем, почему API-шлюз важен на каждом этапе жизненного цикла.

10 типичных этапов жизненного цикла API

Жизненный цикл API — это модель, которая может помочь вам отслеживать прогресс вашего API и адаптировать управление по мере его развития. В целом, управление жизненным циклом API можно разделить на несколько этапов:

  1. Создание - Проектирование и разработка вашего API.
  2. Тестирование - Проверка функциональности, производительности и безопасности.
  3. Публикация - Предоставление доступа к API разработчикам.
  4. Защита - Снижение рисков и проблем безопасности.
  5. Управление - Поддержка и управление API для обеспечения их функциональности, актуальности и соответствия бизнес-требованиям.
  6. Внедрение - Помощь разработчикам в быстром освоении использования API. Например, предоставление документации OpenAPI или AsyncAPI, а также портала и песочницы.
  7. Анализ - Обеспечение наблюдаемости и анализ данных мониторинга для понимания использования и выявления проблем.
  8. Продвижение - Реклама API для разработчиков, например, их размещение на API-маркетплейсе.
  9. Монетизация - Включение возможности взимания и сбора платы за использование API. Мы рассматриваем этот аспект управления жизненным циклом API как отдельный этап в следующем разделе.
  10. Вывод из эксплуатации - Поддержка устаревания и удаления API, что происходит по различным причинам, включая изменения бизнес-приоритетов, технологические изменения и проблемы безопасности.

Управление жизненным циклом API-продукта

Учитывайте, что существует четыре общепринятых этапа жизненного цикла продукта, такие как разработка, рост, зрелость и упадок, через которые проходят все продукты с точки зрения рыночного спроса. Если мы применим концепцию жизненного цикла продукта к API, то получим жизненный цикл API-продукта, состоящий из 5 этапов: создание, публикация, реализация, поддержка и вывод из эксплуатации. Этот список можно сузить до 3 основных фаз: создание, управление и использование, интегрируя API-шлюз для управления полным жизненным циклом API-продукта.

На приведенной ниже диаграмме показано, как управление жизненным циклом API интегрируется с API-шлюзом и серверными службами:

Интеграция управления жизненным циклом API с API-шлюзом

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

API-шлюз решает ключевые проблемы

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

Вот обзор ключевых проблем, которые может решить API-шлюз:

  • Уменьшение связанности за счет использования адаптера/фасада между фронтендом и бэкендом.
  • Упрощение потребления за счет агрегирования/трансляции серверных служб.
  • Защита API от чрезмерного использования и злоупотреблений с помощью обнаружения и устранения угроз.
  • Понимание того, как используются API (наблюдаемость).
  • Управление API как продуктами с помощью управления жизненным циклом API.
  • Монетизация API с использованием управления учетными записями, выставления счетов и оплаты.

Этап создания API

Этап создания API — это первый этап процесса управления жизненным циклом API-продукта, на котором вы проектируете, оркестрируете, трансформируете, документируете и тестируете ваш API. На этом этапе современные API-шлюзы, такие как Apache APISIX, могут быть полезны для создания API с нуля или импорта определений API из различных источников, таких как структура OpenAPI YAML/JSON, для регистрации маршрутов и апстримов.

Возможно, вы захотите предоставить новый API, объединяющий информацию из других существующих API. С помощью возможности композиции ответов API-шлюза вы можете достичь этого. Или вы подключаете внутренние и внешние системы через новый API, где они используют разные форматы для общения, например, от XML/SOAP к JSON REST и наоборот. У вас есть существующий REST API, но вы создаете новый GraphQL API. Например, Apache APISIX позволяет вам преобразовать GraphQL API в REST API.

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

Этап управления API

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

На этом же этапе вы можете использовать различные стратегии выпуска API с API-шлюзом для мгновенного развертывания API в целевой среде (разработка, тестирование, стейджинг и производство) без дополнительных усилий и простоев. Вы интегрируете API с инструментами DevOps, чтобы эффективно сократить время развертывания, используя лучшие практики Continuous Integration/Continuous Development (CI/CD).

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

Этап использования API

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

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

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

Итог

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

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

Связанные ресурсы

Рекомендуемый контент

Tags: