2016-04-04 3 views
13

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

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

РПК

+0

Duh! Спасибо, Марк Б. – PKK

+1

Нет ли теперь API NodeJS для WP? И услуги RDBS в тандеме? Это определенно можно сделать, но это огромные усилия. – ilrein

+2

@PKK. Один из способов сделать это - использовать «WordPress XML-RPC API». Имеется хороший пакет узлов, который вы можете использовать [scottgonzalez/node-wordpress] (https://github.com/scottgonzalez/node-wordpress) пример : 'var wordpress = require (" wordpress "); var client = wordpress.createClient ({ url: "my-site.com", имя пользователя: "admin", пароль: "secret" }); клиентов.getPosts (функция (ошибка, сообщения) { response.setHeader («Content-Type», «text/json»); response.setHeader («Access-Control-Allow-Origin», «*»); ответ. end (posts.length); }); ' – eMM

ответ

4

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

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

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

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

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

Я бы серьезно подумал об использовании функций Azure для начала или с использованием 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 читаются тяжело. Ваш пробег будет зависеть от ваших потребностей.

+3

Честно говоря, ваши самые большие затраты на WordPress, скорее всего, будут вашей базой данных, которую вы в любом случае не решаете с AWS Lambda. – Tom

Смежные вопросы