Заметки 2982 ~ 3 мин.

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

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

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

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

У меня есть сайт, который представляет из себя каталог видео, тематика не важна - смысл в том, что размер файлов на сайте превышает 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 67
  • Заметки 18
  • Безопасность 4
  • Флуд 2
  • Nginx 2
  • ИТ новости 2
  • Видео 1
  • Docker 1
  • Roadmap 1
  • Архитектура 0

Хочешь поддержать сайт?

Делаем из мухи слона

sergeymukhin.com

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

Релизы PHP 8.4

Дата Релиз
4 Июля 2024 Альфа 1
18 Июля 2024 Альфа 2
1 Августа 2024 Альфа 3
13 Августа 2024 Feature freeze
15 Августа 2024 Бета 1
29 Августа 2024 Бета 2
12 Сентября 2024 Бета 3
26 Сентября 2024 RC 1
10 Октября 2024 RC 2
24 Октября 2024 RC 3
7 Ноября 2024 RC 4
21 Ноября 2024 GA

Что нового?