Доставка индивидуального динамического веб-контента без дополнительной платы и необходимости создавать новый код

Как правило, веб-сайты содержат как статический, так и динамический контент. Примерами статического контента являются изображения или таблицы стилей, а динамический или генерируемый приложениями контент включает элементы сайта, которые настраиваются индивидуально для каждого из посетителей. До сих пор разработчики были ограничены в выборе средств для повышения производительности и надежности доставки динамического контента, поскольку решения, предлагаемые традиционными сетями доставки контента, достаточно дороги, а настройка таких сетей и управление ими представляют немало сложностей.


earth-networks-thumbnail
video-thumb-dynamic-content-02

Пользование сервисом Amazon CloudFront оплачивается по низким тарифам за передачу данных и обработку запросов, без дополнительной платы за обслуживание динамического контента и долговременных обязательств. Авансовые платежи или ежемесячная плата за использование платформы не взимается. Вам также не придется оплачивать дорогостоящие услуги консультантов по настройке системы.

Начните работать с AWS бесплатно

Создать бесплатный аккаунт

Уровень бесплатного пользования AWS включает передачу 50 ГБ данных и 2 000 000 запросов HTTP и HTTPS с Amazon CloudFront.

Сведения об уровне бесплатного пользования AWS »

Скачайте официальный документ Frost & Sullivan, составленный при поддержке AWS, чтобы узнать, почему сайт amazon.com выбрал Amazon CloudFront для передачи большей части своего глобального CDN-трафика. Загрузить документ Amazon CloudFront CDN.

Amazon CloudFront – это простой и экономичный инструмент повышения производительности и надежности вашего сайта. Это способ доставки как статического, так и динамического контента, индивидуально настроенного для каждого конечного пользователя, в любую точку планеты.

Amazon CloudFront эффективно взаимодействует с динамическими веб-приложениями, которые выполняются на инстансах Amazon EC2 или на серверах источника за пределами облака AWS. Создавать специальный код или выполнять настройку не требуется, так что развертывание сервиса и управление им не представляет никакой сложности. Вы можете использовать одну базу раздачи Amazon CloudFront для доставки всего веб-сайта, включая как статический, так и динамический (или интерактивный) контент. Это означает, что можно использовать одно доменное имя для всего веб-сайта (например, www.example). Нет необходимости разделять статический и динамический контент или использовать несколько доменных имен для одного сайта.

Amazon CloudFront позволяет выполнять индивидуальную настройку страниц веб-сайта при каждом просмотре с помощью параметров строки запроса или cookie-файлов. Можно также настроить различные правила использования кэша для базы раздачи веб-контента на основе шаблонов URL вашего сайта. Такая настройка позволит тщательно контролировать кэширование различных элементов вашего сайта сервисом Amazon CloudFront.

Ниже приведено подробное описание этих возможностей.

Настройки кэша – это набор правил, который создается для конкретного шаблона URL сайта на основе расширений файлов, имен файлов или любой части URL данной страницы веб-сайта (например, *.jpg). Для базы раздачи веб-контента можно определить различные настройки кэша. Amazon CloudFront сравнивает входящие запросы посетителей сайта со списком шаблонов URL и при обнаружении совпадения применяет настройки кэша, заданные для этих шаблонов. Каждая настройка кэша может включать следующие значения параметров Amazon CloudFront: адрес сервера источника, протокол подключения средства просмотра, минимальный срок действия, параметры строки запроса, значения cookie и список доверенных авторов подписей для просмотра частного контента.

Периферийные местоположения Amazon CloudFront могут оценивать значение заголовка агента пользователя, определяя тип устройств для всех входящих запросов. Amazon CloudFront может определить, с какого устройства поступил запрос конечного пользователя – с компьютера, планшета, Smart TV или мобильного устройства. Затем он передает эту информацию в виде новых заголовков HTTP на сервер источника (Amazon EC2, Elastic Load Balancing или пользовательский сервер источника). На основе информации о типе устройств, полученной в новых заголовках, сервер источника генерирует различные версии контента. Amazon CloudFront также кэширует различные версии контента в этом периферийном местоположении.

Amazon CloudFront может определить страну, откуда конечный пользователь обращается к контенту. Эта информация передается в новом заголовке HTTP на пользовательский сервер источника. Сервер источника генерирует различные версии контента для пользователей из разных стран и кэширует эти версии в периферийном местоположении для обслуживания следующих посетителей вашего сайта из тех же стран.

Amazon CloudFront можно настроить для пересылки значения заголовка источника, чтобы сервер источника (Amazon S3 или пользовательский сервер) мог поддерживать технологию доступа к ресурсам другого домена CORS (Cross-Origin Resource Sharing). CORS определяет для клиентских веб-приложений, загруженных в одном домене, способ взаимодействия с ресурсами в другом домене.

Для базы раздачи контента Amazon CloudFront можно настроить один или несколько серверов источника. Серверы источника могут представлять собой ресурсы AWS, например Amazon S3, Amazon EC2 или Elastic Load Balancing, или являться пользовательскими серверами источников за пределами облака AWS. Amazon CloudFront запрашивает контент у каждого из серверов источника, сравнивая запрошенный URL-адрес с правилами данной базы раздачи. Эта возможность позволяет гибко использовать любой из ресурсов AWS в соответствии с его назначением (Amazon S3 для хранения данных, Amazon EC2 для вычислений и т. д.) Теперь не требуется создавать множество баз раздачи и управлять множеством доменных имен в рамках одного веб-сайта. Можно также использовать уже настроенные серверы источника, не перемещая данные и не развертывая заново код вашего приложения.

На основании установленного значения срока действия файлов (посредством заголовков управления кэшем) Amazon CloudFront определяет, не пора ли проверить наличие обновлений данного файла в источнике. Если изменения в файлы будут вноситься часто, можно задать для них небольшой срок действия. Срок действия может быть обозначен как 0 секунд. В этом случае сервис Amazon CloudFront будет обращаться к источнику при каждом запросе. Amazon CloudFront также может выполнять специальные инструкции по управлению кэшем, определяющие частный контент, контент без сохранения и т. п.Такие инструкции удобно использовать при доставке динамического контента, который не кэшируется на периферии.

Параметры строки запроса часто используются для возврата индивидуально настроенного контента, сгенерированного скриптом, который выполняется на сервере источника. При необходимости можно настроить строки запроса так, чтобы они перенаправлялись на сервер источника и были включены в уникальный идентификатор кэшируемого объекта. Эту возможность можно включить отдельно для каждого уникального набора настроек кэша. Таким образом, параметры строки запроса позволяют индивидуально настроить веб-страницу для каждого посетителя и одновременно кэшировать контент в периферийных местоположениях Amazon CloudFront, что повышает производительность и масштабируемость.

Amazon CloudFront поддерживает доставку динамического контента, индивидуально настраиваемого с помощью значений HTTP cookie. Для использования этой возможности необходимо настроить перенаправление сервисом Amazon CloudFront всех или некоторых значений cookie на пользовательский сервер источника. Вы также можете указать в именах cookie символы подстановки для перенаправления значений cookie, которые соответствуют заданному формату строки. После этого Amazon CloudFront при нахождении в своем кэше уникального объекта проверяет перенаправленные значения cookie. Таким образом, конечные пользователи смогут одновременно воспользоваться преимуществами индивидуальной настройки контента с помощью cookie и высокой производительностью, которую обеспечивает сервис Amazon CloudFront.

Amazon CloudFront можно использовать для перенаправления всех либо только определенных заголовков запросов на сервер источника. Эти заголовки содержат такие сведения, как тип устройств, используемых вашими посетителями, или страна, откуда они обращаются к вашему контенту. Вы можете настроить CloudFront для кэширования контента в зависимости от значений в заголовке для доставки посетителям индивидуально настроенного контента. Например, если на одном и том же сервере у вас размещено несколько сайтов, вы можете настроить Amazon CloudFront для направления заголовка хоста на ваш источник. Если источник возвращает различные версии одного и того же объекта в зависимости от значений в заголовке хоста, Amazon CloudFront будет кэшировать такие объекты на основе этих значений.

Поддержка собственных сертификатов SSL позволяет доставлять контент по HTTPS с использованием собственного доменного имени и сертификата SSL. Посетители вашего веб-сайта смогут безопасно работать с CloudFront посредством SSL-подключения, которое обеспечивает низкую задержку и повышенную надежность, используя при этом доменное имя вашего сайта. Вы можете также настроить CloudFront для получения контента из источника с помощью подключений по HTTPS, чтобы обеспечить шифрование данных при передаче от источника к конечному пользователю. Настройка поддержки собственных сертификатов SSL выполняется очень просто. Для этого вам не придется изучать проприетарный код или нанимать специалистов. Чтобы приступить к настройке, посетите страницу с описанием собственных сертификатов SSL в CloudFront и выберите ту функцию собственных сертификатов SSL, которая лучше всего соответствует вашим требованиям.

Вы можете получить сертификаты SSL/TLS и связать их с базами раздачи CloudFront за считаные минуты. Просто получите сертификат, используя новый сервис AWS Certificate Manager (ACM), затем с помощью пары щелчков мышью выполните его развертывание в базе раздачи CloudFront и позвольте ACM автоматически управлять обновлением сертификата. ACM предоставляет возможности получения и развертывания сертификатов, а также управления ими без дополнительной платы.

Вы можете использовать CloudFront для доставки контента из корневого домена, так называемого начала зоны вашего веб-сайта. Например, можно настроить адреса http://www.example.com и http://example.com таким образом, чтобы они указывали на одну и ту же базу раздачи CloudFront без снижения производительности или доступности при использовании сервиса перенаправления. Для этого создайте запись псевдонима Amazon Route 53 для привязки корня вашего домена к базе раздачи CloudFront.

Можно настроить Amazon CloudFront для включения протокола (HTTP или HTTPS) запроса вашего конечного пользователя в ключ кэша для уникальной идентификации объекта в кэше. Благодаря этому можно индивидуально настроить контент на основе протокола, используемого вашими конечными пользователями при обращении к контенту.

Amazon CloudFront поддерживает следующие методы HTTP: GET, HEAD, POST, PUT, DELETE, OPTIONS и PATCH. Это означает, что можно повысить производительность работы динамических веб-сайтов, которые содержат формы, поля для комментариев и авторизации, кнопки добавления в корзину и другие возможности, загрузки данных со стороны конечных пользователей. Это также означает, что теперь вы можете использовать одно и то же доменное имя для доставки всего веб-сайта с помощью CloudFront и тем самым ускорить загрузку в обоих направлениях. По умолчанию ответы на методы GET и HEAD кэшируются в периферийных местоположениях CloudFront. Вы можете настроить базу раздачи Amazon CloudFront для дополнительного кэширования ответов на запрос OPTIONS. Другие методы HTTP (POST, PUT, DELETE и PATCH) не кэшируются, а просто отправляются периферийными местоположениями Amazon CloudFront на сервер источника. Возможно, понадобится включить поддержку этих дополнительных методов HTTP для существующих баз раздачи CloudFront с помощью Консоли управления AWS Management Console или API CloudFront.

Кроме того, при настройке сервиса Amazon CloudFront для доставки динамического веб-сайта доступен полный набор возможностей сервиса. Среди них такие, как обслуживание частного контента, безопасная доставка контента, управление версиями объекта и аннулирование кэша, ведение логов доступа для отчетов и мониторинг использования и т. д. Дополнительную информацию о возможностях Amazon CloudFront см. в Руководстве разработчика по Amazon CloudFront.

Amazon CloudFront также предлагает вам заключить соглашение об уровне обслуживания. Оно предусматривает компенсацию в том случае, если уровень бесперебойной работы за любой учетный период был ниже согласованного. Дополнительную информацию см. на странице Amazon CloudFront SLA,

а также на странице описания продукта Amazon CloudFront и в Руководстве разработчика по Amazon CloudFront.

Amazon CloudFront добился повышения производительности, что ускорило доставку всего веб-сайта (включая как динамический, так и статический контент) от источника к конечным пользователям. Среди усовершенствований возможность поддержки постоянного подключения к источнику и другие методы оптимизации сети для ускорения доставки динамического контента. Каждый из ваших конечных пользователей перенаправляется на ближайшее к нему периферийное местоположение Amazon CloudFront с учетом задержки в сети Интернет. После этого их запросы передаются обратно на сервер источника в AWS через подключения, которые Amazon контролирует и оптимизирует в целях повышения производительности.

Amazon CloudFront повторно использует имеющиеся подключения между периферией CloudFront и сервером источника, что снижает задержку установки подключения для каждого запроса. Применяются и другие методы оптимизации подключения, позволяющие устранить узкие места при передаче контента через Интернет и полностью использовать имеющуюся пропускную способность между периферийным местоположением и посетителем. Благодаря этому Amazon CloudFront ускоряет доставку вашего динамического контента и обеспечивает вашим посетителям постоянство, надежность и индивидуальные настройки при навигации по вашему веб-приложению. Amazon CloudFront использует те же возможности повышенной производительности при обработке запросов на загрузку данных на ваш сервер, что и при загрузке динамического контента.

Доклад по производительности сервиса Amazon CloudFront от Frost & Sullivan. Недавно компания AWS поручила Frost & Sullivan составить доклад по производительности сервиса Amazon CloudFront в сравнении с другими сетями доставки контента верхнего сегмента. Этот доклад написал специалист по сетям доставки контента Дэн Рэйберн. В его работе представлены сравнительные данные производительности, которые свидетельствуют о преимуществе Amazon CloudFront среди сетей доставки контента верхнего сегмента в нескольких тестах измерения задержки и о преимуществе его во всех тестах измерения средней задержки среди сетей доставки контента верхнего сегмента. В докладе также представлены результаты тестов, проведенных на сайте Amazon.com (в тестировании принимали участие несколько сетей доставки контента верхнего сегмента), и поясняются причины того, что большая часть трафика сетей доставки контента на сайте Amazon.com в настоящее время обслуживается сервисом Amazon CloudFront. Загрузить доклад.

Amazon CloudFront эффективно взаимодействует с динамическими веб-приложениями, которые выполняются на инстансах Amazon EC2 или на серверах источника за пределами облака AWS. Создавать специальный код или выполнять настройку не требуется, так что развертывание сервиса и управление им не представляет никакой сложности. Вы можете использовать одну базу раздачи Amazon CloudFront для доставки всего веб-сайта, включая как статический, так и динамический (или интерактивный) контент. Это означает, что можно использовать одно доменное имя для всего веб-сайта (например, www.example). Нет необходимости разделять статический и динамический контент или использовать несколько доменных имен для одного сайта.

Также можно управлять Amazon CloudFront с помощью простого графического пользовательского интерфейса Консоли управления AWS. Выполнив всего один вызов API, можно распространять контент из корзины Amazon S3, инстанса Amazon EC2 или другого сервера источника через сеть Amazon CloudFront. Любые изменения, внесенные вами в существующую конфигурацию, вступают в силу по всей сети в течение нескольких минут. К тому же, так как нет необходимости вести переговоры с продавцом, вы можете быстро начать доставлять контент всего веб-сайта с помощью Amazon CloudFront.

Настройка Amazon CloudFront в Консоли управления AWS

console

Amazon CloudFront можно использовать вместе с другими веб-сервисами Amazon. При использовании Amazon EC2 в качестве сервера источника Amazon CloudFront вы получаете выгоду от работы с единым набором инструментов, который используется для настройки и управления доставкой всего веб-приложения. Amazon EC2 предлагает ту же модель ценообразования с оплатой по факту потребления и по факту использования, что и Amazon CloudFront. Кроме того, маршруты между периферийными местоположениями Amazon CloudFront и центрами обработки данных Amazon EC2 находятся под постоянным контролем. Также они оптимизированы для обеспечения производительности и доступности. Любые проблемы с этими сетевыми маршрутами быстро обнаруживаются и исправляются, или посетители автоматически направляется по другому сетевому маршруту, находящемуся под наблюдением Amazon. Таким образом они становятся максимально защищены от негативного воздействия.

Веб-приложения в этой сфере сильно связаны с личными настройками (например, рекомендациями). Критически важным является и быстрое ознакомление с продуктами путем поиска и навигации. Повышение производительности приложений в этой сфере превращается в прибыль и лояльность конечных пользователей.

Новостные и спортивные приложения должны быть индивидуально настроены для каждого пользователя с учетом быстрого переключения внимания. Этот контент может кэшироваться на короткие периоды времени (например, на несколько секунд) для повышения масштабируемости и производительности для конечных пользователей.

При индивидуальной настройке контента для конечных пользователей эти веб-приложения должны учитывать географическое местонахождение. Контент может кэшироваться в периферийных местоположениях на разные периоды времени, в зависимости от типа. Например, данные ежечасного обновления погоды могут кэшироваться на срок не более часа, а срочные предупреждения о погоде – всего на несколько секунд, чтобы конечные пользователи всегда имели доступ к самой актуальной информации.

Тема целевой рекламы определяется «на лету» с помощью cookie или данных строки запроса, и рекламодатели обычно нуждаются в быстром обслуживании рекламного контента. Amazon CloudFront поможет удовлетворить требования таких приложений, связанные с производительностью и ориентацией на пользователя.

Эти приложения также включают индивидуально настроенный и интерактивный контент, интегрированный с профилями пользователей, их предпочтениями, друзьями и видами деятельности. Контент, получаемый в результате, включает длительную историю и требует частого посещения серверов источника. Оптимизация сети и маршрута CloudFront поможет быстрее доставлять такой контент, что позволит приложениям социальных медиа работать производительнее.

Сервис Earth Networks предоставляет пользователям и организациям данные о погоде и состоянии атмосферы. Миллионы пользователей пользуются продуктами WeatherBug этой компании, в том числе мобильными приложениями и приложениями для настольных компьютеров, а также веб-сайтом www.weatherbug.com.

Благодаря использованию сети доставки контента Earth Networks быстро предоставляет своим пользователям динамический и индивидуально настроенный веб-контент с очень низкой задержкой и эффективным временем ответа. Сервис должен предоставлять конечным пользователям локальную информацию в режиме, близком к реальному времени. Сеть доставки контента обязана обеспечить настройку таких параметров, как время жизни, строки запросов и cookie для передачи обратно к источнику и получения только тех данных, которые нужны пользователю.

«В качестве поставщика информации о погоде на локальном уровне мы не можем использовать такую сеть доставки контента, в которой не предусмотрена доставка динамического контента и оптимизация таких параметров, как строки запросов, cookie и низкие значения продолжительности жизненного цикла. Наш случай использования охватывает весь диапазон возможностей, предоставляемый сервисом CloudFront», – характеризует задачи сервиса директор по разработке веб-приложений и приложений для рабочего стола Earth Networks и WeatherBug Энди Розенбаум. «Одна из проблем, с которой мы столкнулись при работе с предыдущей сетью доставки контента, заключалась в том, что нам требовался специфический код для этой сети, а это повышало стоимость разработки. Нам удалось достигнуть того же уровня производительности без написания собственного кода. Сейчас мы видим примерно 50-процентное сокращение затрат при уровне производительности, эквивалентном достигнутому при работе с предыдущей сетью доставки контента. Наш прогноз – 20-процентное сокращение использования источников на инстансах Amazon EC2, используемых с CloudFront».

Вы можете посетить сайт Earth Networks по адресу www.earthnetworks.com или просмотреть продукты WeatherBug компании по адресу www.weatherbug.com.

5 августа 2012 марсоход НАСА «Кьюриосити» приземлился на Красную планету. Зрители всего мира могли наблюдать процесс приземления на сайте mars.jpl.nasa.gov. Лаборатория реактивного движения NASA создала целевой веб-сайт с помощью сервиса Amazon CloudFront. Материалы включали стандартный HTTP-контент сайта с обновлениями блогов и статусов, статические фотоизображения с Марса и интерактивные загрузки игрового движка, где посетители могли управлять марсоходом и взаимодействовать с реальными данными, полученными с Марса, в режиме, близком к реальному времени.

Важную роль играли производительность и масштабируемость, поэтому лаборатория воспользовалась такими возможностями сервиса Amazon CloudFront, как строки запросов, низкие значения времени жизни, различные источники и различные настройки кэша для ускорения доставки веб-сайт http://mars.jpl.nasa.gov/. В то же время использовались другие сервисы AWS в качестве серверов источника для разных видов контента.

Технический директор лаборатории реактивного движения НАСА Том Содерстрем сообщил, что в связи с невозможностью предвидеть все сценарии в конце концов пришлось использовать большинство возможностей CloudFront по масштабированию и настройке в реальном времени. Он также отметил, что, судя по объему трафика, приземление марсохода стало более популярным, чем Олимпийские игры, поэтому возможности настройки были необходимы и сработали на отлично.

Вы можете посетить веб-сайт по адресу http://mars.jpl.nasa.gov/.

Amazon CloudFront позволяет снизить стоимость и упростить использование передовых возможностей доставки контента. В других сетях доставки контента они обходятся существенно дороже. Пользование сервисом Amazon CloudFront оплачивается по низким тарифам за передачу данных и обработку запросов, без дополнительной платы за обслуживание динамического контента и долговременных обязательств. Авансовые платежи или ежемесячная плата за использование платформы не взимается. Вам также не придется оплачивать дорогостоящие услуги консультантов по настройке системы.

Вы можете начать работу за считаные минуты, зарегистрировавшись на этом веб-сайте и создав базу раздачи Amazon CloudFront для обслуживания вашего статического и динамического контента. Можно также связаться с представителем по продажам Amazon CloudFront, чтобы обсудить ваш случай использования и возможность экономии при подписке на ежемесячный уровень использования в течение 12 месяцев и более. Свяжитесь с представителем по продажам Amazon CloudFront, заполнив эту форму: http://aws.amazon.com/contact-us/aws-sales/.

Amazon CloudFront также предлагает вам заключить соглашение об уровне обслуживания. Оно предусматривает компенсацию в том случае, если уровень бесперебойной работы за любой учетный период был ниже согласованного. Дополнительную информацию см. на странице Amazon CloudFront SLA.

Платите только за то, чем пользуетесь. Минимальный сбор не взимается. Оцените свой ежемесячный счет с помощью Калькулятора AWS.

Цены Amazon CloudFront см. на странице цен по адресу http://aws.amazon.com/cloudfront/pricing/.