paint-brush
Как создать стратегию управления API?к@tracyvinson
939 чтения
939 чтения

Как создать стратегию управления API?

к Tracy Vinson4m2023/11/01
Read on Terminal Reader

Слишком долго; Читать

Эффективная стратегия управления API расширяет возможности разработчиков, повышает качество программного обеспечения, снижает затраты на разработку и обеспечивает масштабируемость системы.
featured image - Как создать стратегию управления API?
Tracy Vinson HackerNoon profile picture
0-item

Зачем создавать стратегию управления API?

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


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


Именно здесь в игру вступает надежная стратегия управления API . Составление эффективного плана стратегии управления API состоит из трех основных компонентов: определение областей эффективного управления API, принятие решения о том, нужен ли вам инструмент управления API и какой тип инструмента вам следует использовать, и выбор этого инструмента.



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



Шаг первый: определите особенности эффективного управления API

Эффективное управление API предполагает контроль за всеми аспектами API, которые будут использовать ваше предприятие или внешние пользователи. Сюда входят производительность, безопасность, авторизация, документация, анализ и доступность.



Функции для эффективного управления API



  1. Шлюз/доступ. Шлюз API — это уровень между общедоступными и вашими серверными службами. Здесь входящие запросы будут перехватываться и направляться в правильные части вашего API. Вам следует использовать кеширование, ограничение скорости и регулирование, а также группировку ответов, чтобы обеспечить скорость и согласованность для ваших пользователей.


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


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


  4. Аутентификация/управление политиками После авторизации аутентификация и управление политиками важны для определения ролей пользователей и группового доступа, а также для управления удостоверениями и привилегиями. Это повышает безопасность, ограничивая ресурсы, доступные тем или иным пользователям, и улучшает организацию ваших пользователей.


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


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


Шаг второй: рассмотрите возможность использования прокси, агента или гибридного подхода

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



Подходы/решения для управления API



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


  2. Агенты Агенты — это плагины, которые бесперебойно работают вместе с вашим сервером. В отличие от прокси, они не мешают вызовам API. Следовательно, они не вызывают сетевых задержек или внешних зависимостей. Однако реализация таких функций, как кэширование, может оказаться сложной задачей. Примером такого типа реализации является 3scale.


  3. Гибрид. Чтобы получить преимущества от обеих реализаций, вы можете использовать агент и прокси-сервер в сочетании. Например, вы можете выбрать прокси-сервер для кэширования при использовании агента в целях аутентификации. Такие компании, как Apigee и 3scale, переходят на гибридные решения.


Шаг третий: определите, какой инструмент лучше всего подходит для вашего управления API

Некоторые из лучших инструментов управления API включают следующее:



Лучший инструмент для управления API



  • Mulesoft Anypoint: облачная платформа, которая может выполнять за вас все аспекты управления API.
  • Apigee: собственная платформа управления API Google, которую можно использовать для создания, управления и защиты API.
  • IBM API Connect: создан для поддержки жизненного цикла DevOps. Интегрируется с Selenium и Jenkins для тестирования.
  • 3Scale: система управления API RedHat, которая предоставляет гибкие решения для упаковки ваших API.


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


Могу ли я управлять своими API самостоятельно или мне следует нанять внешнюю помощь?

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