Кэширование данных, хранимых в Amazon S3

WordPress.com обеспечивает хостинг свыше 2 миллионов блогов (на момент написания статьи) и получает свыше 30 миллионов просмотров страниц за день. Серверы компании установлены в трех вычислительных центрах, между которыми налажена репликация данных. Одно время это обстоятельство усложняло отправку мультимедийных материалов (видео аудио, фотографии) для пользователей, потому что у фирмы возникали проблемы с развертыванием нового дискового пространства. Фирма выбрала сервис Amazon Simple Storage Service (S3) для решения проблем резервного копирования/восстановления данных.

По мере накопления опыта использования сервиса в WordPress постепенно начали использовать S3 для основного хранения данных. Выбор в пользу облачною хранения объяснялся не экономическими причинами, на момент написания статьи затраты на S3 в 3-4 раза превышали затраты на приобретение собственной системы хранения данных и управление ею. В WordPress стремились к простоте развертывания и управления. Избавившись от проблем с использованием дискового пространства, они смогли сосредоточиться на других частях инфраструктуры и функциональности сайта. В сущности, WordPress планирует использовать S3 как «склад данных» почти бесконечной емкости.

Amazon Web Services (AWS) взимает плату за чтение и запись данных в своем облаке S3, поэтому WordPress кэширует контент, получаемый от S3, на своих собственных серверах.

Благодаря кэшированию часто запрашиваемых объектов (или объектов, которые оцениваются как «достаточно популярные» для кэширования) WordPress использует S3 с максимально возможной эффективностью. Кэширование помогает избежать лишних затрат на передачу данных, а также ускоряет предоставление контента с собственных серверов.

При подобной организации кэширование S3 превращается в почти бесконечный ресурс дискового пространства. WordPress не нужно беспокоиться об ограничениях и затратах, связанных с пошаговым наращиванием мощностей.

Означает ли это, что WordPress больше не занимается планированием мощностей? Вовсе нет. Остались системы кэширования (а также базы данных и веб-серверы), которые тоже должны масштабироваться, но это считается приемлемым, поскольку самым «больным местом» было хранение данных. WordPress с радостью переработала архитектуру хранения данных, чтобы больше не беспокоиться о ней.