{G}eekrainian

Как AWS грабит на бесплатных тарифах

6 мин. чтения
Хостинг

Решил я как-то попробовать Amazon DynamoDB из AWS Free Tier, который гарантирует следующие характеристики базы данных бесплатно:

  • 25 GB of Storage
  • 25 provisioned Write Capacity Units (WCU)
  • 25 provisioned Read Capacity Units (RCU)
  • Enough to handle up to 200M requests per month.

Что такое Write Capacity Units (WCU):

Пропускная способность записи (Write Capacity Unit, WCU): Каждый вызов API для записи данных в вашу таблицу является запросом на запись. Для элементов размером до 1 КБ одна WCU может выполнять один стандартный запрос на запись в секунду. Элементы размером более 1 КБ требуют дополнительных WCU. Транзакционные запросы на запись требуют две WCU для выполнения одной записи в секунду для элементов до 1 КБ. Например, стандартный запрос на запись элемента размером 1 КБ потребует одну WCU, стандартный запрос на запись элемента размером 3 КБ потребует три WCU, а транзакционный запрос на запись элемента размером 3 КБ потребует шесть WCU.

Что такое Read Capacity Units (RCU):

Пропускная способность чтения (Read Capacity Unit, RCU): Каждый вызов API для чтения данных из вашей таблицы является запросом на чтение. Запросы на чтение могут быть строго согласованными, в конечном итоге согласованными или транзакционными. Для элементов размером до 4 КБ одна RCU может выполнять один строго согласованный запрос на чтение в секунду. Элементы размером более 4 КБ требуют дополнительных RCU. Для элементов размером до 4 КБ одна RCU может выполнять два запроса на чтение в конечном итоге согласованных в секунду. Транзакционные запросы на чтение требуют две RCU для выполнения одного чтения в секунду для элементов до 4 КБ. Например, строго согласованное чтение элемента размером 8 КБ потребует две RCU, чтение элемента размером 8 КБ в конечном итоге согласованное потребует одну RCU, а транзакционное чтение элемента размером 8 КБ потребует четыре RCU.

Таких характеристик должно с головой хватать для тестовых проектов, не так ли? Но не все так просто.

Конфигурация проекта

Мои требования к базе данных были следующими:

  • 100 МБ места
  • 1 таблица с возможностью хранить длинные строки (до 500 КБ в формате JSON)
  • 1 операция чтения/записи 1 раз каждые 5 минут
  • 5 операций записи каждый час

Манипуляции с базой данных DynamoDB выполнялись на другом хостинге используя CRON задачи, в результате чего совершались обращения на чтения/запись.

Реальная стоимость

Давайте рассчитаем операции чтения/записи в месячном эквиваленте:

  • 1 операция чтения/записи 1 раз каждые 5 минут

60 / 5 * 24 = 288 операций

  • 5 операций записи каждый час

5 * 24 = 120 операций

Или 288 * 30 = 8640 операций чтения/записи в месяц, а также 120 * 30 = 3600 операций записи в месяц.

Казалось бы, это не так много для вычислительных мощностей современного мира и эти показатели даже не дотягивают до рамок минимального стартапа с небольшим количеством активных пользователей. Но Amazon думает иначе, за что и потребовал с меня некую сумму в конце месяца:

[subject: Amazon Web Services Billing Statement Available]
[body]
Greetings from Amazon Web Services,
This e-mail confirms that your latest billing statement, for the account ending in ****, is available on the AWS web site. Your account will be charged the following:
Total: $10.08

В этот момент я понял, что мой тестовый проект оказался "дорогим" удовольствием и мое требование к длинным строкам в базе данных играет ключевую роль в расчете WCU/RCU. Таким образом, они вполне легально ограбили меня за простейший тест.

Заключение

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

Эта история оказалось полезной? 🤔

Поддержите меня чашечкой кофе и станьте спонсором нового контента!

BuyMeACoffee

Ko-Fi

Поделиться

Похожие публикации

Можно ли использовать VPN в Канаде

Для чего нужен VPN, кто за нами следит и как обезопасить себя в интернете... Читать далее

© geekrainian.com

  • Русский
  • English
RSSКарта сайта