AWS Proton集成和協(xié)調(diào)各種各樣的工具,包括基礎設施配置、代碼部署、監(jiān)控和更新等各種工具,功能非常全面,負責編排和組織這些資源的是所謂的Template(模塊),它是AWS Proton的一個非常重要的元素,包括Environment Template和Service Template兩種。
運維團隊負責創(chuàng)建Environment Template,用它來設置各種環(huán)境配置資源,從而部署一致的運行環(huán)境。
同時,運維團隊會創(chuàng)建Service Template,設置與Environment Template兼容的基礎資源,CI/CD工作流和監(jiān)控方面的內(nèi)容。它集成了常用的CI/CD工作流和觀察工具,除了有AWS自己的相關方案,比如CodePipeline和CloudWatch,也會有第三方的工具。
開發(fā)團隊使用Service Template來部署應用,如果開發(fā)者有了寫好的代碼,將代碼與Service Template關聯(lián)起來,后續(xù)工作就由AWS Proton自己完成,它會自動調(diào)用Service Template里相關的AWS服務和參數(shù),自動把代碼交給CI/CD工作流來編譯、測試和部署。
部署完成后,AWS Proton會持續(xù)監(jiān)控應用的運行狀態(tài),如果后續(xù)Service Template有改動,AWS Proton會讓原來使用這個Template的應用按照新的Service Template升級到新版本,整個過程都處于監(jiān)控狀態(tài),如果新應用有問題,可以進行回滾。
AWS Proton也是一個重磅級的發(fā)布,它能改變?nèi)萜骱蚐erverless應用的部署和迭代方式,在一致的基礎設施平臺上支撐成千上萬個微服務和Serverless應用平穩(wěn)運轉(zhuǎn),它能改變開發(fā)和運維的工作狀態(tài),讓開發(fā)者和運維人員各司其職,相互不影響。
目前處于預覽狀態(tài),不是特別的成熟,但大致框架是完善的。(全文分為上中下三篇,此為中篇,上篇鏈接如下 AWS容器云原生三大發(fā)布之Docker Hub的免費替代品 )