<b>本文ppt來自陳萌輝于10月16日在2016年杭州雲栖大會上發表的《基于阿裡雲容器服務實作serverless服務架》。</b>
容器與serverless是天生一對,利用容器來實作servless架構是一個巧妙的解決方案。首先,針對隔離性與安全性、部署速度這兩個關鍵的使用者需求,容器本身都能較好地滿足。容器在隔離性和部署速度這兩個彼此沖突的需求中提供了合理的平衡,它不像程序,雖然部署速度極快但隔離性很差,也不像虛拟機或是實體機,隔離性高但部署速度相對很慢。具體來說,容器通過容器沙箱實作了彼此隔離和資源限制,并且由于容器自身就是一個程序、擁有分層檔案系統,因而可以做到亞秒級啟動,極大地提高了部署速度。
雖然容器很好,但利用容器來實作sererless架構是個不小的挑戰。這裡挑戰主要包括三個方面:1.無數的function意味着無數的容器,如何管理各版本鏡像、管理容器生命周期和容器編排是個難題 2.如何實作彈性部署,使系統能根據使用量快速擴容縮 3.如何內建日志、監控等工具。
為此,阿裡雲容器服務提供了一站式解決方案,來解決容器服務問題。架構上它由下至上分為叢集、節點、容器、服務、引用、應用五個層次。在分發方面,它具有鏡像加速,雲内通路無公網流量等特性;在編排方面,它相容docker,同時支援線上、離線應用;在建構方面,它支援web hook自定義持續內建,支援第三方代碼倉庫;最後在運作方面,它實作了一鍵部署docker叢集、容器生命周期管理、藍綠釋出、彈性伸縮等功能。使用者可以在其上實作彈性部署,根據cpu、記憶體的使用量動态地增減容器、擴縮叢集,并且享受內建sls日志服務和內建雲監控服務。相信有了阿裡雲這套完整的解決方案,利用容器來部署serverless服務将變得更加簡便。

