Pull to refresh

Не надо размещать статические сайты на Heroku

Reading time2 min
Views9.8K
Original author: Michael Bleigh

От переводчика


Начитавшись статей про Heroku, я задался вопросом размещения там простеньких статических веб-приложений. В первое время все было прекрасно, вот только меня смущала неспособность самого Heroku отдавать статику. Даже для такой простой задачи приходилось писать маленькие приложение, которые только и делали, что отдавали статический контент. Хотя, как по мне так с этой задачей лучше бы справился тот же nginx.

Под катом перевод статьи Michael Bleigh из Divshot о том, почему не нужно хостить статику на Heroku

Не надо размещать статические сайты на Heroku


Heroku невероятная платформа. Нет, правда. В Divshot мы запустили уже 20 приложений на Heroku, и лично у меня запущено по меньшей мере 30 приложений. Это моя любимая хостинг платформа для Ruby и Node.js проектов. Но вы глубоко ошибаетесь, если размещаете статические сайты на Heroku.

Да, размещение статических сайтов на Heroku заманчиво. У них даже есть документация, в которой показано, как это сделать. Ведь это так просто — завести приложение на Heroku. Вы уже используете его для всего остального, почему бы не использовать для этого?

  1. Это дорого. Чтобы обеспечить вашему сайту постоянную работу, вам придется использоваться дополнительный dyno (цена $0 распространяется только на использование одного dyno, который должен простаивать минимум 6 часов в день — прим. переводчика). Это будет стоить вам как минимум $37 в месяц. Только для того, чтобы разместить статические файлы.
  2. Статическим сайтам не нужны сервера приложений. Блоговые записи, которые вы наверняка найдете, будут рекомендовать вам использовать Rack или Node.js чтобы разместить свой статический контент на Heroku. Это все равно, что нанять Илона Маска доставлять кофе в ваш офис. Что еще хуже, может оказаться, что Илон Маск плохо справляется с доставкой кофе, ведь он по-настоящему хорош в инновационной деятельности.
  3. Геостационарность. В Heroku доступно всего два региона: США и Европа, и ваше приложение будет размещено в каком-то одном из них. Статический контент должен доставляться с помощью CDN чтобы ваши пользователи получили его с ближайшего сервера.


Далее автор предлагает в качестве альтернативы собственный сервис Divshot. Всем заинтересованным предлагаю к ознакомлению https://divshot.com/

Если вы размещаете статический контент, призываю вас использовать что-то что подходит для задачи. Это может быть Amazon S3 (желательно с CDN), или GitHub Pages, или nginx. Может даже, Divshot. (Selectel Storage неплохо подойдет — прим. переводчика). Просто не нужно писать целые Ruby/Node.js приложения для статического контента.

Пользуясь случаем, хочу спросить у Хабра, как вы хостите свои статические сайты?
Tags:
Hubs:
Total votes 17: ↑5 and ↓12-7
Comments7

Articles