Подождите, мистер Почтальон: интервью с Абхинавом Астана

Опубликовано: 4 Марта, 2023
Подождите, мистер Почтальон: интервью с Абхинавом Астана

[soundcloud url=”https://api.soundcloud.com/tracks/335675081?secret_token=s-Smpek” params=”color=ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false” width=”100%” height= ”166″ iframe=”true” /]

Билл Рэймонд: Каково самое простое определение API?

Абхинав Астана: По сути, API помогает вам подключаться к другим частям программного обеспечения, которые могут быть или не быть на вашем компьютере.

BR: Какова история Postman?

АА: Postman начинался как побочный проект в 2012 году. Как разработчик, я не мог найти продукт, который позволял бы легко выполнять вызовы API для отправки и получения данных. Отладка API была сложной, поэтому я собрал Postman. Я узнал, что вы можете предложить свое приложение в магазине Google Chrome, поэтому разместил его там и был удивлен реакцией сообщества разработчиков.

Вскоре после того, как я разместил приложение в магазине Chrome, пользователи Stack Overflow и Reddit начали рекомендовать Postman. Одним из важных показателей, который у меня был, было то, что Google связался со мной, потому что они используют продукт все время, и они хотели, чтобы я сделал некоторые обновления, чтобы они могли разместить Postman в качестве рекомендуемого продукта на обновленной платформе магазина приложений Chrome.

К нам начал привлекать большой интерес инвесторов, поэтому мы решили создать компанию вокруг этого [рынка API]. Мы начали как компания в 2014 году. Мы очень любим этот продукт и должны были быть здесь, в самом сердце технологий, поэтому в январе этого года я переехал в Сан-Франциско. Теперь, в 2017 году, у нас более 4 миллионов пользователей и 2 миллиона активных пользователей в месяц. Приложение Postman больше не является простым веб-инструментом, а является кросс-платформенным настольным инструментом.

BR: Какие продукты вы предлагаете?

АА: У нас есть Postman — [бесплатное] настольное приложение с такими функциями, как разработка, мониторинг и имитация [подробнее об этом позже]. У нас есть Postman Pro, платформа для совместной работы, и у нас есть Postman Enterprise с дополнительными функциями, такими как единый вход, улучшенная поддержка и различные варианты выставления счетов.

С Postman вы можете начать создавать API, когда вы только думаете о них, создавать их, а затем запускать их в производство. Вы также можете задокументировать свой API, даже если он не полностью разработан. Вы можете создавать тесты для своих API и интегрировать их со своими системами CI/CD (непрерывная интеграция и непрерывная разработка). Вы также можете отслеживать свои API в Postman.

По сути, Postman предназначен для всего жизненного цикла проектирования, создания, тестирования и мониторинга ваших API. Это очень хорошо работает для одного разработчика или групп, совместно работающих над созданием своих API.

Мы делаем разработку API настолько простой, что каждый может использовать Postman. Допустим, вы стартап. Сначала у вас есть бэк, разработчик и разработчик внешнего интерфейса в небольшой команде, которые потребляют и производят API. По мере роста стартапа у них появляется больше разработчиков, и они хотят передать часть разработки и тестирования QA и DevOps. Теперь у вас есть большая команда, тщательно тестирующая и отслеживающая API.

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

BR: Сколько людей используют Postman и кто составляет вашу пользовательскую базу?

АА: У нас более 4 миллионов пользователей. Наши пользователи работают с широким спектром разработчиков интерфейса, разработчиков бэкэнда, разработчиков QA, DevOps. В некоторых случаях люди потребляют API, а другие создают API. У нас также есть инструмент командной строки с открытым исходным кодом, который загружают около 10 000 раз в день.

БР: Разработчики используют Postman, но они также используют IDE [интегрированную среду разработки] для разработки кода. Как Postman вписывается в историю IDE?

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

БР: Предприятиям часто необходимо интегрировать одно приложение с другим. Как Postman работает в этих сценариях?

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

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

Изображение 549
Postman позволяет подключаться к API и тестировать сценарии до того, как вы напишете окончательный рабочий код.

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

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

Postman использует язык JavaScript для написания сценариев, но мы предоставляем несколько оболочек, упрощающих работу с API. Например, с помощью сервисов SOAP вы получаете много XML, поэтому вы можете легко преобразовывать данные в библиотеки JavaScript.

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

БР: Есть компании, которые пытаются сделать API более доступными, например, Microsoft Flow, Zapier и IFTTT. Какое место в этом ландшафте занимает Почтальон?

А.А.: Когда вы думаете об интеграции разрозненных продуктов с API, в целом можно выделить две категории:

  1. Есть поставщики API-управления с таким программным обеспечением, как Microsoft Flow и другими продуктами, которые вы упомянули.
  2. Другая категория — поставщики интеграции. Это компании, которых вы нанимаете для более сложной системной интеграции.

Postman дополняет управление API и интеграцию. Мы смотрим на рабочий процесс разработчика, а не только на предоставление шлюзов и прокси. Мы предлагаем решения и для этих компаний. Например, у нас есть дополнительные решения для Microsoft Flow и AWS (Amazon Web Services) API Gateway.

Наша цель — максимально упростить процесс создания и документирования API.

BR: Вы только что анонсировали новую функцию Postman под названием mock server. Что это?

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

BR: Как вы поддерживаете фиктивный сервер в актуальном состоянии?

АА: Обычно фиктивный сервер отключается от процесса разработки. Теперь фиктивные API становятся основной частью процесса разработки API. Мы предлагаем возможность документировать ваш API. Когда вы обновляете свой API в Postman, вы можете использовать нашу службу публикации для размещения документации на веб-сайте. Один из наших клиентов, Imgur, публикует свою документацию по API от Postman на своем общедоступном веб-сайте.

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

Изображение 550
Postman позволяет вам группировать отдельные запросы API, чтобы вы могли тестировать различные сценарии.

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

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

БР: Вы продолжаете говорить о документировании API. Документацию обычно оставляют до конца, и она редко делается или делается правильно. Как вы доводите свои API до уровня, когда они хорошо документированы?

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

БР: Спасибо за ваше время.

АА: Да, это был отличный разговор.