Джейсон Хармон: «Плохая API-документация — главный риск безопасности»

freeCodeCamp.org 104 тыс. 1 ч 55 мин 3 мин 29.11.2023
Главное

Искусство API-документирования: Как создавать платформы, которые любят разработчики 0:00

Хорошая API-документация — это не просто набор технических инструкций, а фундамент успешного продукта, инструмент обеспечения безопасности и ключевой фактор масштабируемости бизнеса. По словам Джейсона Хармона, CTO в Stoplight, документация является «жизненной силой» современной разработки, способной превратить разрозненный набор функций в полноценную платформу. Этот курс, представленный совместно с APPEC University, охватывает всё необходимое для создания документации, которая помогает разработчикам быстро начать работу и дает уверенность бизнес-лидерам.

🏗️ Определение API-документации и аудитория 2:53

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

Хармон предлагает правило: «Разработчики пробуют, бизнес покупает». Это означает, что контент должен говорить на двух языках:

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

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

📚 Анатомия эталонной документации 9:21

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

Одним из важнейших элементов Хармон называет раздел «Начало работы» (Getting Started). Идеальный путь пользователя — совершить успешный API-вызов менее чем за 5 минут. Если для этого требуется несколько способов авторизации, это «красный флаг» для безопасности.

🔒 Безопасность и «армия зомби» 41:35

Документирование API — это скрытый метод обеспечения безопасности.

⚙️ Автоматизация и качество 61:36

Для масштабирования документации Хармон рекомендует отходить от ручного написания в пользу инструментов, которые генерируют её на основе спецификаций, таких как OpenAPI (ранее Swagger).

Рекомендуемые подходы:

  1. API Style Guides: Использование правил (например, через Stoplight Spectral) позволяет автоматизировать проверку консистентности: наличие контактов, описаний полей и стандартов форматирования.
  2. Линтеры для текста: Инструменты вроде Vale помогают соблюдать единый стиль и корпоративные стандарты написания технического текста.
  3. Интерактивность: Современный стандарт — наличие кнопки «Try it», позволяющей отправить запрос в «песочнице», и примеры кода на разных языках.

🎯 Лучшие практики: итоги

💬 Цитаты

«Разработчики пробуют, бизнес покупает.»

Джейсон Хармон 05:07

«Плохо поддерживаемая или несуществующая документация — это ведущий риск для безопасности.»

Джейсон Хармон 57:03
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
OpenAPI
Стандарт описания RESTful API, позволяющий создавать документацию и инструменты на основе кода.
Bola (Broken Object Level Authorization)
Уязвимость, при которой злоумышленник может получить несанкционированный доступ к объектам данных.
Zombie/Shadow API
Недокументированные и неконтролируемые API, которые продолжают работать в продакшене.
Inverse Conway Maneuver
Стратегия проектирования архитектуры системы, чтобы она соответствовала желаемой структуре организации (а не наоборот).
📊 Цифры
⚖️ Другая сторона
Технологии и IT API documentation OpenAPI Stoplight developer experience cybersecurity