2009-07-13 101 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