現(xiàn)實(shí)中的開(kāi)放源碼云計(jì)算,第1部分:并不是所有云都相同
概述:CTO 希望了解您的云計(jì)算戰(zhàn)略 — 而且明天就要聽(tīng)到。有許多云計(jì)算環(huán)境可供選用,它們有相似之處,也有差異。本文討論一些云計(jì)算環(huán)境,主要關(guān)注開(kāi)放源碼的云計(jì)算環(huán)境,幫助組織利用云計(jì)算的強(qiáng)大能力。介紹 Amazon、Microsoft®、Google、IBM®、Aptana、Heroku、Mosso、Ning 和 Salesforce 等提供商。討論每種平臺(tái)的強(qiáng)項(xiàng)和弱點(diǎn),以及在每種平臺(tái)上支持的開(kāi)放源碼和專(zhuān)有技術(shù)類(lèi)型。學(xué)習(xí)如何選擇適合自己需要的平臺(tái)。
關(guān)于本系列
在這個(gè)分三部分的 “真實(shí)的開(kāi)放源碼云計(jì)算” 系列中,學(xué)習(xí)如何判斷云計(jì)算是否對(duì)您有幫助以及如何制定云計(jì)算戰(zhàn)略。在第 1 部分中,了解云計(jì)算的益處、云的類(lèi)型和可供選擇的云計(jì)算平臺(tái)。后續(xù)文章將討論如何針對(duì)云進(jìn)行設(shè)計(jì)和開(kāi)發(fā),以及如何在云中管理應(yīng)用程序。
云計(jì)算:僅僅是營(yíng)銷(xiāo)口號(hào)嗎?
如果您從事技術(shù)工作,就可能聽(tīng)到過(guò)這樣的疑問(wèn):“云計(jì)算有什么我們以前沒(méi)有聽(tīng)到過(guò)的新東西嗎?云計(jì)算是否只是一個(gè)營(yíng)銷(xiāo)口號(hào)?” — 它是能夠解決所有問(wèn)題的銀彈嗎?或者更好?答案是肯定的。無(wú)法否認(rèn),圍繞云計(jì)算確實(shí)有宣傳泡沫。但是,許多廠商正在努力實(shí)現(xiàn)承諾。云計(jì)算確實(shí)有非常切實(shí)的益處。本文討論幾個(gè)可供選擇的云計(jì)算平臺(tái),但是覆蓋的范圍并不全面。
在采用云計(jì)算之前,應(yīng)該注意云計(jì)算的一些特點(diǎn)。在本文中,了解云計(jì)算的益處和挑戰(zhàn)。
關(guān)于云計(jì)算
云的類(lèi)型
Wikipedia 把云計(jì)算定義為 “基于 Internet 開(kāi)發(fā)和使用計(jì)算機(jī)的技術(shù)”。這個(gè)定義非常寬泛,許多產(chǎn)品都可以歸類(lèi)為云計(jì)算。相當(dāng)一部分云產(chǎn)品是 Software as a Service (SaaS) 的變體。SaaS 的例子包括:Zoho(文字處理、電子表格)、Salesforce (CRM)、SlideRocket(展示)等 Web 應(yīng)用程序;Google Search、Yahoo! Weather 或 PayPal 等 Web 服務(wù)。這些都是云計(jì)算的好例子,但是對(duì)于打算使用云計(jì)算的企業(yè)可能沒(méi)什么用。但是,它們可以對(duì)其他類(lèi)型的云計(jì)算起補(bǔ)充作用。
我們希望找到的云計(jì)算類(lèi)型是一種稱(chēng)為 Platform as a Service (PaaS) 的基礎(chǔ)結(jié)構(gòu)。最常見(jiàn)的 PaaS 例子是各種類(lèi)型的云數(shù)據(jù)存儲(chǔ),比如用于存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)的 Amazon 的 Simple Storage Service (S3) 或 IBM 的 Scale out File Service (SOFS)。它們都是分布式文件系統(tǒng)??梢酝ㄟ^(guò) Web 服務(wù)接口訪問(wèn) S3,可以通過(guò) NFS 和 FTP 等文件協(xié)議訪問(wèn) SOFS。Amazon 還通過(guò) SimpleDB 服務(wù)提供結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)。SimpleDB 支持通過(guò) Web 服務(wù)接口保存和查詢(xún)結(jié)構(gòu)化數(shù)據(jù)。 計(jì)算肯定不僅僅涉及存儲(chǔ),因此需要云計(jì)算平臺(tái)。云計(jì)算平臺(tái)允許在其中放置和執(zhí)行代碼。它們肯定可以與云存儲(chǔ)和云 Web 服務(wù)組合在一起。有許多可用的平臺(tái),它們具有不同的優(yōu)點(diǎn)和缺點(diǎn)。
益處
為什么要在云平臺(tái)而不是自己的計(jì)算機(jī)上運(yùn)行代碼?有幾個(gè)簡(jiǎn)單但切實(shí)的原因。通過(guò)使用云平臺(tái),就不需要購(gòu)買(mǎi)和設(shè)置所有計(jì)算機(jī)。如果云計(jì)算只有這一個(gè)特點(diǎn),它就與托管服務(wù)沒(méi)有區(qū)別了。云計(jì)算的主要優(yōu)點(diǎn)是能夠快速地打開(kāi)或關(guān)閉應(yīng)用程序,或者根據(jù)需要靈活地增減計(jì)算能力。任何云計(jì)算平臺(tái)都能夠根據(jù)需要無(wú)縫地提供更多計(jì)算資源。一些平臺(tái)還在隨需計(jì)算的基礎(chǔ)上提供通用的開(kāi)發(fā)平臺(tái)。
總之,云計(jì)算讓組織能夠快速部署應(yīng)用程序并根據(jù)業(yè)務(wù)需求擴(kuò)展它們。這聽(tīng)起來(lái)很不錯(cuò),但是云計(jì)算也有一些需要注意的挑戰(zhàn)。
挑戰(zhàn)
人們很容易只注意云計(jì)算的益處,但是它有一個(gè)缺點(diǎn):云計(jì)算最顯著的問(wèn)題之一是,應(yīng)用程序使用的數(shù)據(jù)與應(yīng)用程序一起放在云中。數(shù)據(jù)可能是敏感的,比如能夠識(shí)別出客戶(hù)的個(gè)人信息或他們的財(cái)務(wù)情況和交易記錄。還可能有非敏感數(shù)據(jù),這些數(shù)據(jù)也非常有價(jià)值,比如關(guān)于用戶(hù)的匯總信息以及他們使用應(yīng)用程序的方式。由于把重要的信息存儲(chǔ)在云中,所以必須了解平臺(tái)是否安全。
“誰(shuí)訪問(wèn)云中的數(shù)據(jù)” 并不是要擔(dān)心的惟一問(wèn)題。數(shù)據(jù)的完整性同樣重要。計(jì)算機(jī)難免會(huì)出現(xiàn)故障,所以必須能夠備份數(shù)據(jù)并在發(fā)生故障時(shí)恢復(fù)。平臺(tái)是否提供數(shù)據(jù)備份和恢復(fù)(至少是為需要的用戶(hù)提供)?應(yīng)用程序的可靠性顯然是非常重要的。平臺(tái)提供哪些種類(lèi)的服務(wù)水平協(xié)議?本文討論一些可用平臺(tái)在這些方面的特點(diǎn)和其他重要問(wèn)題。
平臺(tái)
目前有許多可供選擇的云計(jì)算平臺(tái)。本文討論的平臺(tái)并不全面,但是涉及比較流行的平臺(tái)以及它們之間的基本差異。我們會(huì)特別關(guān)注每種平臺(tái)上支持的編程語(yǔ)言和開(kāi)放源碼技術(shù),以及每種平臺(tái)如何解決云計(jì)算的問(wèn)題。為了幫助討論這么多平臺(tái),把它們粗略地分為基本平臺(tái)和專(zhuān)門(mén)平臺(tái)兩類(lèi)?!』酒脚_(tái) 只提供最基本的功能 — 只有(虛擬)硬件,還可能有操作系統(tǒng)。它們的限制比較少,所以往往更靈活。
專(zhuān)門(mén)平臺(tái) 在基本平臺(tái)上提供某種編程環(huán)境和服務(wù)。專(zhuān)門(mén)平臺(tái)通常比較簡(jiǎn)單,常常提供某些獨(dú)特的服務(wù)。
基本平臺(tái)
如果希望以最靈活的方式配置云中的系統(tǒng),就需要基本平臺(tái)??梢灾付ㄒ恍┡c硬件相關(guān)的規(guī)格,比如處理器類(lèi)型、處理器速度、特定的內(nèi)存量等等。然后,就可以自由地創(chuàng)建自己需要的任何系統(tǒng)。它與托管服務(wù)非常相似,但是能夠根據(jù)需求快速地增減容量。本節(jié)討論 Amazon、IBM、Joyent 和 Mosso 提供的四種基本平臺(tái)。
Amazon Elastic Compute Cloud
Amazon 的 Elastic Compute Cloud (EC2) 是最早的云計(jì)算平臺(tái)之一,也是最流行的平臺(tái)之一。俗話(huà)說(shuō),“跟著 Amazon 走,就是跟著潮流走?!?EC2 是基本平臺(tái)的好例子。
IBM 與 Amazon Web Services
IBM 已經(jīng)開(kāi)始與 Amazon Web Services 合作,支持用戶(hù)訪問(wèn)虛擬計(jì)算環(huán)境中的 IBM 中間件。Amazon EC2 體驗(yàn)計(jì)劃允許用戶(hù)評(píng)估和使用軟件,而不需要在自己的系統(tǒng)上安裝軟件。用戶(hù)可以在可靠的高性能環(huán)境中構(gòu)建企業(yè)級(jí)應(yīng)用程序,接近實(shí)時(shí)地調(diào)整計(jì)算能力,只需要為實(shí)際使用的時(shí)間和計(jì)算能力付費(fèi)。IBM 在 EC2 上提供的中間件包括:
DB2? Express-C V9.5
Informix? Dynamic Server Developer Edition V11.5
WebSphere? Portal Server 和 Lotus Web Content Management Standard EditionWebSphere sMash
它們都是生產(chǎn)級(jí)代碼,啟用了所有特性和選項(xiàng)。
要想使用 EC2,需要一個(gè) Amazon Machine Instance (AMI)。AMI 是完整的機(jī)器映像,包含操作系統(tǒng)、應(yīng)用程序等等。Amazon 和 EC2 社區(qū)提供許多常用的 AMI,包含 Microsoft Windows? 或 Linux? 操作系統(tǒng)以及各種開(kāi)放源碼軟件套件,比如 Apache Web 服務(wù)器、MySQL 和 Python 解釋器。如果找不到適合自己需要的 AMI,還可以使用 Amazon 提供的工具創(chuàng)建自己的 AMI,這些 AMI 可以只由自己使用,也可以與社區(qū)共享。
AMI 可以部署到各種規(guī)模的 “實(shí)例” 上。到編寫(xiě)本文時(shí),小實(shí)例具有一個(gè) 1 GHz 核、1.7 GB 內(nèi)存和 160 GB 磁盤(pán)空間。極大型實(shí)例具有四個(gè) 2 GHz 核、15 GB 內(nèi)存和 1.6 TB 磁盤(pán)空間。還有專(zhuān)門(mén)為計(jì)算密集型任務(wù)設(shè)計(jì)的特殊規(guī)模。您只需選擇適合自己需要的規(guī)模并部署 AMI。對(duì)實(shí)例的所有管理和控制都通過(guò) Web 服務(wù)進(jìn)行。圍繞這些 Web 服務(wù)已經(jīng)開(kāi)發(fā)出許多軟件,可以很方便地管理 EC2 實(shí)例。例如,可以使用 Firefox 擴(kuò)展 Elasticfox 在 Firefox 中直接管理和啟動(dòng) AMI。
EC2 采用開(kāi)放源碼的 Xen 虛擬化軟件。通過(guò)使用 EC2,實(shí)際上可以運(yùn)行任何類(lèi)型的軟件。通常使用各種風(fēng)格的 Linux 作為 AMI 的操作系統(tǒng)。可以使用任何編程語(yǔ)言:Java? 編程語(yǔ)言、PHP、Python 等??梢栽?EC2 上使用專(zhuān)有軟件,但是 EC2 的彈性使開(kāi)放源碼軟件非常有吸引力。在使用更大或更多實(shí)例時(shí),不需要考慮許可證問(wèn)題。 除了 EC2,Amazon 還提供許多基礎(chǔ)結(jié)構(gòu)服務(wù),可以使用它們解決數(shù)據(jù)可靠性和備份等問(wèn)題。Amazon 的 S3 服務(wù)是一種非常適合備份數(shù)據(jù)的服務(wù)。它采用自助模型。對(duì) Amazon 云的管理和訪問(wèn)只通過(guò) Web 服務(wù)進(jìn)行,需要兩因素身份驗(yàn)證。
IBM Blue Cloud
當(dāng) Amazon 率先進(jìn)入云計(jì)算領(lǐng)域時(shí),許多人感到吃驚。但是,當(dāng) IBM 進(jìn)入這個(gè)領(lǐng)域時(shí),沒(méi)有人感到吃驚。Blue Cloud 于 2008 年晚些時(shí)候公布,這個(gè)項(xiàng)目承諾提供云計(jì)算的所有基本功能??蛻?hù)可以選擇比較普通的 x86 硬件或基于 POWER? 的高端硬件。Blue Cloud 使用 IBM 的 Tivoli? 軟件向系統(tǒng)自動(dòng)地供應(yīng)各種資源(CPU/RAM/磁盤(pán)),這讓客戶(hù)能夠獲得強(qiáng)大的計(jì)算能力,但是只根據(jù)需要量付費(fèi)。IBM 還倡導(dǎo) “私有” 云,這讓防火墻后面的內(nèi)部應(yīng)用程序也能夠受益于云計(jì)算。
IBM 的 Blue Cloud 是一種正在發(fā)展的技術(shù),所以您應(yīng)該查閱關(guān)于它支持的技術(shù)類(lèi)型的最新信息。IBM 是最大的開(kāi)放源碼技術(shù)支持者之一,因此對(duì)于大量使用開(kāi)放源碼技術(shù)的應(yīng)用程序,使用 IBM 的平臺(tái)是很有吸引力的。
Joyent Accelerator
Joyent 可能不像 Amazon 或 IBM 那么有名氣,但是作為為基于 Web 的創(chuàng)業(yè)公司提供云計(jì)算平臺(tái)的提供商,它已經(jīng)贏得了良好的聲譽(yù)。Joyent Accelerator 提供傳統(tǒng)托管服務(wù)提供商的許多靈活性,同時(shí)提供云計(jì)算的關(guān)鍵特性 —— 隨需計(jì)算。通過(guò)使用 Joyent Accelerator,可以快速地啟動(dòng)實(shí)例,其中包含預(yù)先配置好的 PHP、Java 語(yǔ)言或 Ruby on Rails。您可以選擇需要多少計(jì)算能力。所有軟件都在 OpenSolaris 上運(yùn)行,所以可以使用常用工具(比如 SSH 和 FTP)訪問(wèn)和管理在其中部署的資產(chǎn)?!oyent 的云計(jì)算在設(shè)計(jì)時(shí)就考慮到了可伸縮性。它最實(shí)惠的產(chǎn)品也設(shè)計(jì)為能夠應(yīng)付使用量的急劇增長(zhǎng)。因此,對(duì)于通常不需要很多計(jì)算能力,但是可能會(huì)遇到使用量高峰的 Facebook 應(yīng)用程序,Joyent 是非常受歡迎的選擇。
Joyent 支持與 OpenSolaris 兼容的任何技術(shù)。這包括任何開(kāi)放源碼的 LAMP 技術(shù)和編程語(yǔ)言,以及 Java 和 Ruby 等其他編程語(yǔ)言。Joyent 允許使用任何現(xiàn)有的 Linux 或 UNIX? 工具保護(hù)和維護(hù)站點(diǎn)和數(shù)據(jù)。
Mosso
Mosso 是著名的托管服務(wù)提供商 The Rackspace Cloud 的子公司,它提供幾種不同的云計(jì)算服務(wù)。Mosso 的 Cloud Site 同時(shí)提供基本平臺(tái)和專(zhuān)門(mén)平臺(tái)。有兩個(gè)基本的 Cloud Site 配置。一個(gè)配置使用開(kāi)放源碼軟件,它是典型的 LAMP 設(shè)置。另一個(gè)配置是 Windows 服務(wù)器,其中包含 IIS Web 服務(wù)器和 SQL Server 數(shù)據(jù)庫(kù)??梢赃x擇配置,根據(jù)需要的帶寬、存儲(chǔ)量和 CPU 周期付費(fèi)。
Mosso 已經(jīng)宣布還將提供一個(gè)稱(chēng)為 Cloud Servers 的新產(chǎn)品。這個(gè)產(chǎn)品是 Linux 系統(tǒng),但是在配置方面提供完全的靈活性。Mosso 的 Cloud Site 提供許多應(yīng)用程序所需的基本構(gòu)建塊,所以很受歡迎??梢园阉鼈兛醋龌镜膶?zhuān)門(mén)平臺(tái)。下一節(jié)討論更專(zhuān)門(mén)的平臺(tái)。
專(zhuān)門(mén)平臺(tái)
“專(zhuān)門(mén)” 這個(gè)詞顯然有點(diǎn)主觀。專(zhuān)門(mén)的云計(jì)算平臺(tái)究竟有什么特點(diǎn)?本節(jié)討論的所有平臺(tái)都在基本平臺(tái)的基礎(chǔ)上提供額外特性。這些特性可以是獨(dú)特的開(kāi)發(fā)環(huán)境、在平臺(tái)中集成的額外服務(wù)或者提供方便的特性。本文討論下面這些專(zhuān)門(mén)平臺(tái):Microsoft Azure、Google App Engine、Aptana Cloud、Heroku、Ning 和 Salesforce?!icrosoft Azure
Azure 平臺(tái)由 Microsoft 于 2008 年第四季度公布。這個(gè)平臺(tái)捆綁它自己的操作系統(tǒng),一種特殊風(fēng)格的 Windows。它包含一個(gè)用于動(dòng)態(tài)地供應(yīng)機(jī)器實(shí)例的 “系統(tǒng)管理程序”。它可以運(yùn)行任何 .NET 應(yīng)用程序。當(dāng)然,基于服務(wù)器的 .NET 應(yīng)用程序很適合轉(zhuǎn)移到這個(gè)云平臺(tái)上。Microsoft 已經(jīng)開(kāi)始在 Azure 上的云中提供它的許多基于服務(wù)器的產(chǎn)品,比如 Exchange。
但是,Azure 不僅僅是 Windows 和 .NET 平臺(tái)。Azure 平臺(tái)還提供許多其他服務(wù),包括 SQL Services(一個(gè)可伸縮性很強(qiáng)的 SQL Server 數(shù)據(jù)庫(kù))和 Live Services(許多流行的 Microsoft 應(yīng)用程序使用這些 Web 服務(wù)進(jìn)行搜索、照片共享、即時(shí)消息傳遞等等)。Azure 還提供與 Microsoft 的 IDE Visual Studio? 的緊密集成,因此很容易在 Azure 平臺(tái)上運(yùn)行、測(cè)試和部署應(yīng)用程序。
Azure 是專(zhuān)有的云平臺(tái),但是如果您已經(jīng)在使用專(zhuān)有的 Microsoft 技術(shù),那么它還是有些吸引力的??蛻?hù)只能使用 Microsoft 提供的專(zhuān)有技術(shù),比如 .NET 語(yǔ)言和基于 SQL Server 的數(shù)據(jù)庫(kù)??梢允褂迷S多 Windows 技術(shù)保護(hù)、訪問(wèn)和管理在 Azure 上運(yùn)行的任何應(yīng)用程序。
Google App Engine
App Engine 由 Google 于 2008 年第二季度啟動(dòng),它與其他云平臺(tái)很不一樣。在它上面沒(méi)有硬件的供應(yīng);只需把應(yīng)用程序部署到其中 — 部署是免費(fèi)的。但是,與其他云平臺(tái)相似,App Engine 對(duì)使用量有限制,可以根據(jù)需要購(gòu)買(mǎi)更多 CPU 使用量、存儲(chǔ)量和帶寬。Google App Engine 有一些方便的特性,但這只是它的專(zhuān)門(mén)特性集的一小部分。
Google App Engine 提供一個(gè)健壯的開(kāi)發(fā)環(huán)境,這個(gè)環(huán)境只支持 Python。它在 Python 之上提供許多服務(wù)。用戶(hù)管理與 Google 集成。例如,用戶(hù)使用在登錄 Google Mail 時(shí)使用的憑證登錄您的應(yīng)用程序。它提供一個(gè)用于存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)存儲(chǔ) API。數(shù)據(jù)存儲(chǔ)和獲取操作與使用關(guān)系數(shù)據(jù)庫(kù)時(shí)相似,但完全是 Google 專(zhuān)有的技術(shù)。它基于 Google 專(zhuān)有的分布式文件系統(tǒng) GFS??傊?,Google 只支持開(kāi)放源碼的 Python,在其他方面大量使用專(zhuān)有技術(shù)(盡管 Google 在幕后可能使用許多開(kāi)放源碼技術(shù))。Google App Engine 沒(méi)有提供任何數(shù)據(jù)備份解決方案,但是底層數(shù)據(jù)庫(kù)具有很強(qiáng)的容錯(cuò)能力。
Aptana Cloud
Aptana 最有名的產(chǎn)品可能是 Aptana Studio,這是一個(gè)支持 JavaScript、PHP、Python 和 Ruby 等動(dòng)態(tài)編程語(yǔ)言的基于 Eclipse 的 IDE。Aptana 于 2008 年第二季度公布了它的云平臺(tái)。Aptana Cloud 實(shí)際上是在 Joyent 的云計(jì)算平臺(tái)上提供的一組特性。
通過(guò)使用 Aptana Cloud,可以輕松地把應(yīng)用程序部署到 Linux 或 MySQL 環(huán)境中,其中包含 PHP、Jaxer(Aptana 的服務(wù)器端 JavaScript 實(shí)現(xiàn))或 Ruby on Rails。Aptana Cloud 部署具有 Joyent Accelerator 部署的所有特性,還包含 Aptana 提供的額外特性。云應(yīng)用程序的部署和管理直接通過(guò) Aptana Studio 進(jìn)行。可以通過(guò) Aptana Studio 執(zhí)行所有任務(wù),包括向應(yīng)用程序供應(yīng)硬件、監(jiān)視日志文件等等。Aptana 的簡(jiǎn)便性是前所未有的。開(kāi)發(fā)、測(cè)試、部署和管理都在一個(gè)地方進(jìn)行。
Aptana 從 Joyent 繼承了對(duì)開(kāi)放源碼技術(shù)和編程語(yǔ)言的支持。它還繼承了用于管理和備份的開(kāi)放源碼工具。Aptana Studio 中集成了許多管理功能,但是也可以構(gòu)建更高級(jí)的系統(tǒng)。
Heroku
有人說(shuō),“創(chuàng)業(yè)公司 Y-Combinator 的 Heroku 為 Ruby on Rails 提供的特性就是 Google App Engine 為 Python 提供的?!?但是,這種說(shuō)法對(duì)于 Heroku 并不公平。它不只是一個(gè)可以使用 Ruby on Rails 的云平臺(tái)。Heroku 只支持 Rails,針對(duì) Rails 做了大量調(diào)整。通過(guò)使用 Heroku,只需在本地設(shè)置中添加一個(gè) Ruby gem,馬上就可以在 Heroku 云中部署和運(yùn)行應(yīng)用程序。另外,還可以從 Git 存儲(chǔ)庫(kù)進(jìn)行部署。甚至可以直接從 Web 瀏覽器訪問(wèn)和編輯自己的代碼。在應(yīng)用程序中可以使用任何 Ruby gem 或 Rails 插件?!eroku 非常方便。它在 Amazon EC2 之上運(yùn)行,所以可以彈性地?cái)U(kuò)展計(jì)算能力。Heroku 通過(guò)它的 Heroku Garden 提供免費(fèi)服務(wù)??梢栽谠浦忻赓M(fèi)部署和測(cè)試應(yīng)用程序。當(dāng)準(zhǔn)備好處理更大的通信量或者需要容錯(cuò)能力時(shí),可以把應(yīng)用程序轉(zhuǎn)移到主 Heroku 平臺(tái)。
Ning
本文到目前為止討論的云平臺(tái)都是通用的。無(wú)論您的應(yīng)用程序是什么,它們都可以處理。其中一些平臺(tái)主要適用于 Web 應(yīng)用程序,但是這個(gè)類(lèi)別仍然是相當(dāng)寬泛的。流行的站點(diǎn) Ning 允許用戶(hù)創(chuàng)建自己的社交網(wǎng)絡(luò)。這常常通過(guò)純粹的配置、添加頁(yè)面、在頁(yè)面中添加組件、配置組件等操作來(lái)完成。通過(guò)使用 Ning,還可以下載自己的社交網(wǎng)絡(luò)的源代碼,根據(jù)需要修改代碼,然后在 Ning 云中運(yùn)行它。社交網(wǎng)絡(luò)代碼是用簡(jiǎn)單的 PHP 編寫(xiě)的,所以很容易創(chuàng)建自己的社交網(wǎng)絡(luò)應(yīng)用程序。
與 Google App Engine 相似,Ning 提供一個(gè)數(shù)據(jù)存儲(chǔ) API 而不是關(guān)系數(shù)據(jù)庫(kù)。它還通過(guò)許多 Ning API 提供對(duì)社交網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的訪問(wèn)。可以通過(guò)上傳代碼進(jìn)行部署,還提供供應(yīng)硬件的功能。Ning 在用戶(hù)的網(wǎng)絡(luò)上附加廣告,并限制存儲(chǔ)量和帶寬。如果要去除廣告或增加存儲(chǔ)量和帶寬,就需要付費(fèi)。
Ning 顯然是一個(gè)非常專(zhuān)門(mén)的云平臺(tái)。但是,如果您打算在應(yīng)用程序中構(gòu)建社交網(wǎng)絡(luò)特性(即使它們只是主要特性之外的輔助特性),而且熟悉 PHP 編程,那么 Ning 是非常有吸引力的選擇。Ning 與 Google App Engine 相似。用戶(hù)只能使用一種編程語(yǔ)言 (PHP),而且不能根據(jù)需要安裝其他軟件。但是,它具有很強(qiáng)的可伸縮性。
Salesforce
另一個(gè)非常專(zhuān)門(mén)的云計(jì)算平臺(tái)是 Salesforce 提供的,Salesforce 最有名的成果是使用 SaaS 模型革新了客戶(hù)關(guān)系管理 (CRM) 軟件。在 Force.com 平臺(tái)上,您可以創(chuàng)建自己的應(yīng)用程序,運(yùn)行它們的云基礎(chǔ)結(jié)構(gòu)類(lèi)型與 Salesforce 運(yùn)行其 CRM 應(yīng)用程序的云基礎(chǔ)結(jié)構(gòu)類(lèi)型相同。企業(yè)使用 AppExchange 尋找并 “安裝” 應(yīng)用程序,讓自己的用戶(hù)可以使用它們。與 Facebook 應(yīng)用程序相似,可以讓?xiě)?yīng)用程序作為主 Salesforce 應(yīng)用程序的組成部分無(wú)縫地運(yùn)行。
另外,還可以用一個(gè)或多個(gè)應(yīng)用程序創(chuàng)建定制的 Force.com 站點(diǎn)。這與云計(jì)算模型更相似。在使用 Force.com 站點(diǎn)時(shí),并不根據(jù)硬件付費(fèi),而是根據(jù)用戶(hù)數(shù)量付費(fèi)。根據(jù)每個(gè)用戶(hù)需要的存儲(chǔ)量不同,有不同的費(fèi)率。要想創(chuàng)建在 Salesforce 上運(yùn)行的應(yīng)用程序,需要用 Apex 編寫(xiě)程序,這是與 Java 編程語(yǔ)言相似的一種專(zhuān)有語(yǔ)言。Salesforce 工程師也使用這種語(yǔ)言開(kāi)發(fā)自己的 CRM 應(yīng)用程序。
Salesforce 還提供許多與平臺(tái)相關(guān)的服務(wù),用于管理用戶(hù)、賬戶(hù)、角色和數(shù)據(jù)訪問(wèn)。對(duì)于業(yè)務(wù)應(yīng)用程序,尤其是特定企業(yè)特有的業(yè)務(wù)應(yīng)用程序,F(xiàn)orce.com 站點(diǎn)是很有吸引力的選擇。Salesforce 在開(kāi)放源碼技術(shù)和編程選擇方面相當(dāng)受限制。但是,與 Google App Engine 和 Ning 相似,Salesforce 提供可伸縮性很強(qiáng)的專(zhuān)有技術(shù)。
結(jié)束語(yǔ)
本文討論了云計(jì)算的一些重要的益處。介紹了許多種云計(jì)算平臺(tái)以及它們的相似之處和差異。這些信息可以幫助您選擇適合自己的平臺(tái)。
請(qǐng)繼續(xù)關(guān)注這個(gè) “真實(shí)的開(kāi)放源碼云計(jì)算” 系列中的后續(xù)文章,我們將討論如何在云計(jì)算平臺(tái)上開(kāi)發(fā)、部署和管理應(yīng)用程序。
評(píng)論
查看更多