自Serverlessconf London 2016活動第一天起,人們就開始關注一個新興的話題:“NoOps”無服務器平臺為運維工作造成的前所未有的挑戰。物理服務器和虛擬機可以進行抽象,但這并不意味著可以徹底省略基礎架構配置工作,開發者往往會忽略底層持久機制所蘊含的巨大風險。
Patrick Debois在開幕式主題演講中提到了這一問題,并問及一系列有關無服務器技術是否會變得更好、更快速、更便宜(以及更安全)等問題。Debois認為,諸如AWS Lambda、Azure Functions,以及Google Cloud Functions等無服務器平臺依然面臨不小的挑戰,尤其是在日志和監視等運維領域。
Honeycomb的創始人Charity Majors當天所做的名為“無服務器,NoOps和牙仙”的演講是廣受好評的演講之一。演講中他介紹了從移動應用平臺Parse中所獲得的經驗,該平臺現已被Facebook收購(并將在2017年1月底關閉)。Majors稱需要“在變得太酷之前投身于無服務器技術”。他在演講中認為,“服務并不是有魔力的精靈之塵”,開發者必須要懂得自己所用技術中適用的責任共擔(Shared responsibility)模型。她的首要建議是“全面掌控自己的關鍵路徑(同時保持盡可能短)”并“理解不同技術及其依賴項”。Majors對無服務器平臺狀態管理方面的問題尤為關注,并強調稱,有關查詢范圍的問題不會僅僅因為由別人負責管理數據庫而自行消失。這一情況最重要的后果在于,“服務會自己保護自己(但用戶需要為此付費)”,這意味著需要對查詢進行一定的限制,而在無法了解或遵循底層基礎架構限制的情況下,用戶使用應用程序時的體驗也會受到影響。她對于運維有著極為寬廣的定義,并涉及了當天活動中探討過的很多其他問題:
運維是組織內部一系列圍繞系統設計、構建和維護,軟件發布,以及通過技術方式解決問題所需的技術能力、實踐、文化價值的總稱。
在無服務器平臺上使用配置管理工具,這是活動當天反復被人提起的一個話題。Red Hat公司的Ryan Scott Brown針對使用Ansible配置AWS Lambda進行了一次閃電會談,該話題在Rafal Gancarz有關“企業領域的無服務器技術”講話中也進行了更深入的探討。Gancarz用實例介紹了了如何使用HashiCorp的Terraform提供諸如最小特權安全策略等配置管理,以及如何將Terraform內部的基礎架構配置作為函數代碼共享給相同的持續集成(CI)流程。Gancarz還提到了Debois有關日志和監視的觀點,并稱他以前曾使用一臺運行Kibana的服務器作為Elasticsearch、Logstash以及Kibana(ELK)棧的一部分,這也意味著整個架構并非完全無服務器的。
總體來說,雖然無服務器平臺也許可以輕松滿足初始部署和縮放等需求,但依然無法完全省略基礎架構運維。依然需要考慮、規劃,并提供有關安全性、備份和還原、日志和監控等任務所需的工具。雖然使用服務供應商的Web用戶界面以一種一次性的方式對這些內容進行配置(哪怕直接使用默認值)可能還難以做到,但生產應用可能需要通過更成熟的方法進行配置管理,并需要能與應用程序代碼基中其他方面的管理任務相互集成。
查看英文原文:Serverless Operations is not a Solved Problem