七大国内外主流云计算开发平台
隨著大眾對云計算日益增長的需求,很多公司也建立了云計算開發平臺,從多種角度、多形式的進行云技術的開發。這是開發者打造云戰略的一個舞臺,他們提供了云的部署及管理應用所需的基于云的開發和應用縮放或者是基礎設施的管理,或是提供一個開源軟件和硬件向結合的應用程序開發平臺。
各種云平臺(cloud platforms)的出現無疑是轉變云計算技術的重要環節之一。顧名思義,這種平臺允許開發者們或是將寫好的程序放在“云”里運行,或是使用“云”里提供的服務,或二者皆是。至于這種平臺的名稱,現在我們可以聽到不止一種稱呼,比如平臺即服務(platform as a service,PaaS)。像PaaS這種支持應用的方式有著巨大的潛力,本文盤點了國內外主流公司的云計算PaaS技術,以提供參考。
微軟Windows Azure
Windows Azure是專為在微軟建設的數據中心管理所有服務器,網絡以及存儲資源所開發的一種特殊版本Windows Server操作系統,它具有針對數據中心架構的自我管理(autonomous)機能,可以自動監控劃分在數據中心數個不同的分區(微軟將這些分區稱為Fault Domain)的所有服務器與存儲資源,自動更新補丁,自動運行虛擬機部署與鏡像備份(Snapshot Backup)等能力,Windows Azure被安裝在數據中心的所有服務器中,并且定時和中控軟件:Windows Azure Fabric Controller進行溝通,接收指令以及回傳運行狀態數據等等,系統管理人員只要通過Windows Azure Fabric Controller就能夠掌握所有服務器的運行狀態,Fabric Controller本身是融合了很多微軟系統管理技術的總成,包含對虛擬機的管理(System Center Virtual Machine Manager),對作業環境的管理(System Center Operation Manager),以及對軟件部署的管理(System Center Configuration Manager)等,在Fabric Controller中被發揮得淋漓盡致,如此才能夠達成通過Fabric Controller來管理在數據中心中所有服務器的能力。
Windows Azure環境除了各式不同的虛擬機外,它也為應用程序打造了分散式的巨量存儲環境(Distributed Mass Storage),也就是Windows Azure Storage Services,應用程序可以根據不同的存儲需求來選擇要使用哪一種或哪幾種存儲的方式,以保存應用程序的數據,而微軟也盡可能的提供應用程序的兼容性工具或接口,以降低應用程序移轉到Windows Azure上的負擔。
Windows Azure服務平臺現在已經包含如下功能:網站、虛擬機、云服務、移動應用服務、大數據支持以及媒體功能的支持。
編輯總結:Azure服務平臺的設計目標是用來幫開發者更容易地創建web和互聯設備的應用程序。它提供了最大限度的靈活性、選擇和使用現有技術連接用戶和客戶的控制。其優點是:利于開發者過渡到云計算;可快速獲得結果;想象并創建新的用戶體驗;基于標準的兼容性。
Cloud Foundry
Cloud Foundry是由相對獨立的多個模塊構成的分布式系統,每個模塊單獨存在和運行,各模塊之間通過消息機制進行通信。Cloud Foundry各模塊本身是基于Ruby語言開發的,每個部分可以認為拿來即可運行,不存在編譯等過程。
Cloud Foundry云平臺是完全模塊化的分布式系統,各個模塊之間是相互獨立的,通過消息總線進行相互連接和通信,這種結構不僅使系統各模塊之間的耦合度降低,而且使系統功能容易擴充。此外,開發人員可以通過VMC命令行工具或STS插件方便的部署應用程序到Cloud Foundry云平臺上,最終用戶可以通過瀏覽器訪問運行在Cloud Foundry云平臺上的應用。所有的訪問請求都通過Router進行轉發,分別由云控制器Cloud Controller和應用運行代理DEA模塊進行請求響應,應用生命周期管理Health Manager模塊負責監控和管理整個應用在云平臺上的正常運行,云平臺的各種應用服務由Services模塊提供,可以靈活擴展。
Cloud Foundry云平臺主要有Router、Cloud Controller、Health Manager、DEA、NFS、NATS、Cloud Controller Database以及Service等模塊組成。這些模塊協同合作,通過特定的消息傳輸機制和API接口進行通信,就可以使整個云平臺正常運行。由于在集群環境下每個模塊都有多個部署節點,從而保證了云平臺的可靠性和彈性動態擴展的需求,使得應用程序可以穩定可靠的運行在Cloud Foundry云平臺上。
編輯總結:Cloud Foundry為開發者構建了具有足夠選擇性的PaaS云平臺,它同時支持多種開發框架、編程語言、應用服務以及多種云部署環境的靈活選擇。其優點是:支持各種框架的靈活選擇;增加了在PaaS平臺上部署應用的靈活性;可以靈活的部署多種云環境中。
Red Hat OpenShift
紅帽OpenShift通過為開發人員提供在語言、框架和云上的更多的選擇,使開發人員可以構建、測試、運行和管理他們的應用,從而重新定義了 PaaS市場。以紅帽全面的JBoss專業知識為基礎,OpenShift憑借創新的特性(包括CDI)領導PaaS市場,并支持Java EE 6,從而將PaaS的能力擴展到更豐富和更苛刻的應用。建立在紅帽開源領導地位基礎上的OpenShift旨在終結PaaS的廠商鎖定,使用戶可以選擇自 己應用運行在哪個云提供商的云中。OpenShift將作為在線服務來提供。
OpenShift獨一無二的優勢是它為PaaS帶來行業領先的紅帽和JBoss的生態環境,使開發人員可以利用業界最廣泛的中間件服務。例如,OpenShift支持MongoDB和其它獲得紅帽企業 Linux認證的服務。由于支持廣泛的框架和語言,包括Java、PHP、Python和Ruby,紅帽OpenShift為云計算的開發人員提供更全面 的功能集合。
除了設計滿足新的云開發人員需要的服務外,OpenShift也是提供紅帽企業級JBoss服務(如交易、業務規則、交易與消息)的第一個公共 PaaS,從而為企業開發人員提供一條升級到云的方便途徑。由于以紅帽在操作系統、虛擬化和JBoss 企業中間件的經驗和生態環境為基礎,OpenShift可以惟一地滿足新的云開發人員和企業的需要。
編輯總結:紅帽OpenShift提供比任何PaaS更多的靈活性,它支持用于Java、Python、PHP、Perl和Ruby的更多的開發框架,包括 Spring、Seam、Weld、CDI、Rails、Rack、Symfony、Zend Framework、Twisted、Django和Java E。其優點是:開源帶來的不僅是免費,還有自由;支持Java,PHP,Python,Perl,Ruby五種編程語言和對應的web框架;OpenShift Express為用戶提供的服務并不僅限于上述的web框架本身,還提供了豐富的接口供用戶安裝所需的庫、定制自己需要的web框架。
Google App Engine
Google App Engine也就是GAE,是Google推出的一款網絡運用程序,也是個免費虛擬主機空間,其實這比一般虛擬主機強悍的多,你可以利用Google App Engine工具來開發網站或制作網絡應用程序,Google會在自己的龐大服務器集群上為你提供空間、帶寬、資源等。
Google App Engine對全球開發者免費開放使用,你可以充分利用Google的提供的免費空間、免費數據庫、免費二級域名等來展示你開發的應用程序,提供給全球的用戶下載和使用。
只要你有一個Google賬號就可以在Google App Engine上注冊和開通一個免費賬號,免費賬號允許你創建10個應用,每一個應用提供1GB的容量,月流量是60GB(傳出帶寬是1GB/天,傳入帶寬1GB/天)。
簡而言之,Google App Engine允許你本地使用Google基礎設施構建Web應用,待其完工之后再將其部署到Google基礎設施之上。
編輯總結:通過 Google App Engine,即使在重載和數據量極大的情況下,也可以輕松構建能安全運行的應用程序。其優點是:動態網絡服務,提供對常用網絡技術的完全支持;持久存儲有查詢、分類和事務;自動擴展和載荷平衡;用于對用戶進行身份驗證和使用 Google 帳戶發送電子郵件的 API;一種功能完整的本地開發環境,可以在您的計算機上模擬 Google App Engine。
百度Baidu App Engine
百度應用開放平臺是以用戶需求為導向,以“框計算”創新技術和全開放機制為基礎,為廣大應用開發者及運營商提供的開放式應用分享暨合作的技術對接通道。以此,不僅為用戶實現了“即搜即用、即搜即得”的全新搜索體驗,也為平臺合作者提供了展現自身應用的便捷接口。目前,百度應用開放平臺已正式對外開放,包括游戲、視頻、音樂、閱讀、工具、生活等各類WebApp應用均可申請合作。
百度應用開放平臺的推出,源于用戶的搜索需求正呈現出新的發展趨勢——分析百度的搜索關鍵詞,我們發現,網民與應用相關的搜索詞數量正不斷攀升,目前已經占到總搜索數量的30%。因此,推出應用開放平臺,推動更多優質的應用資源與用戶需求直接對接,是大勢所趨,也是百度對“讓人們更便捷地獲取信息,找到所求”理念、不斷提升用戶搜索體驗的最好詮釋。
在開通BAE權限之后,開發者就可以使用開發平臺了。在BAE開發平臺上,開發者可以創建應用程序、創建程序的版本、進行版本管理、利用平臺提供的服務來開發程序、查看程序的各種信息以及刪除程序。
目前BAE提供了兩種方式來創建一個版本:打包對接方式和創建新版本。
對每個程序版本,可以進行如下的操作:生效版本,提供版本上線功能;對版本進行加解鎖,有效防止誤操作;SVN代碼管理,通過svn方式對代碼進行管理;配置,可對配置文件進行可視化修改;在線編輯,可對已經提交到平臺上的版本進行在線編輯,方便在線修改;如果版本已無用,則可刪除。
此外為了便于開發者進行程序開發,平臺提供了如下服務:mysql服務、 memcache服務、cron服務、fechurl服務和云存儲服務。
編輯總結:通過應用開放平臺,進一步促進產業之間的合作與創新,實現產業共贏,引領互聯網產業的健康、蓬勃發展。其優點是:搜索引擎作為網民上網的主要入口,其平臺面向所有網民敞開,用戶可以通過搜索引擎無門檻地接入和使用第三方應用;百度每天響應數十億次的搜索請求,讓應用開發者與海量需求實現有效對接;通過關鍵字實現需求對接,開發者更精準地找到自己想要的用戶,用戶也更精準地找到最優應用資源入口;通過百度應用開放平臺,更多優質的第三方應用和內容資源,將可以直接與用戶需求無縫對接;現階段百度應用開放平臺上的應用,直接通過瀏覽器運行。未來會有涵蓋pc、無線平臺的應用,并且既有瀏覽器應用,也有獨立應用。
阿里Ali Cloud Engine
ACE(Aliyun Cloud Engine)是一個基于云計算基礎架構的網絡應用程序托管環境,幫助應用開發者簡化網絡應用程序的構建和維護,并可根據應用訪問量和數據存儲的增長進行擴展。ACE支持PHP,NODE.JS語言編寫的應用程序;支持在線創建MYSQL遠程數據庫應用。
云服務引擎(Aliyun Cloud Engine,ACE)是一套基于彈性計算服務的Web應用托管環境,可以大大簡化開發和部署應用的復雜度。
ACE為應用提供負載均衡、彈性伸縮、故障恢復、安全沙箱的支持,同時集成了Session、緩存、文件存儲、定時任務等分布式服務,讓PHP、NodeJS等流行的Web開發語言可以更加便捷地使用云計算服務。
編輯總結:告別運維麻煩,配置和資源隨應用增長輕松擴展。其優點是:ACE目前支持PHP運行環境,NodeJS運行環境,后續會支持更多的開發語言;提供分布式session,分布式memcache,開放存儲,消息隊列,計劃任務等多種服務,讓開發者可以更多的關注在業務開發上,降低開發者的開發成本,其整體架構的高可靠性;自動彈性伸縮,無需人工干預運維,根據實際使用量計費;系統自帶常見應用模板。開發人員可以將自己的應用做成模板,發布其應用給其他人使用;站長可以從模板庫中在線創建應用,即可進行自己的網站運營;兼容原生API,調試信息輸出,可以方便的進行應用管理和配置。
新浪Sina App Engine
SAE從架構上采用分層設計,從上往下分別為反向代理層、路由邏輯層、Web計算服務池。而從Web計算服務層延伸出SAE附屬的分布式計算型服務和分布式存儲型服務,具體又分成同步計算型服務、異步計算型服務、持久化存儲服務、非持久化存儲服務。
7層反向代理層:HTTP反向代理,在最外層,負責響應用戶的HTTP請求,分析請求,并轉發到后端的Web服務池上,并提供負載均衡、健康檢查等功能。
服務路由層:邏輯層,負責根據請求的唯一標識,快速的映射(O(1)時間復雜度)到相應的Web服務池,并映射到相應的硬件路徑。如果發現映射關系不存在或者錯誤,則給出相應的錯誤提示。該層對用戶隱藏了很多具體地址信息,使開發者無需關心服務的內部實際分配情況。
Web服務池:由一些不同特性的Web服務池組成。每個Web服務池實際是由一組Apache(PHP)組成的,這些池按照不同的SLA提供不同級別的服務。每個Web服務進程實際處理用戶的HTTP請求,進程運行在HTTP服務沙盒內,同時還內嵌同樣運行在SAE沙盒內的PHP解析引擎。用戶的代碼最終通過接口調用各種服務。
日志和統計中心:負責對用戶所使用的所有服務進行統計和資源計費,并設定的分鐘配額,來判定是否有非正常的使用。分鐘配額描述了資源消耗的速度,當資源消耗的速度到達一個預警閾值時,SAE通知系統會提前向用戶發出一個警告,提醒用戶應用在某個服務上的使用可能存在問題,需要介入關注或處理,配額系統是SAE用來保證整個平臺穩定的措施之一;日志中心負責將用戶所有服務的日志匯總并備份,并提供檢索查詢服務。
各種分布式服務:SAE提供幾乎可以覆蓋Web應用開發所有方面的多種服務,用戶可以通過StdLib(可以理解為SAE PHP版的STL)很方便的調用它們。
編輯總結:SAE的基本目標用戶有兩種,一種是Web開發者,另一種是普通互聯網上網人群。其優點是:硬件成本更低,無需預先購買設備,承擔更大的投入風險;開發成本更低,SAE提供許多服務供開發者使用,開發者無需重復開發,包括隊列、數據庫、緩存、定時、驗證碼、計數器,幾乎覆蓋了Web開發的所有領域;運維成本更低,在SAE上的應用無需關心硬件維護、服務監控、數據容災等操作,SAE會通過其高可靠的架構和方便的監控頁面為用戶將運維成本降到最低擴展性更強;更加安全可靠,SAE自動提供SQL語句性能分析、前端防攻擊、代碼檢查等功能,在SAE上的所有應用均為多機房容災部署,比傳統的部署模式更加安全可靠,并且SAE提供服務的SLA來實現對用戶服務質量的承諾。
云計算開發平臺提供商對比
云開發平臺提供商優劣勢對比
結語:
小編認為,各大的云開發平臺的提供商都有自己的特點,各平臺的功能和涵蓋的領域以及面對的應用對象都有所不同。但是企業和個人在選擇的時候不但要看重技術和實力,更要看重自己的使用習慣、使用的易用性,這是很重要的。無論是國外的提供商想開拓中國市場,還是國內的廠商望發展海外平臺,云計算的路都還很長,云開發平臺的技術研發也還有很多尚未解決的困難,相信通過這些云開發商的努力,會為整個IT行業做出重要貢獻。
總結
以上是生活随笔為你收集整理的七大国内外主流云计算开发平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SLA打印机之Slc文件解析
- 下一篇: 五、【Docker笔记】Dockers仓