Когда решил воспользоваться Spaces S3 на Digital Ocean

Когда решил воспользоваться Spaces S3 на Digital Ocean

01 Sep 2019Заметки 2122 ~ 3 мин.

Подводные камни при работе с хранилищем в "Цифровом Океане"

Забавный случай произошел со мной на днях. 

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

Запустил я его пару лет назад, и особо им не занимался, сайт сам себя продвигал, привлекал настоящий органический траффик, ничем особо не выделялся. Количество уникальных пользователей в сутки было примерно 1000-1500.  И в течение этих пары лет посещение не менялось.

Т.к. на digitalocean.com дополнительные жесткие диски стоят вполне ощутимо, по сравнению с теми же ресурсами как оперативная память и процессор, то изначально было решено размещать сами файлы на уже существующем сервере в российском сегменте, который размещался на ihc.ru , но со временем,  когда база видео на сайте росла, рос размер файлов видео, то и сервер на ihc приходилось расширять, в какой-то момент это надоело, и стало казаться нецелесообразно, тем более на digitalocean.com появилось хранилище S3, и стоило сущие копейки - $5 за 250 гигов.

Ну сказано - сделано, было куплено пространство на 250 гигов, написан простенький скрипт на питоне:


import boto3
import json
import os.path

session = boto3.session.Session()
client = session.client('s3',
region_name='fra1',
endpoint_url='https://fra1.digitaloceanspaces.com',
aws_access_key_id='###################',
aws_secret_access_key='XXXXXXXXXXXXXXXXXXXXX')

with open('videos.json') as json_file:
videos = json.load(json_file)
for video in videos:
source_file = video['source_file']

if (os.path.isfile(source_file)):
client.upload_file(source_file, '%nameBucket%', source_file)
client.put_object_acl(ACL='public-read', Bucket='%nameBucket%', Key=source_file)
else:
print(source_file + " not exist" )

который перегрузил все видео с ihc сервера в S3 digitalocean, поправлен адрес в БД сайта, и все заработало, переход был быстрым и безболезненным для меня и пользователей сайта.

Ах да, забыл упомянуть, что вся возня с хранилищем началась из-за внезапно увеличивавшегося траффика пользователей на сайте, количество выросло до 5-6 тысяч уников в сутки, что подтолкнуло меня вспомнить и немного заняться этим сайтом.  

Итак, переехав, я со спокойной душой оставил сайт и спустя ровно 10 дней мне понадобилось зайти в панель управления digitalocean чтобы посмотреть какую-то информацию, какую точно не помню, да это и не важно и обратил внимание на расход средств, оно составило $36 за месяц, напоминаю, мой сервер стоил $5 + $5 должно было составить за пользование новым хранилищем, а тут цифра совершенно не равная десятке баксов. 

Я полез в подробный отчет расходов и увидел, что дополнительные средства списываются за пользование хранилищем, в котором мелким шрифтом прописано, что после покупки хранилища в "подарок" дается 1Тб исходящего траффика (входящий не считается). А перерасход этого траффика считается по отдельному прайсу: $0.01 за 1Гб. 

Пользователи сайта же за эти 10 дней "насмотрели" 3605.44 гигабайта (3.6 Тб) видео. Итого (3605.44GB - 1000GB) * $0.01 и равняется $26. 

И тут я понял, что никакой экономии, которую я хотел добиться этим шагом не получилось. Пришлось быстро "поднимать" сервер на том же ihc, с самым дешевым тарифом, но расширять диск до нужных 130 гигов, по деньгам конечно получилось не $5 = 300 рублей, а все 800 рублей, но по крайней мере это гораздо дешевле, чем вышло бы с оплатой траффика у digitalocean, кстати на ihc бесплатно дается 20Тб исходящего траффика, что вполне вписывается пока в нужные мне расходы.

Итого, сервера у DO крутые, но с исходящим траффиком пока есть проблемы, которые нужно учитывать, но если это не важно, то можно смело у них брать серваки, и запускать свои проекты. Всем хорошего плавания!


Что думаешь?

Категории
  • PHP 59
  • Заметки 12
  • Nginx 2
  • ИТ новости 2
  • Флуд 1
  • Видео 1
  • Архитектура 0
Делаем из мухи слона

sergeymukhin.com

персональный блог о веб-разработке от разработчика Сергея Мухина. Блог основан в 2018 году, и уделяет основное внимание последним тенденциям, учебным пособиям, статьям с отзывами, а также советам и рекомендациям, позволяющим начинающим девелоперам встать быстрее на правильную дорогу веб разработки.