Дешёвая (бесплатная) база данных на AWS для собственных проектов (обучения/попробовать)#начинающим #интересующимся
Допустим, у вас есть какой-то проектик, например, на условной
Django для собственных нужд — как хобби, для обучения и т.п. Он где-то хостится бесплатно или за несколько долларов в месяц.
Вы почитали, что здесь пишут про
AWS и загорелись попробовать на него переехать или сразу поднять тут свой, чтобы познакомиться поближе и получить опыт. Расценки на хранение файлов (
S3) совершенно комфортны, но вот проблема — у вас есть (реляционная) база данных. Вы смотрите прайс на
RDS, а там самая простая начинается от
12 долларов в месяц и желание пробовать
AWS резко пропадает.
Разберём варианты, что можно сделать с БД, чтобы она была дешёвой, а лучше бесплатной.
RDSОбязательно прочтите про
бесплатный AWS — открыв себе новый аккаунт, вы получите возможность целый год крутить базу на виртуалке
db.t2.micro.
EC2Можно поднять БД на дешёвой виртуалке, например, на
t3a.nano это выйдет
3.4$/мес (плюс стоимость диска и некоторые другие расходы). Примитивный и самый очевидный способ. БД нужно будет поднимать и поддерживать самому, потому вряд ли рекомендуемый.
DynamoDBОтличная и даже близкая к идеальной БД, по сути бесплатная (и постоянно/бессрочно/всегда) для собственных проектов, т.к. имеет суперовскую ценовую модель. Но есть одно но — не реляционная.
Очень выгодно, если ваш проект/фреймворк умеет с ней работать. Или если можете допилить его до работы с
DynamoDB. На выходе получаете крутизну
serverless подхода при минимальной цене (обычно совсем бесплатно).
Гляньте видео с последнего реинвента, возможно оно подскажет, как можно переделать свой проектик под
DynamoDB:
https://www.youtube.com/watch?v=DIQVJqiSUkEAurora ServerlessВдруг вы пропустили и не знаете, что есть реляционная база данных с ценовой моделью а-ля
DynamoDB, где вы платите лишь за реально используемые ресурсы.
https://aws.amazon.com/rds/aurora/serverless/Её использование подпадает под
Free Tier, так что также можно попробовать годик бесплатно.
Задеплоить
Django на
Aurora Serverless можно так:
https://www.agiliq.com/blog/2019/01/complete-serverless-django/CassandraНе реляционная, но с аналогичной
DynamoDB ценовой моделью.
https://aws.amazon.com/ru/mcs/S3Речь про файловую БД. Если прикрутить прослойку в виде условной
Лямбды, что будет хранить данные не в БД, а на
S3, то можно вообще избавиться от БД. Однако, понятно, это обычно требует серьёзной переделки проекта.
AthenaНе БД, но можно делать SQL запросы к
S3. Под
Django есть
djathena.
Итого. Есть разные недорогие варианты прикрутить БД в свой проект на
AWS. Реляционные и нет, с переделкой и без. Выбирайте, что подходит сейчас и что будет круто в дальнейшем. Главное — пробуйте!