#начинающим #интересующимся
Допустим, у вас есть какой-то проектик, например, на условной 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=DIQVJqiSUkE
Aurora 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. Реляционные и нет, с переделкой и без. Выбирайте, что подходит сейчас и что будет круто в дальнейшем. Главное — пробуйте!