Непрерывное развитие API. Правильные решения в изменчивом технологическом ландшафте
Для реализации API необходимо провести большую работу. Чрезмерное планирование может стать пустой тратой сил, а его недостаток приводит к катастрофическим последствиям. В этой книге вы получите решения, которые позволят вам распределить необходимые ресурсы и достичь требуемого уровня эффективности за оптимальное время.
Как соблюсти баланс гибкости и производительности, сохранив надёжность и простоту настройки? Четыре эксперта из Академии API объясняют разработчикам ПО, руководителям продуктов и проектов, как максимально увеличить ценность их API, управляя интерфейсами как продуктами с непрерывным жизненным циклом.
- Узнайте, какими решениями по API вам нужно управлять, где и как это делать.
- Используйте подход «API как продукт» (AaaP).
- Изучите десять базовых принципов, на которых строится работа с продуктами API.
- Узнайте, как модель непрерывного улучшения управляет изменениями в течение жизненного цикла API.
- Исследуйте пять стадий полного жизненного цикла продукта API.
- Узнайте, как управлять средой API – системой API, выпущенных вашей организацией
«Управление жизненным циклом API – это спектр технологий, продуктов, организационных и культурных особенностей, необходимых для успешного использования API. Книга раскрывает все вопросы темы как для начинающих, так и для опытных разработчиков API. Она обязательна к прочтению для каждого, кто считает себя специалистом по API».
Крис Вуд, консультант по API, постоянный автор Nordic APIs
Об авторах:
Мехди Меджуи – ведущий API-экономист Академии API. Является сооснователем OAuth.io и экспертом комиссии ЕС-2020 в области правительственных API.
Эрик Уайлд – главный консультант Академии API, отвечает за цифровую трансформацию, а также разработку API и управление ими.
Ронни Митра – ведущий проектировщик Академии API, специализирующийся на разработке особо важных API и организационных систем.
Майк Амундсен – ведущий разработчик архитектуры Академии API, помогает компаниям зарабатывать на возможностях API.
Автор(ы) | Мехди Меджуи, Эрик Уайлд, Ронни Митра, Майк Амундсен |
Переводчик | А. Григорьева |
Издательство | Питер |
Серия | Бестселлеры O'Reilly |
Год издания | 2020 |
ISBN | 978-5-4461-1232-6 |
Возрастное ограничение | 16+ |
Кол-во страниц | 272 |
Формат страниц | 70x100/16 (170x240 мм) |
Язык | Русский |
Переплёт | Мягкий |
Доп. сведения | Офсетная бумага |
Иллюстрации | черно-белые |
Тираж | 500 экз. |
Вес | 360 г |
Вступление..............................................................................................................................................11
Предисловие...........................................................................................................................................13
Кому следует прочесть эту книгу.......................................................................................13
Что вы найдете в книге..........................................................................................................14
Структура издания..................................................................................................................14
Чего нет в этой книге..............................................................................................................15
Условные обозначения..........................................................................................................15
Благодарности........................................................................................................................................17
От издательства.....................................................................................................................................18
Глава 1. Сложности в управлении API ....................................................................................... 19
Что такое управление API...........................................................................................................20
Что такое API............................................................................................................................21
Больше чем просто API.........................................................................................................22
Стадии развития API..............................................................................................................23
Больше одного API..................................................................................................................23
API в бизнесе.............................................................................................................................24
Почему управлять API — сложно.............................................................................................25
Объем...........................................................................................................................................26
Масштаб......................................................................................................................................27
Стандарты...................................................................................................................................27
Управление системой API...........................................................................................................28
Технология.................................................................................................................................29
Команды......................................................................................................................................30
Руководство...............................................................................................................................31
Выводы...............................................................................................................................................32
Глава 2. Руководство API ................................................................................................................ 33
Что такое руководство API.........................................................................................................34
Решения......................................................................................................................................34
Руководство решениями.......................................................................................................35
Управление сложными системами....................................................................................36
Руководство решениями..............................................................................................................39
Централизация и децентрализация...................................................................................40
Элементы решения..................................................................................................................45
Планирование решений.........................................................................................................50
Разработка системы руководства.............................................................................................52
Схема руководства 1: контроль интерфейса..................................................................54
Схема руководства 2: автоматизированное
руководство................................................................................................................................55
Схема руководства 3: совместное руководство.............................................................56
Выводы...............................................................................................................................................57
Глава 3. API как продукт ................................................................................................................. 58
Дизайн-мышление.........................................................................................................................59
Соответствие требованиям потребителей.......................................................................60
Конкурентная бизнес-стратегия.........................................................................................61
Устав Безоса..............................................................................................................................61
Применение дизайн-мышления к API.............................................................................62
Поддержка новых клиентов........................................................................................................63
Время до «Вау!»........................................................................................................................64
Поддержка новых клиентов ваших API...........................................................................66
Опыт разработчика........................................................................................................................67
Познакомьтесь с целевой аудиторией..............................................................................68
Проще и безопаснее................................................................................................................72
Выводы...............................................................................................................................................76
Глава 4. Десять столпов API ........................................................................................................... 77
Знакомство со столпами..............................................................................................................77
Стратегия....................................................................................................................................78
Дизайн..........................................................................................................................................81
Документация...........................................................................................................................85
Разработка..................................................................................................................................88
Тестирование.............................................................................................................................91
Развертывание..........................................................................................................................94
Безопасность..............................................................................................................................98
Мониторинг...............................................................................................................................99
Обнаружение и продвижение............................................................................................101
Управление изменениями...................................................................................................104
Выводы.............................................................................................................................................105
Глава 5. Непрерывное улучшение API ..................................................................................... 106
Изменения в API..........................................................................................................................107
Жизненный цикл релиза API............................................................................................107
Изменение модели интерфейса........................................................................................109
Изменения в реализации.....................................................................................................111
Изменение экземпляра........................................................................................................112
Изменения в ресурсах поддержки...................................................................................113
Непрерывное управление изменениями..............................................................................113
Постепенное улучшение......................................................................................................114
Скорость изменения API....................................................................................................116
Улучшение изменяемости API................................................................................................118
Затраты ресурсов...................................................................................................................118
Стоимость упущенной возможности..............................................................................119
Затраты из-за связанности.................................................................................................119
Выводы.............................................................................................................................................121
Глава 6. Жизненный цикл продукта с API .............................................................................. 122
Измерения и ключевые моменты...........................................................................................123
OKR и KPI...............................................................................................................................123
Определение цели API.........................................................................................................125
Определение измеримых результатов............................................................................126
Жизненный цикл продукта с API...........................................................................................128
Стадия 1: создание.................................................................................................................129
Стадия 2: публикация...........................................................................................................130
Стадия 3: окупаемость..........................................................................................................132
Стадия 4: поддержка.............................................................................................................134
Стадия 5: удаление................................................................................................................134
Применение жизненного цикла продукта к столпам.......................................................136
Создание....................................................................................................................................137
Публикация.............................................................................................................................140
Окупаемость............................................................................................................................143
Поддержка................................................................................................................................145
Удаление...................................................................................................................................146
Выводы.............................................................................................................................................147
Глава 7. Команды по API ............................................................................................................... 148
Обязанности в команде по API...............................................................................................149
Деловые обязанности...........................................................................................................151
Технические обязанности...................................................................................................153
Команды по API............................................................................................................................155
Команды и развитие API.....................................................................................................155
Масштабирование команд..................................................................................................161
Команды и обязанности в Spotify....................................................................................162
Масштабирование команд на бумаге..............................................................................164
Культура и команды....................................................................................................................164
Как работает закон Конвея.................................................................................................166
Разумное использование чисел Данбара.......................................................................167
Поддержка экспериментов.................................................................................................170
Выводы.............................................................................................................................................172
Глава 8. Системы API ..................................................................................................................... 173
Археология API.............................................................................................................................175
Управление API в больших масштабах................................................................................176
Принцип платформы............................................................................................................177
Принципы, протоколы и шаблоны..................................................................................179
Системы API как языковые системы..............................................................................182
Выражать API через API.....................................................................................................183
Понимание системы....................................................................................................................185
Восемь аспектов систем API.....................................................................................................186
Разнообразие...........................................................................................................................187
Словарь......................................................................................................................................188
Объем.........................................................................................................................................192
Скорость....................................................................................................................................193
Уязвимость...............................................................................................................................194
Видимость................................................................................................................................195
Контроль версий....................................................................................................................197
Изменяемость..........................................................................................................................198
Выводы.............................................................................................................................................199
Глава 9. Путь системы API ............................................................................................................ 200
Структурирование руководства в системе API.................................................................201
Жизненный цикл руководства в системе API....................................................................204
Центр подготовки.........................................................................................................................205
Развитие и восемь аспектов......................................................................................................209
Разнообразие...........................................................................................................................210
Словарь......................................................................................................................................212
Объем.........................................................................................................................................215
Скорость....................................................................................................................................217
Уязвимость...............................................................................................................................219
Видимость................................................................................................................................222
Контроль версий....................................................................................................................224
Изменяемость..........................................................................................................................226
Выводы.............................................................................................................................................228
Глава 10. Управление жизненным циклом API в развивающейся системе ................ 229
Продукты с API и столпы жизненного цикла....................................................................230
Системы API............................................................................................................................230
Момент принятия решения и развитие.........................................................................231
Аспекты системы и столпы жизненного цикла API.........................................................232
Стратегия..................................................................................................................................233
Дизайн........................................................................................................................................235
Документация.........................................................................................................................238
Разработка................................................................................................................................241
Тестирование...........................................................................................................................245
Развертывание........................................................................................................................250
Безопасность............................................................................................................................254
Мониторинг.............................................................................................................................257
Обнаружение...........................................................................................................................260
Управление изменениями...................................................................................................264
Выводы.............................................................................................................................................267
Глава 11. Продолжение путешествия ........................................................................................ 268
Готовимся к будущему...............................................................................................................269
Начните управлять сегодня......................................................................................................270
Об авторах.............................................................................................................................................271
Об обложке............................................................................................................................................272