Лучшие практики в облачных вычислениях - PullRequest
0 голосов
/ 13 июля 2009

Кто-нибудь знает лучшие практики, которые необходимо соблюдать при внедрении приложения в облаке?

Я хотел бы создать приложение, которое не зависит от облака. Таким образом, ЦАП должен иметь возможность работать с S3 / AppEngine / Azure, просто изменив конфигурацию. Есть ли какая-либо структура или лучший шаблон, которому нужно следовать, чтобы код не зависел от поставщика облачных услуг.

РЕДАКТИРОВАТЬ: Я хотел бы понять, как мы можем абстрагировать различные компоненты, такие как DAC / управление сеансами и т. Д., Чтобы в будущем (когда поставщики облачных услуг начали поддерживать другие языки) мы могли бы переходить от одного поставщика к другому , Как я понимаю, нам нужно использовать модель AppEngine вместо модели Django и формы движка App вместо Django. Они имеют тенденцию привязываться к приложению с провайдером. Есть ли способ избежать этого?

Ответы [ 3 ]

0 голосов
/ 13 июля 2009

AppEngine реализует спецификацию контейнера J2EE вместе с JDO и JPA для доступа к данным. Итак, если вы работаете с Java, вы можете довольно легко переместить приложение J2EE в AppEngine или из него. С EC2 вы должны сами управлять сервером, что означает, что вы будете устанавливать и настраивать свой собственный сервер J2EE, такой как JBoss. Вам также придется иметь дело с кластеризацией и масштабированием. AppEngine сделает все это за вас. Azure строго для .NET.

0 голосов
/ 13 июля 2009

Сейчас я думаю, что ваша цель - переместить приложение между этими тремя облаками, просто изменив конфигурацию, неосуществимо. Возможно, вам будет сложно написать эффективный код, который будет работать на appengine (python или java), а также на ASP.net. (если кто-то не запустил django на лазури, что было бы здорово)

Возможно, у вас есть шанс получить одну кодовую базу для работы с 2 из 3 - либо appengine и EC2, либо Azure и EC2. Из всех 3 Amazon EC2 является сервисом самого низкого уровня и, следовательно, наиболее гибким (для его запуска также требуется больше администрирования). Вы можете запустить окно Windows с asp.net и Sql-сервером, чтобы соответствовать вашей среде Azure, или запустить Java-стек, чтобы приблизиться к вашей среде приложения.

0 голосов
/ 13 июля 2009

Мне кажется, что между разными предложениями не так много общего. (например, 3, которые вы упомянули ....)

  • S3 - это больше тип изображения машины Решение, думаю, сервер ESX в облако, так что ваши приложения только что развернуты к образу машины, Linux или Windows.
  • AppEngine - это среда размещенного приложения для любого Приложения Python или Java (поддержка Java добавлено совсем недавно)
  • Azure (compute) более аналогичен к размещенному веб-приложению ASP.NET с куча дополнительных услуг (обмен сообщениями, хранение блобов и т. д.)

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

РЕДАКТИРОВАТЬ: На самом деле я лгу, S3 не является решением изображения машины, я путал это с EC2 . S3 - это решение datastorage , которое не имеет ничего общего с размещенными приложениями. (кроме, возможно, решения для хранения размещенного приложения).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...