Как развернуть приложение Java App Engine в другом облаке? - PullRequest
2 голосов
/ 06 июня 2011

Я написал относительно простое приложение Java App Engine, которое я хотел бы иметь возможность портировать на другого облачного провайдера.

Я использую API хранилища данных JDO, так что я думаю, что моя обработка данных должна быть переносимой надругие бэкэнды, перечисленные здесь: http://www.datanucleus.org/products/accessplatform/index.html

В идеале я хотел бы развернуть свое приложение на EC2 с минимальными изменениями кода.Какой мой лучший подход?

Примечание. Мне известен проект http://code.google.com/p/appscale/, но я хочу избегать его использования, поскольку не похоже, что они обновляются очень часто.

Ответы [ 3 ]

1 голос
/ 07 июня 2011

AppScale остается вашим лучшим вариантом, чтобы избежать переписывания любого кода.Они действительно идут в ногу с официальным App Engine - например, они только что выпустили предварительную поддержку Go .Даже если бы они не были так усердны в том, чтобы идти в ногу со временем, это было бы актуально, только если какая-то функция, которая вам требовалась, еще не поддерживалась - и, похоже, ваши потребности довольно простые.

0 голосов
/ 11 июня 2011

Мне удалось заставить мое приложение работать на EC2, используя следующие компоненты.

  • Tomcat 7
  • Datanucelus
  • HBase

Мне пришлось вручную создать таблицу в HBase для каждого из моих классов данных, но я смог настроить Datanucleus для автоматического создания столбцов.

Мне также пришлось изменить стратегию генерации значения первичного ключа с удостоверения на приращение в соответствии с этой таблицей поддерживаемых функций. http://www.datanucleus.org/products/accessplatform_3_0/datastore_features.html

0 голосов
/ 07 июня 2011

JDO должен быть тривиальным, тут и там может быть какая-то специфическая конфигурация Google, но обычно это должно быть легко. Модель хранения, которую продвигает Google, также неплоха для СУБД, но вам может потребоваться точная настройка вашей модели в зависимости от того, какой бэкэнд у вас получится.

Если вы не используете низкоуровневые API Google, вы должны быть там.

...