Зачем создавать стратегию управления API? В общих чертах API (интерфейс прикладного программирования) — это модуль кода, который выполняет конкретную задачу и определяет набор протоколов, которые могут использоваться другими для выполнения этой задачи. Однако в современном мире API стали больше, чем просто инструментами: сейчас существует огромная и растущая экономика для кода, который можно легко добавить в приложение для выполнения отдельной задачи. Эффективная расширяет возможности разработчиков, повышает качество программного обеспечения, снижает затраты на разработку, обеспечивает масштабируемость системы и усиливает меры безопасности. стратегия управления API Если ваша организация управляет API и рассматривает возможность сделать этот API общедоступным либо в качестве стратегии монетизации, либо в качестве стратегии повышения узнаваемости бренда, очень важно обеспечить хорошее управление API. Пользователи за пределами вашей организации ожидают хорошего опыта, и вы должны быть готовы предоставить этот опыт через свой API. Именно здесь в игру вступает надежная стратегия . Составление эффективного плана стратегии управления API состоит из трех основных компонентов: определение областей эффективного управления API, принятие решения о том, нужен ли вам инструмент управления API и какой тип инструмента вам следует использовать, и выбор этого инструмента. управления API Шаг первый: определите особенности эффективного управления API Эффективное управление API предполагает контроль за всеми аспектами API, которые будут использовать ваше предприятие или внешние пользователи. Сюда входят производительность, безопасность, авторизация, документация, анализ и доступность. Шлюз API — это уровень между общедоступными и вашими серверными службами. Здесь входящие запросы будут перехватываться и направляться в правильные части вашего API. Вам следует использовать кеширование, ограничение скорости и регулирование, а также группировку ответов, чтобы обеспечить скорость и согласованность для ваших пользователей. Шлюз/доступ. Доступность, скорость и надежность — важнейшие аспекты любого общедоступного API. Вы должны быть в состоянии гарантировать определенное время безотказной работы для своих пользователей и быть в состоянии защитить и восстановить пользовательские данные в случае сбоя или простоя. Определите цели вашего API. Цели производительности Безопасность важна не только для защиты вашего сервера, но и для защиты конфиденциальных данных клиента. Ваша стратегия API должна включать стратегию, защищенную ключом API, сертификатом клиента или стратегией OAuth. Даже если ваш API предоставляет данные, которые не являются конфиденциальными, сетевые запросы, которые он обрабатывает, все равно должны быть защищены. Безопасность/типы авторизации После авторизации аутентификация и управление политиками важны для определения ролей пользователей и группового доступа, а также для управления удостоверениями и привилегиями. Это повышает безопасность, ограничивая ресурсы, доступные тем или иным пользователям, и улучшает организацию ваших пользователей. Аутентификация/управление политиками Интуитивно понятный портал разработчиков и хорошая документация также имеют решающее значение для хорошего управления API. Ваш портал разработчика должен включать в себя песочницу, где разработчики могут тестировать ваши конечные точки, каталог API с описанием всех доступных API в вашей организации, а также понятную документацию с возможностью поиска с руководствами по началу работы и выполнению типичных задач. Портал разработчиков/документация Ваша аналитика даст вам ценную информацию о том, как люди используют ваш API, что позволит вам сосредоточить ресурсы на тех областях, которые будут наиболее прибыльными. Кроме того, аналитика часто полезна для ваших пользователей. Аналитика Шаг второй: рассмотрите возможность использования прокси, агента или гибридного подхода Решения для управления API могут решить за вас одну или несколько из этих задач. Решения предоставляются через прокси, агентов или гибридные подходы. Прокси-решение находится между API и его пользователями. Прокси-серверы предлагают такие преимущества, как кэширование для оптимизации производительности и защиты API от внезапных скачков трафика. Однако использование прокси-сервера потенциально может привести к увеличению затрат и проблем, связанных с конфиденциальностью и задержками. Примеры таких реализаций прокси включают Apigee, Mashape и Mashery. Прокси. Агенты — это плагины, которые бесперебойно работают вместе с вашим сервером. В отличие от прокси, они не мешают вызовам API. Следовательно, они не вызывают сетевых задержек или внешних зависимостей. Однако реализация таких функций, как кэширование, может оказаться сложной задачей. Примером такого типа реализации является 3scale. Агенты Чтобы получить преимущества от обеих реализаций, вы можете использовать агент и прокси-сервер в сочетании. Например, вы можете выбрать прокси-сервер для кэширования при использовании агента в целях аутентификации. Такие компании, как Apigee и 3scale, переходят на гибридные решения. Гибрид. Шаг третий: определите, какой инструмент лучше всего подходит для вашего управления API Некоторые из лучших включают следующее: инструментов управления API облачная платформа, которая может выполнять за вас все аспекты управления API. Mulesoft Anypoint: собственная платформа управления API Google, которую можно использовать для создания, управления и защиты API. Apigee: создан для поддержки жизненного цикла DevOps. Интегрируется с Selenium и Jenkins для тестирования. IBM API Connect: система управления API RedHat, которая предоставляет гибкие решения для упаковки ваших API. 3Scale: Чтобы определить, какое решение вам подходит, потребуется оценка вашего бюджета, существующих ресурсов (т. е. людей, которые у вас есть в штате для работы над этим), ваших потребностей и ожидаемого масштаба вашего API. Могу ли я управлять своими API самостоятельно или мне следует нанять внешнюю помощь? Это полностью зависит от вас. Если у вас достаточно большая организация, чтобы выделить команду для управления API, возможно, вы сможете справиться с этим самостоятельно. Но управление API — сложная и специализированная задача, и ее не следует просто перекладывать на уже перегруженных работой инженеров в других подразделениях вашей компании.