Mount LagunaMount Laguna // 2021-07-05

Для нового сайту мені був потрібен хостинг для фотографій в Галереї. Раніше вони були розміщені на Google Picasa Web але внаслідок «інновацій» від Ґуґла зʼявилися Google Photos. Останні з часом повністю замінили Google Picasa Web, в процесі прибравши кілька зручних (для мене) можливостей, для прикладу, «постійні» посилання на файли.

Розміщати фотографії на віртуальному сервері від Linode я не бачу сенсу — довелося б докупляти недешеве місце. Тому я почав розглядати сторонні сервіси.

Flickr був одним з сервісів, що я колись активно використовував для бекапу фотоархіву, але рік тому вони значно урізали безкоштовний план і я прибрав звідти свої фотки (5Тб). Існують й інші спеціалізовані фотохостинги, але їхні можливості досить обмежені для мене.

Звичайні файлові хостинги типу Amazon S3, Google Cloud Storage, Wasabi і т.п. мають або дорогий вихідний трафік або мінімальний розмір сховища (1Тб місця трохи забагато для галереї).

Потім я згадав про Backblaze B2, який виявився досить зручним для мене.

Основні переваги:

  • 10Гб безкоштовного місця
  • безкоштовний вхідний трафік
  • безкоштовний вихідний трафік через Cloudflare
  • API для автоматичного завантаження (власний та сумісний з S3)

У Cloudflare необмежений трафік навіть на безкоштовному плані, якщо поставити Backblaze B2 за Cloudflare (CNAME) то необмежений трафік буде і в Backblaze (у них там договір між собою).

Є певні нюанси:

  • 2500 завантажень файлів на день безкоштовні, потім $0.004 за 10,000
  • збереження файлів понад 10Гб коштує $0.005 за 1Гб/місяць
  • публічні файли мають не дуже гарну адресу: https://fXXX.backblazeb2.com/file/BUCKET/FOLDER/FILE

Перші два мене не турбують (ціни смішні) а от адресу можна покращити за допомогою Cloudflare Workers: https://gallery.mrgall.net/FOLDER/FILE. Заодно можна більш тонко налаштувати кешування, по-своєму обробляти помилки та видаляти усі специфічні для Backblaze B2 заголовки (X-Bz-*).
На безкоштовному плані Cloudflare доступні 100К запитів до Workers на день, що цілком досить для цього сайту. В крайньому випадку можна буде відключити Workers та використовувати лише CDN.

Результатом я цілком задоволений, навіть немалі фотографії для Retina екрану завантажуються досить швидко.