И почему вам следует перейти на Amazon S3 как можно раньше

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

Но потом я решил перенести свое приложение в облако. Я рассмотрел большинство облачных провайдеров: Google, Azure и AWS. После непродолжительного использования Heroku я решил перейти на AWS. Среди других приложений приложение базы данных также переместилось в облако. Все работало отлично.

Но по мере роста приложения мне требовалось больше оперативной памяти. Облако фантастическое. Вы обновляете EC2, чтобы в вашем распоряжении было больше оперативной памяти. Единственный недостаток, который у вас есть: вы платите за то, что используете. И в этом случае я не использовал свои ресурсы должным образом.

Вы платите только за то, что используете - Cloud Development

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

База данных изображений намного дороже, чем Amazon S3.

В первый год использования Amazon S3 вы абсолютно ничего не платите, если соблюдаете установленные лимиты. Уровень бесплатного пользования означает 5 ГБ бесплатного хранилища, 20 тыс. Запросов GET и 2 тыс. Запросов PUT. Глядя на мое приложение, я понимаю, что это намного больше, чем мне нужно. Значит, хранилище бесплатно!

Через год эта сумма меняется до максимальной суммы в 0,14 доллара в месяц (рассчитывается с помощью калькулятора цен для ЕС в Париже). Так что расходы остаются очень низкими и меня не беспокоят. Если вы сравните эту стоимость со стандартной ценой по запросу для инстанса EC2, вы заплатите около 3,87 доллара за второстепенное приложение. Примерно в 28 раз больше!

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

Остается только одно замечание. Вы уязвимы для нападения. Если кто-то будет запрашивать один и тот же ресурс снова и снова, вы получите внушительный счет. Убедитесь, что вы не сделали все общедоступным. Ограничьте количество запросов, которые пользователи могут создавать, и, если возможно, кешируйте изображения или запросы файлов, если у вас большой трафик.

Легче менять файлы

Представьте, что нужно, чтобы изменить изображение в графическом приложении. Вам нужно будет создать API, который позволит вам загружать / удалять / получать изображение. После этого нужно выполнить запрос на смену изображения. Если что-то изменится в настройках вашего облака, вам придется изменить API и поддерживать его.

С Amazon S3 вы можете видеть каждый файл. Если вам нужно внести изменения, вы загружаете новый файл. Вы можете быстро добавлять и удалять файлы без предварительной реализации API. Вы получаете API бесплатно. Все, что вам нужно для управления изображениями, уже есть.

Так зачем заново изобретать колесо?

Заключение

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

Хранение изображений в базе данных заставило меня перейти на более крупный экземпляр EC2. Поразмыслив, я осознал эту ошибку и перешел на Amazon S3. Переход на Amazon S3 позволил мне снова перейти на небольшой инстанс EC2, еще раз сократив расходы на облако. В этой статье я хочу, чтобы вы сами не тратили слишком много.

Спасибо за прочтение!

Больше контента на plainenglish.io