亞馬遜web服務(wù)(AWS)團(tuán)隊(duì)剛剛為其Elastic Beanstalk服務(wù)添加了對Ruby的支持,從而成為支持最多語言的云平臺(tái)之一。另外,他們還為Elastic Beanstalk引入了在虛擬私有云(Virtual Private Cloud,VPC)中的支持,這樣客戶可以對其web應(yīng)用程序進(jìn)行私有版本的部署和管理。
AWS Elastic Beanstalk是一種應(yīng)用程序容器服務(wù),開發(fā)人員可以將web應(yīng)用程序部署到這個(gè)平臺(tái)上,平臺(tái)會(huì)自動(dòng)地提供服務(wù)器、處理負(fù)載均衡、彈性伸縮以及監(jiān)控。與其他傳統(tǒng)的PaaS(Platform-as-a-Service)產(chǎn)品所提供的功能不同,免費(fèi)的AWS Elastic Beanstalk其實(shí)還包含了一種IaaS(Infrastructure-as-a-Service)產(chǎn)品。開發(fā)人員和管理員可以直接訪問應(yīng)用程序后面的AWS基礎(chǔ)設(shè)施,這意味著他們可以修改服務(wù)器配置或訪問服務(wù)端的日志文件。用戶負(fù)責(zé)各種基礎(chǔ)設(shè)施相關(guān)的任務(wù),包括選擇(及更新)服務(wù)器的操作系統(tǒng)和應(yīng)用程序棧。AWS Elastic Beanstalk確實(shí)也自動(dòng)化了很多管理任務(wù),包括通過一條命令重新啟動(dòng)所有的web服務(wù)器、通過中心位置訪問所有的服務(wù)器日志文件以及監(jiān)控所有節(jié)點(diǎn)的性能。
在宣布支持Ruby的博客文章回復(fù)中,AWS團(tuán)隊(duì)指出Ruby應(yīng)用程序運(yùn)行在Passenger應(yīng)用服務(wù)器上,“這意味著你可以在本地開發(fā)和測試,然后無縫部署到Elastic Beanstalk上,而不需要修改應(yīng)用程序代碼”。除了Ruby,AWS Elastic Beanstalk現(xiàn)在支持五種主要的開發(fā)語言/平臺(tái)。AWS Elastic Beanstalk不是一種傳統(tǒng)的PaaS,AWS拒絕將其稱為PaaS,因?yàn)樵谀瞧渲谢A(chǔ)設(shè)施的管理是需要用戶進(jìn)行的。但是,在對領(lǐng)先的PaaS提供者進(jìn)行的評估中,很明顯AWS為開發(fā)人員和應(yīng)用程序提供了最廣泛的支持,應(yīng)用程序可以使用最流行的編程框架。盡管VMware的開源Cloud Foundry支持了最多的語言,但這得益于其社區(qū)的貢獻(xiàn)。Cloud Foundry.com支持Java、Ruby和Node,而ActiveState添加了對Python的支持,Tier 3添加了對.NET的支持,AppFog添加了對PHP的支持。
Elastic Beanstalk的應(yīng)用程序以前只能用在公共AWS云中,但是現(xiàn)在可以部署在私有的Amazon VPC中。AWS團(tuán)隊(duì)描述了這一變化。
現(xiàn)在你可以在云中定義和提供私有的虛擬網(wǎng)絡(luò),并使用VPN將其連接到你公司的網(wǎng)絡(luò)中。這就允許你在Elastic Beanstalk中運(yùn)行很多新型的應(yīng)用程序。例如,你可以在Elastic Beanstalk中運(yùn)行你內(nèi)網(wǎng)的應(yīng)用程序,如故障報(bào)告應(yīng)用或報(bào)表的站點(diǎn)。
…
一旦建立了VPC,你只需要簡單地為Elastic Beanstalk提供VPC ID以及子網(wǎng)ID,你的應(yīng)用程序就能自動(dòng)部署在VPC中。
AWS Elastic Beanstalk以這樣的方式構(gòu)建,這樣就可以在將來添加新的語言和平臺(tái)。對于試圖擴(kuò)展云產(chǎn)品用戶案例的云提供者來說,模糊IaaS和PaaS的邊界以及私有云和公有云的邊界看來是一種趨勢。