Недавно мы запустили новую услугу — облако для сайта, айри.
рф .
Облако для сайта — это когда весь сайт легкий, прозрачный, воздушный и быстрый.
Никакие картинки, скрипты, сложная серверная логика, базы данных и никакой DDoS не смогут его снизить.
Это когда сайт летает. Мы реализовали свою мечту — теперь любой сайт, независимо от платформы, внутренних особенностей и клиентской логики, можно разместить в облаке.
И он будет работать быстрее и надежнее на всех устройствах и для всех пользователей.
Причем это доступно как для самых маленьких сайтов, так и для самых крупных.
Да, это похоже на Western CloudFlare. И наша исходная модель такая же.
Но только на просторах России, согласно ее географии.
И мы планируем развиваться по-другому.
P.S. Сейчас Айри на стадии бета-тестирования мы Мы активно набираем первых пользователей , хотя сервис уже вышел в коммерческую эксплуатацию и надежность в приоритете.
Архитектура
Изначально мы планировали создать несколько компонентов сервиса, максимально разделив уровни ответственности.Но позже, из-за различных ограничений целостности данных и отказоустойчивости системы, мы пришли к следующей архитектуре: Весь сервис разделен на географически независимые узлы, пользователи направляются на тот или иной узел в зависимости от IP-адреса и DNS-записи.
Записи DNS геобалансированы (в случае сбоя какого-либо узла мы можем перенаправить локальных пользователей на другой узел в течение короткого периода времени).
- Уровень DNS. Каждый узел представляет собой пару серверов, настроенных с использованием LVS для максимальной отказоустойчивости.
Кроме того, зоны на разных DNS-серверах по-разному реагируют на разные регионы, создавая географическую балансировку.
- Балансирующий уровень (LVS).
Основные машины, принимающие на себя всю нагрузку.
Они также предназначены для подключения к DDoS-защите и перераспределения запросов на различные серверы FEO-CDN в зависимости от домена сайта.
- Уровень FEO-CDN (из внешней оптимизации и сети доставки контента).
Каждый узел представляет собой кеширующий и оптимизирующий кластер прокси-серверов.
Мы долго думали об архитектуре этого слоя и продолжаем думать о том, как максимально увеличить как работу сайта, так и нагрузку на серверы.
На данный момент у нас есть 4 уровня кэширования и проксирования:
- Внешний уровень только сжимает (через gzip) контент и при необходимости кэширует конечные HTML-страницы сайта.
Если запросов нет в кеше, то он проксирует их дальше.
Собирает статистику по отправленному контенту.
- Уровень оптимизации.
Развернуто здесь Скорость страницы с некоторыми нашими улучшениями в области отложенной загрузки и динамического кэширования страниц.
Самый сложный уровень с точки зрения используемых алгоритмов.
Все запросы не из кеша отправляются на уровень ниже.
- Уровень кэширования.
Кэширует всю статику и, если возможно, динамику.
Отдает все из кэша, если это возможно.
Если нет, он запрашивает исходный сайт. Он также регистрирует низкоуровневые запросы и обеспечивает распаковку данных с исходного сайта.
- Внешний уровень только сжимает (через gzip) контент и при необходимости кэширует конечные HTML-страницы сайта.
Балансировка и отказоустойчивость
В ходе реализации мы рассмотрели несколько сценариев сбоя сервиса (или сайта).Вот некоторые из основных:
- Если уровень DNS узла выходит из строя, подключается второй из пары LVS. Если оба сервера выходят из строя, то DNS-уровни других узлов начинают отвечать на DNS-запросы (точно с тем же содержимым).
- Оба сервера LVS-пары балансировочного уровня узла выходят из строя.
В этом случае благодаря балансировке DNS запросы автоматически перенаправляются на другие узлы.
- Уровень FEO-CDN выходит из строя (перегружен) — на этом уровне мы автоматически подключаем дополнительные резервные серверы.
Если свободных серверов нет, то действуем по предыдущему сценарию — переносим сайты на другую ноду.
- Канал перегружен (DDoS) на одном или нескольких узлах – автоматически подключаться QRator для «проблемных» балансировочных слоев.
- Исходный сайт выходит из строя (становится недоступным).
Если сайт кэширован и период недоступности меньше времени жизни кэша, то пользователи ничего не заметят. Если период недоступности меньше суток, то мы продолжаем обслуживать страницы сайта из кеша.
Для динамических сайтов – индивидуальная политика (страницы-заглушки, кэширование контента или перенаправление).
Как работает ускорение
Самое сложное и интересное — как работает ускорение.Мы проанализировали доступные фильтры Page Speed и собрали несколько вариантов, подходящих для большинства сайтов.
И уровни ускорения они назвали соответственно: Безопасный (когда сайту гарантированно не будет нанесен вред), Минимальный (когда риск причинения вреда сайту минимален), Оптимальный (подходит для большинства сайтов, обеспечивает значительное ускорение, но потенциально опасно) и Максимум (самый рискованный и самый эффективный вариант).
Кроме того, при необходимости мы предлагаем ручную настройку всех параметров (в полном соответствии с существующей политикой настройки нашего продукта - Ускорение сайта WEBO ).
Хочу подчеркнуть, что по умолчанию все статические объекты сайта кэшируются на длительное время, а все текстовые объекты надежно архивируются.
Кроме того, доступны конкатенация файлов, включение небольших объектов в содержимое страницы, логика отложенной загрузки и локальное хранилище, а также использование нескольких доменов и data:URI для изображений.
В общем, полный фарш для тех, кто хочет все настроить под себя.
И гарантированный уровень скорости и надежности сайта для всех остальных.
В сочетании с геобалансировкой запросов (посетители сайта получают объекты сайта с ближайшего к ним сервера) мы решаем все проблемы со скоростью сайта «в один клик».
Ставки
Мы подошли к пользователям максимально дружелюбно – и предлагаем тарифы от бесплатных (включая 50 ГБ исходящего трафика в месяц) до максимальных (от 50 тысяч рублей).Средний сайт можно подключить за 1000-2000 рублей в месяц (сюда входит 100-250 ГБ трафика в месяц, хватит до 100 тысяч пользователей в месяц).
Связь
Существует два основных типа подключения: через смену DNS-серверов и через синоним CNAME www. В первом случае мы подключаем домены, которые доступны только без www (например, аири.рф) — нам необходимо делегировать домен на наши сервера, чтобы мы могли полностью управлять геобалансировкой.
Второй тип подключения подходит для сайтов, которые доступны только через www или и то, и другое.
В последнем случае нужно сделать редирект с сайта без www на сайт с www и создать DNS-запись для сайта.
wwwТеги: #скорость #надежность #отказоустойчивость #скорость загрузки #облако для сайта #airi #занимаюсь пиаром
-
Высшее Образование На Русском Языке
19 Oct, 24 -
Axure 7 Для Новичков За 100 Минут
19 Oct, 24 -
Научные Исследования Российских Школьников
19 Oct, 24 -
Научно-Популярные Видеоролики (Конкурс)
19 Oct, 24 -
10 Способов Улучшить Бас
19 Oct, 24 -
Космическая Лотерея. Приз – Полет В Космос.
19 Oct, 24