Аннотация
Я перестраиваю свой сайт, и на этот раз я решил использовать статический генератор сайтов (jekyll ,ulpin.io и т.д.). Частично в качестве упражнения, я хочу, чтобы этот сайт размещался на глобально сбалансированном хостинге для скорости. (Таким образом, американские зрители должны получить сайт с американского сервера.)
Итак, моя цель - создать максимально быстрый сайт. Потому что я надеюсь, что могу.
В качестве бонусной задачи, если это возможно, я бы хотел разместить редиректор, который направляет некоторых пользователей языка на английскую, немецкую и т.д. Версию сайта.
Вопрос в том, как мне это сделать? Вот что я попробовал:
Использование CDN
Я мог бы получить случайный статический веб-хост и поместить CDN перед всей страницей. Хотя это будет работать достаточно хорошо, CDN отбрасывает мало использованных ресурсов из кэша и требует их повторного извлечения при необходимости, что увеличивает время загрузки.
Статический хостинг Amazon AWS
Используя корзины Amazon S3, можно создать статический хостинг. Проблема в том, что имя корзины должно точно соответствовать названию веб-сайта, и имена корзины являются глобальными, поэтому я не могу создать несколько экземпляров корзины и обслуживать сайт напрямую.
Amazon Route53/EC2
Хотя моя собственная операционная система менее оптимальна (слишком много работы, высокие затраты), это вариант. Тем более, что Puppet упрощает автоматизацию.
Для этой установки потребуется экземпляр EC2 в каждом регионе, один Elastic Load Balancer, настроенный перед ним, и Route53 для маршрутизации трафика в географически локальные ELB.
Построй сам
Размещая VPS или корневые серверы в каждом регионе, я могу запустить свою собственную ОС и установить nginx. В любом другом случае это будет очень похоже на настройку AWS.
Резюме
Ни один из них не отвечает моим потребностям в статическом хостинге. Как бы подойти к этой проблеме? Каковы скрытые проблемы на этом? Какие сервисы мне нужно посмотреть?