Как измерить использование API моих клиентов и пропускную способность (Store) в Google Cloud Platform? - PullRequest
0 голосов
/ 11 июня 2019

У меня есть приложение, которое использует мой собственный API (облачные функции Google) и мое собственное хранилище (есть изображения).

Теперь у меня есть пара клиентов, которые хотят использовать мой API и мойХранилище (облачное хранилище Google).

Облачное хранилище - это хранилище, содержащее много фотографий с открытым доступом для чтения.

Я пытаюсь определить модель ценообразования на уровнецена зависит от двух вещей:

  1. Количество вызовов API,
  2. Пропускная способность облачного хранилища

Значение, я хочу установить некоторые ценыв отношении затрат, которые они потребляют в моей учетной записи Google Cloud.

Для примера: если клиент выполняет от 1 до 500 000 вызовов API, я заменю их на 10 долларов.Между 500.001 и 1.000.000 я буду взимать 18 долларов и т. Д. И т. Д.

То же самое для пропускной способности облачного хранилища, если они потребляют от 0 ГБ до 10 ГБ, это будет стоить 10 долларов.Если они потребляют от 10 до 100 ГБ, это будет стоить 18 долларов и т. Д. И т. Д.

Как я могу это сделать с помощью Google Cloud?Как я могу узнать, как потребляют мои клиенты?И есть ли способ поделиться этой информацией с ними, чтобы они могли отслеживать использование каждый день?

Я думаю, что измерить использование API не так уж сложно, потому что я могу простоСохраняйте значение в БД каждый раз, когда пользователь вызывает API, но если есть способ избежать этого, будет хорошо, потому что Google Cloud собирается взимать плату за это действие записи в БД (которое я использую для отслеживания APIиспользование).

С другой стороны, для измерения облачного хранилища я думал примерно так:

Предположим, у меня есть общедоступное ведро с фотографиями в URL: buckets.google.ком / фотографии.Если мой клиент хочет получить фотографию /cats/ugly-cat.jpg, я могу попросить его вызвать функцию FUNCTION в /api/get-photo/?url=/cats/ugly-cat.jpg, чтобы в этой функции a можно было отследить, что пользователь просто получил фотографию, а затем я перенаправил вызов реальномуURL, по которому пользователь увидит фотографию (buckets.google.com/photos/cats/ugly-cat.jpg).Как вы можете видеть, эта идея кажется слишком производительной из-за того, что она будет взимать плату за использование функции, запись в БД, а также за использование пропускной способности хранилища.И даже этот способ не отслеживает пропускную способность.Он только отслеживает количество фотографий, которые клиент хочет показать.

Как видите, обе идеи немного уродливы с низкой производительностью.Там должно быть что-то уже сделано, что делает его красивым.

Очевидно, что вызов API (а также ссылка на фотографию) может иметь клиентский API-KEY, чтобы помочь измерить использование.Что-то вроде:

  • functions.google.com/api/search-photos/?api-key=111 и
  • bucket.google.com/photos/cats/ugly-cat.jpg?api-key=111

Где 111 идентифицирует клиента 111.

Итак, вопрос: знаете ли вы, существует ли «самый известный» способ измерения этих употреблений?

1 Ответ

0 голосов
/ 12 июня 2019

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

Конечные точки предоставляют все инструменты для контроля аутентификации , управления квотами и затратами и портала для разработчиков, чтобы ваши пользователи могли получать доступ к документации и взаимодействовать с вашим API. Он также интегрируется со всеми продуктами Cloud Platform, включая Облачные функции .

...