Что такое API Sprawl? Как предотвратить API Sprawl?

Zhihuang Lin

Zhihuang Lin

May 6, 2024

Technology

Введение

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

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

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

Причины API Sprawl

API sprawl в основном вызван несколькими факторами:

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

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

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

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

Влияние API Sprawl

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

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

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

api sprawl

Практический кейс и анализ

Инцидент с утечкой данных пользователей, с которым столкнулся Twitter в 2022 году, предоставляет реальный пример потенциальных опасностей API sprawl. В этом инциденте данные как минимум 5,4 миллионов пользователей, включая номера телефонов и адреса электронной почты, были незаконно получены. Появление этой уязвимости безопасности подчеркивает недостатки в управлении безопасностью API для многих предприятий, особенно в условиях быстрого роста и разрозненного распределения API.

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

Предотвращение API sprawl

Для эффективного предотвращения API sprawl предприятия могут предпринять следующие меры.

1. Установить и соблюдать единые стандарты API

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

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

2. Усилить внутреннюю коммуникацию и сотрудничество

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

  • Создать портал разработчиков как платформу для обмена ресурсами, чтобы поощрять команды повторно использовать существующие API, тем самым повышая эффективность разработки и использование ресурсов.

3. Уделять приоритетное внимание поддерживаемости и масштабируемости API

  • Внедрить контроль версий для отслеживания и управления историей изменений API.

  • Ввести автоматизированное тестирование и мониторинг, чтобы гарантировать качество и производительность API. Эти меры помогают своевременно обнаруживать и исправлять проблемы, обеспечивая надежную работу API и снижая долгосрочные затраты на обслуживание.

4. Внедрить API-шлюзы

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

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

5. Усилить защиту безопасности API

  • Согласно Отчету о защите приложений за 2021 год от F5, почти две трети инцидентов безопасности API вызваны полным раскрытием API. Поэтому усиление защиты безопасности API имеет решающее значение.

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

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

6. Регулярно пересматривать и оптимизировать ресурсы API

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

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

7. Развивать способности разработчиков в проектировании и управлении API

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

  • Поощрять разработчиков участвовать в проектировании и планировании API, чтобы повысить их чувство ответственности и владения. Пропагандировать философию проектирования "API First", чтобы гарантировать, что потребности и удобство использования API полностью учитываются на ранних этапах проектирования системы.

8. Установить механизмы обратной связи

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

  • Создать специальные каналы для сбора и анализа данных обратной связи для постоянной оптимизации и улучшения API.

Заключение

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

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

Tags: