Что такое подход, ориентированный на API?
Подход, ориентированный на API, резко контрастирует с подходом, ориентированным на код, когда команда начинает с проектирования функциональности приложения, написания кода, а затем добавления API в конце процесса.
В Zonos, создание программного обеспечения с использованием подхода, ориентированного на API, означает проектирование решений вокруг API, а не кодирование приложения и добавление API позже. Это означает, что наши API являются первостепенными и продуктами в их собственном смысле; мы проектируем их с интенсивным вниманием к потребностям клиентов и четко документируем и архитектурируем их перед написанием любого кода.
Преимущества подхода, ориентированного на API
Подход, ориентированный на API, помогает установить следующий образ мышления:
- Мы понимаем, что наши API являются основным интерфейсом для наших клиентов, и поэтому рассматриваем их как наши публичные поставляемые объекты.
- Документирование перед написанием кода дает нам возможность рассуждать, обсуждать, уточнять и общаться с нашей целью с нашими командами и заинтересованными сторонами для создания лучшего конечного продукта.
- Поскольку мы сосредотачиваемся на потребностях наших клиентов, мы понимаем, как лучше всего проектировать API, которые отвечают этим потребностям.
Этот образ мышления ставит наши API и клиентов в центр и имеет решающее значение для создания основы, где каждый в Zonos отвечает за успех клиентов.
Команды разработки могут работать параллельно
Подход, ориентированный на API, включает установление контракта. Создание контракта между услугами, который соблюдается командами по всей организации, позволяет этим командам одновременно работать над несколькими API. Разработчикам не нужно ждать выпуска обновлений API перед переходом к следующему API. Команды могут одновременно выполнять имитационное тестирование API и зависимостей API на основе предварительно установленных определений API.
Снижает стоимость разработки
API и код можно повторно использовать во многих различных проектах. В рамках подхода, ориентированного на API, если команда разработки хочет создать новое приложение, ей не нужно начинать с нуля, экономя время и деньги. Дизайн, ориентированный на API, также позволяет решить большинство проблем перед написанием любого кода, что помогает предотвратить проблемы при интеграции API с приложениями.
Увеличивает скорость выхода на рынок
Большую часть процесса построения API можно автоматизировать с помощью инструментов для импорта файлов определения API. Мы начинаем с генерирования основных типов, определений и схем; с помощью этих файлов инструменты API, такие как документация API, комплекты для разработки программного обеспечения (SDK) и имитационные API, могут быть автоматически сгенерированы. Автоматизация значительно ускоряет разработку API и приложений.
API-first также делает возможным добавление новых услуг и технологий в приложения без необходимости переархитектуры всей системы. Zonos должен доставлять функции в производство быстро, чтобы оставаться конкурентоспособным на постоянно меняющемся рынке SaaS для международной торговли. Легче устранить техдолг в основном коде, чем переводить клиентов с плохо спроектированного API.
Обеспечивает хороший опыт разработчика
Потребители API чаще всего являются разработчиками, и опыт разработчика (DX) может определить успех или неудачу API. Подход, ориентированный на API, гарантирует, что опыт разработчика положительный, потому что хорошо спроектированный, хорошо документированный, согласованный API легче изучить и повторно использовать. Это также увеличивает скорость реализации. Все эти преимущества взаимосвязаны!
Увеличивает долгосрочный успех
Подход, ориентированный на API, позволяет быстро прототипировать и выполнять итерации, что означает, что мы быстрее узнаём, что работает и что нет. Как 1000 неудачных попыток Эдисона перед созданием лампочки, API-first означает, что мы быстро терпим неудачу и идём вперёд с лучшим пониманием того, как достичь успеха. API-first увеличивает наш долгосрочный успех, гарантируя, что API надёжны, согласованы и легки в использовании для разработчиков.
Почему работа в обратном направлении эффективна?
В 2015 году у меня была возможность переделать сайт электронной коммерции популярного бренда потребительских товаров. Я оценил различные ключевые показатели эффективности (KPI), связанные с существующей системой, и было ясно, где можно было бы добиться наибольших улучшений:
- Коэффициент конверсии на рабочем столе был ниже стандарта.
- Коэффициент конверсии на мобильном устройстве был просто ужасен.
- Процент мобильного трафика быстро увеличивался и превысил бы 50% от общего трафика в течение следующих 12 месяцев. Из-за ужасного коэффициента конверсии мобильных устройств большая часть мобильного трафика была нежелательна.
Учитывая данные, что создаст максимальную ценность для пользователей? Было очевидно: исправить проблемы с мобильным пользовательским опытом сайта. Поэтому я применил подход, ориентированный на мобильные устройства, к переделке сайта. Это означало, что все дизайны, архитектура, API и т. д. сначала рассматривали мобильный опыт. Это было противоположно традиционному подходу в то время, который сначала сосредоточился на настольном опыте, часто оставляя мобильный опыт как неловко прикреплённое приложение с низким коэффициентом конверсии. Подход, ориентированный на мобильные устройства, также требовал больше работы в начале — это был не самый простой путь. Была необходима новая архитектура, пришлось бы написать новые API, и требовались множественные дизайны для каждой контрольной точки.
Подход, ориентированный на мобильные устройства, привел к значительному увеличению коэффициента конверсии мобильных устройств. Новая архитектура также принесла впечатляющие прибыли в коэффициент конверсии на рабочем столе. Подход был успешным, потому что он выявил, как создать максимальную ценность для пользователей, и сосредоточил весь подход на обеспечении этой ценности. Это создало правильное мышление с самого начала. Точно так же — хотя это может показаться работой в обратном направлении — подход, ориентированный на API, создаёт возможности выявить всеобъемлющие проблемы, а затем создать основу для их решения.
Какова ответственность инженерии?
Образ мышления, ориентированный на API, привел и будет продолжать приводить Zonos к успеху, и инженерия играет неотъемлемую роль. Наша ответственность — всегда поддерживать образ мышления, ориентированный на API. Это означает, что мы постоянно задаём вопросы, которые сохраняют фокус на наших API, такие как: «Как наши API могут удовлетворить потребности клиентов». Это также означает, что мы всегда отвечаем на вопросы о функциях и функциональности ссылкой на нашу документацию API. Если документация не существует, то мы её создаём — работая вместе в кроссфункциональных командах, чтобы убедиться, что у Zonos есть отличная документация API.
Как подход, ориентированный на API, формирует будущее Zonos
Интересно, что означает быть компанией, ориентированной на API? Прочитайте взгляд вице-президента инженерии Zonos Эндрю Спенсера на то, как подход, ориентированный на API, формирует будущее Zonos.
Zonos — это компания, ориентированная на API. В этом коротком утверждении содержится много информации. Так что же это на самом деле означает? Этот блог разберёт концепцию компании, ориентированной на API, как продемонстрировано Zonos.
Если мы утверждаем, что Zonos — это компания, ориентированная на API, то из этого следует, что наши API являются основной стратегией, через которую мы достигаем нашей миссии создания доверия в глобальной торговле. Тактически это означает, что мы должны придерживаться подхода, ориентированного на API, во всём, что мы делаем. Когда мы рассматриваем потребности клиента, мы сначала спрашиваем: «Как наши API могут удовлетворить потребности клиента?»
Чтобы лучше понять, что означает быть компанией, ориентированной на API, этот блог обсудит следующее: