AWS Elastic Beanstalk1481是一種簡(jiǎn)化在AWS上部署和管理應(yīng)用程序的服務(wù)。用戶只需上傳自己的程序,系統(tǒng)會(huì)自動(dòng)地進(jìn)行需求分配、負(fù)載均衡、自動(dòng)縮放、監(jiān)督檢測(cè)等一些具體部署細(xì)節(jié)。在使用AWS Elastic Beanstalk的同時(shí),用戶可以隨時(shí)對(duì)其使用的資源和程序進(jìn)行訪問(wèn)。而傳統(tǒng)的程序容器或以平臺(tái)服務(wù)器托管的解決方案,在減少編程工作量的同時(shí)也大大減弱了開(kāi)發(fā)人員的靈活性和對(duì)資源的控制能力。開(kāi)發(fā)者只能使用供應(yīng)商提供的接口來(lái)控制資源。目前AWS Elastic Beanstalk僅針對(duì)Java開(kāi)發(fā)者提供支持。
Elastic Beanstalk虛擬機(jī)是一種運(yùn)行Apache Web Server、Tomcat和the Enterprise Edition of the Java platform的AMI虛擬機(jī),具有以下特點(diǎn)。
(1)Elastic Beanstalk構(gòu)筑于AWS之上,因此它具有負(fù)載均衡、云監(jiān)控、自動(dòng)縮放等特性。
(2)通過(guò)Elastic Beanstalk,用戶可以采用多種方式對(duì)其程序進(jìn)行控制和參數(shù)設(shè)置,也可以通過(guò)登錄EC2實(shí)例來(lái)處理程序出現(xiàn)的問(wèn)題,或者采用Elastic Beanstalk AMI提供的默認(rèn)處理方式。
(3)Elastic Beanstalk目前版本只支持Java,但以后將會(huì)支持多種編程語(yǔ)言。
(4)Elastic Beanstalk為每個(gè)應(yīng)用運(yùn)行多個(gè)EC2實(shí)例,提高程序的可靠性。
(5)利用Elastic Beanstalk部署的用戶程序可以調(diào)用部署在其他EC2實(shí)例上的程序,并能保證時(shí)延。
AWS CloudFonnation的功能是為開(kāi)發(fā)者和系統(tǒng)管理員提供一個(gè)簡(jiǎn)化的、可視的AWS資源調(diào)用方式。開(kāi)發(fā)者可以直接利用CloudFormation提供的模板或自己創(chuàng)建的模板方便地建立自己的服務(wù),這些模板包含了AWS資源及相關(guān)的參數(shù)的設(shè)置、應(yīng)用程序的調(diào)用方式。用戶不需要了解AWS的資源及相互依賴關(guān)系,CloudFormation都可以自動(dòng)地處理完成。