第一時間 | 數人云總架構師解讀Mesos1.0.0

2016年7月27號 Apache 社區發佈了 Apache Mesos 1.0.0, 這是 Apache Mesos 的一個里程碑事件。相較於前面的版本, 1.0.0首先是改進了與 docker 的集成方式,棄用了 docker daemon;其次,新版本大力推動解決了接口規範化問題,新的 HTTP API 使得開發者可以更容易的開發 Mesos 框架;最後, 爲了更好的知足企業用戶的多租戶,安全,審計等需求,新版本提供了更細粒度的受權驗證機制。下面就由數人云總架構師詳細談一下他對新版本重要功能的理解。docker

HTTP API安全

1.0.0 經過統一的基於 RPC 的 HTTP API 對之前的兩種不一樣用途的接口--Framework SDK 和 REST API,進行了整合, 這個是最近幾個月 Mesos 社區在大力推動了的一個事情。服務器

藉助此次重構,社區首先是規範了 Mesos 的接口,爲 API 標註了版本信息而且規範了發佈流程,從而避免了之前的版本黑盒致使的不兼容問題,減小 breaking news 和客戶生產環境的 surprise。網絡

其次,之前的侷限於開發語言的 Framework SDK ,功能有限的 REST API 都極大限制了第三方開發者的手腳,爲開發基於 Mesos 的框架帶了額外的困難,另外客戶端和服務器的雙向通訊也增長了程序的維護成本和侷限了程序的部署方式,新版本從軟件工程的角度,解耦了上述雙向通訊問題。架構

最後,Mesos 也開始支持時間流。上述種種,咱們能夠看出 Mesos 社區正在以更開放的態度來便利社區開發者,爲各類框架提供更好的對接。框架

一致的容器化技術優化

Mesos 1.0.0 的 agent 無需安裝 docker 程序也能夠運行 docker 容器了,或者說,Mesos 能夠本身解析 docker 鏡像來啓動容器了。 腹黑的說,繼 RKT 以後,Mesos 也拋棄了 docker daemon。咱們知道,雖然在 docker 1.11 以後,containerd 的引入已經解決了 docker daemon 重啓帶來的容器重啓問題,可是宿主機的 init 系統仍然沒法直接跟蹤進程的生命週期。同時,這也能夠看出 Mesos 社區對 docker 技術的把控能力。加密

網絡接口

對容器網絡標準 CNI 的支持,CNI 標準是多家網絡廠商參與制定的容器網絡標準,Mesos 兼容了 CNI 標準,至關於間接的支持了 VxLAN, DC/OS overlay, Calico, Weave, Flannel 等多種網絡技術。這是繼一容器一 IP 功能後,Mesos 的又一重要的網絡功能。生命週期

安全

多租戶,安全,審計等一直是企業用戶對平臺軟件的基本訴求,Mesos 在 1.0.0 中經過提供更細粒度的受權驗證機制對此做出了響應。首先,在 1.0.0 中,Mesos 的全部敏感數據入口都是通過 SSL/TLS 加密的;其次,Mesos 管理員如今能夠經過配置 ACLs 來限制用戶只能在 WebUI/API 看到本身的任務了,而這就是企業用戶的 must-have 要求;最後,Mesos 也提供了完善的 authorizer 接口,企業用戶能夠經過該接口添加本身特有的安全策略。

GPU 支持

如今你能夠經過 Mesos 來跑 TensorFlow 的任務[https://www.youtube.com/watch...]了, 與管理 cpu、內存資源相似, Mesos 如今也將 GPU 資源歸入賬下。參照 nvidia-docker 的實現, Mesos 如今能夠無縫的運行 GPU docker 容器了。同時, Spark, Marathon 和 Aurora 社區也加入了在 Mesos 上調度GPU的行列。

社區合做

最後,朋友多了路好走。 Mesos 社區也在加大與 IBM , Microsoft 和 Nvidia 等廠商的技術合做。其中, IBM 已經成爲緊隨 Mesosphere 以後的第二大 Mesos 代碼貢獻廠商,將來,IBM 會在 Mesos 的 optimistic offers, 資源分配優化和兼容 POWER 平臺方面投入力量。 同時, Mesos 也推出了 Mesos 運行在 Microsoft 上的試驗功能。

相關文章
相關標籤/搜索