2009-07-13 63 views
0

任何人都知道在云中实施应用程序时应遵循的最佳实践吗?云计算的最佳实践

我想构建一个独立于云的应用程序。因此,只需通过更改配置,DAC就能够对抗S3/AppEngine/Azure。是否存在任何框架或最佳模式,以便代码独立于云提供商。

编辑:我想了解我们如何能够抽象DAC /会话管理等各种组件,所以,在将来(当云提供商开始支持其他语言时),我们将能够从一个供应商移动到另一个。据我所知,我们需要使用AppEngine的模型,而不是Django模型和App引擎的形式,而不是Django。这些倾向于锁定与提供商的应用程序。有什么办法可以避免这样做?

回答

0

现在,我认为您只需要更改配置即可在这三个云之间移动应用程序的目标是不可行的。您可能很难编写有效的代码,可以在appengine(python或java)上运行,也可以在ASP.net上运行。 (除非有人得到django在azure上运行,这将是可怕的)

你可能会得到一个代码库来处理3中的2个 - 无论是appengine和EC2,还是Azure和EC2。在所有这三项中,亚马逊的EC2是最低级别的服务,因此最为灵活(它也需要更多的管理才能运行)。你可以运行一个带有asp.net和Sql服务器的窗口框来匹配你的天蓝色环境,或者你可以运行一个Java栈来逼近你的appengine环境。

0

在我看来,不同产品之间没有很多共性。 (例如,3你提到....)

  • S3更是一个 机映像的溶液型,想在 云ESX服务器,所以您的应用刚刚部署 到的一个实例机器映像, Linux或Windows。
  • AppEngine上是要么 Python或Java应用程序(Java支持 加入刚刚)
  • 天青(计算)更类似于 与一个 一堆额外的托管ASP.NET Web应用程序一个 托管应用程序环境服务 (短信,Blob存储等)

因此,尽管有一些共性,我不认为之间的大多数这些产品都是所有直截了当的应用程序迁移。但是我也不认为这是不可能的。

编辑:其实我说谎,S3不是机器图像解决方案,我很困惑,与EC2。 S3是与托管应用程序无关的数据存储解决方案。 (除了可能是托管应用程序的存储解决方案)。

0

AppEngine实现J2EE容器规范以及JDO和JPA进行数据访问。所以,如果你使用Java,你可以很容易地将一个J2EE应用程序移入或移出AppEngine。使用EC2,您必须自己管理服务器,这意味着您将安装和配置您自己的J2EE服务器,如JBoss。你将不得不处理群集和扩展。 AppEngine为你做了所有这些。 Azure严格适用于.NET。

+3

我不确定将随机J2EE应用程序移动到appengine是“非常容易的”。在应用程序引擎之上的JDO与在SQL数据库之上的JDO非常不同。 – 2009-07-13 02:56:20