2016年4月19日,Amazon宣布更新其Elastic Beanstalk服務。在這次更新中,Amazon為客戶提供了自動安裝平臺更新的功能。
AWS Elastic Beanstalk服務允許客戶在Amazon云的平臺即服務環境中部署和運行他們的應用程序和Web Service。AWS支持多種平臺和語言,包括Java、PHP、Ruby、.NET、Python、Go和Docker。
隨著供應商更新語言和平臺,客戶需要更新他們的環境,保證它應用了最新的補丁。這是接收最新的Bug修復、安全升級或功能增強所必須的。此前,Amazon將升級軟件的任務留給了客戶自己,這會導致平臺過時,而過時的平臺可能會存在Bug或安全漏洞。
AWS首席宣傳官Jeff Barr闡述了Amazon先前如何處理這個問題:“Elastic Beanstalk會定期發布所支持的平臺的新版本,包括操作系統、Web&應用服務器和語言&框架更新。此前,你需要發起手動更新(通過Elastic Beanstalk控制臺、命令行接口或者API),將Elastic Beanstalk環境升級到新版本的平臺或語言。這讓你可以完全控制更新的時間,但也讓你多了一件需要記住并管理的工作。”
現在,Amazon提供了一種自動部署這些更新的方式。客戶可以在Amazon管理控制臺上定義一個每周維護窗口,指定應用更新的時間,如下圖所示:
圖片來源:https://aws.amazon.com/blogs/aws/new-managed-platform-updates-for-aws-elastic-beanstalk/
次要更新和補丁可以在窗口外自動更新。如果不想等到下一個維護窗口,那么可以使用“現在應用(Apply now)”按鈕顯式推送更新,如下圖所示:
圖片來源:https://aws.amazon.com/blogs/aws/new-managed-platform-updates-for-aws-elastic-beanstalk/
為了防止發生意外結果,Amazon采用了嚴謹的更新設置方式。在最近的一個視頻片段中,AWS產品戰略總經理Matt Wood說明了更新的三個步驟:
Amazon將初始化一個新的Elastic Beanstalk實例,應用新的更新并運行測試; 接下來,AWS將模擬現有的部署配置一組等價的實例,并再次運行測試; 如果測試成功,那么Amazon將把負載均衡器指向新實例。Amazon并不是唯一一個試圖減少語言和平臺更新負擔的平臺。Pivotal為Cloud Foundry提供了buildpack。每個buildpack都包含兩個最新的運行時版本,支持Java、Ruby、Go、PHP、Python和Node.js。
查看英文原文:Amazon Announces Managed Platform Updates for AWS Elastic Beanstalk