Подтвердить что ты не робот

Развертывание wordpress как функции AWMS лямбда?

Мне интересно, можно ли развернуть wordpress в виде серии лямбда-функций на шлюзе AWS API. Любые указатели на технико-экономическое обоснование /gotchas были бы с благодарностью!

Спасибо заранее,

РПК

4b9b3361

Ответ 1

У вас будет много вещей, которые нужно учитывать с настойчивостью, и даже до этого Lambda не поддерживает PHP. Вероятно, я бы посмотрел на Microsoft Azure Functions, которые поддерживают PHP и имеют постоянное хранилище.

В то время как другие языки (такие как Go, Rust, Swift и т.д.) могут быть "завернуты" для работы в AWS Lambda с относительной легкостью, компиляция PHP с таргетингом на ту же платформу и ее запуск немного отличается (и, конечно, более кропотливым), Подумайте обо всех различных PHP-модулях, которые вам понадобятся для начинающих. Более того, я не могу себе представить, что производительность будет такой же хорошей, как нечто вроде двоичного кода Go.

Если вы можете сделать что-то умное с помощью платформы Phalcon и придумать простой процесс сборки и развертывания, тогда maayyyybee.

Хотя вам, вероятно, понадобится действительно пересмотреть что-то вроде WordPress, который не был разработан для этого вообще. Он по-прежнему использует некоторые довольно старые соглашения из-за возраста проекта, и, хотя это все хорошо и хорошо для вашего типичного сервера PHP, это другая игра с мячом в смысле этой "переносной" установки PHP.

Имейте в виду, что на PHP-сессии тоже полагаются, и поэтому вам нужно будет переместить их в другое место из-за отсутствия настойчивости с AWS Lambda. Возможно, вы можете найти какой-то плагин для WordPress, который работает с Redis? Я должен представить, что что-то подобное было построено к настоящему времени... Но будет много осложнений.

Я бы серьезно подумал о том, чтобы использовать Azure Functions для начала или с помощью Docker и отказаться от модели ценообразования, предлагаемой облачными функциями. Вы все еще можете найти довольно дешевый и масштабируемый хостинг.

То, что я делал ранее, было использование AWS ECS (Docker) с EFS (сетевое хранилище) для сохранения и RDS для базы данных. Хотя это не соответствует той же модели ценообразования, что и Lambda, она по-прежнему экономически эффективна. Вы можете настроить службу ECS для автоматического увеличения вверх и вниз. Таким образом, вы используете минимальный минимум, пока вам не понадобится больше.

Я написал более подробную статью об этом здесь: https://serifandsemaphore.io/how-to-host-wordpress-like-a-boss-b5993fcfbd8e#.n6fbnf8ii... но это в основном просто идея запуска WordPress в Docker и использование EFS для выгрузки проблем с постоянным хранением. Вы можете поменять многие части головоломки, если хотите. Используйте базу данных, размещенную в какой-либо другой службе Docker, или Compose или где-либо еще. Эта часть не обязательно должна быть RDS. Даже ваше хранилище можно обрабатывать по-другому, хотя EFS работает очень хорошо! Единственное, что следует отметить в EFS, это скорость записи. Однако большинство сайтов WordPress читаются тяжело. Ваш пробег будет зависеть от ваших потребностей.