На встрече APIOps Helsinki в ноябре 2018 года мы говорили о сложных API и сложных решениях, связанных с ними, в течение 2 часов, включая презентации Матти Писиля, Forenom и Томаса Хейсканена, Fourkind, об API динамического ценообразования Forenom.

API динамического ценообразования, используемый для расчета цен на гостиничные апартаменты Forenom с самообслуживанием, был сочтен сложным, потому что он использовал алгоритм машинного обучения, обучающийся на лету, и каждая покупка учила его быть лучше. Хотя сам API имеет очень простой интерфейс, сложность кроется под капотом. Со всеми облачными компонентами AWS и серверной интеграцией масштабирование было сложной задачей.

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

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

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

После презентации и закусок, спонсируемых Forenom, мы продолжили более подробное обсуждение некоторых проблем и их решений.

Мы обсудили эти вопросы, которые затрудняют реализацию.

  • Дизайн
  • Интеграции с бэкендами
  • Бизнес правила
  • Производительность и стратегии кэширования
  • Сетевые соединения
  • Безопасность
  • Офисная политика и культура
  • Выбор правильных строительных блоков для архитектуры

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

Мы также кратко обсудили трудности с использованием API, в основном документацию или ее отсутствие, а также использование необычных стратегий аутентификации. Мы рассмотрели несколько примеров API и обсудили, как решать конкретные проблемы, такие как обработка транзакций с помощью REST API без сохранения состояния. GraphQL также немного упоминался, но поскольку у нас недавно была встреча по этому поводу, мы в основном обсуждали, подходит ли Open API, по крайней мере, сгенерированный из кода, для документации, и является ли OpenID Connect слишком сложным для использования или его следует использовать для сервера. потоки к серверу.

Если вам интересно узнать больше по этим темам, вот список ссылок:



Посмотрите видео о циклах APIOps с саммита платформы NordicAPIs Platform Summit 2018: https://www.osaango.com/blog/apiops-cycles-method-in-nordicapis-platform-summit-2018

Многие проблемы проектирования и способы их предотвращения или решения представлены в виде исследований и примеров из практики в книге API Economy 101. Он был очень популярен в Финляндии, и многие требовали, чтобы он был также и на английском языке. Помогите нам перевести ее, приняв участие в нашей краудфандинговой кампании на сумму 9 евро или более, крайний срок — 18 декабря 2018 года. Взамен вы получите книгу, и ею смогут пользоваться многие студенты, преподаватели и специалисты.

Если вы хотите организовать встречу, выступите на ней или спонсируйте, свяжитесь со мной в Meetup или LinkedIn. Встречи бесплатны для участников.