Kubernetes與微服務的層次要求

Docker 軟件 馬斯洛 雲計算 零空科技 2017-04-13

由心理學家Albert Masolow提出的馬斯洛需求層次理論作為心理學理論來解釋人類需求,包括多層模型的人類需求;使用金字塔來劃分層級;Masolow使用諸如生理、安全、歸屬感、愛、尊重、自我實現和自我超越等條目用以描述人類需求昇華歷程;就人類而言,首先我們在基本需求得到滿足時,然後是心理需求,我們才會進行自我評價並兌現我們的潛能:

Kubernetes與微服務的層次要求

馬斯洛需求層次理論圖

這種對於需求描述的方法已經應用於許多領域,例如:員工敬業度、雲計算、軟件開發、DevOps等等;自然而然,我們也將他運用於微服務;滿足這些必備的需求列表伴隨著微服務的成長之路;如下:

Kubernetes與微服務的層次要求

微服務需求層次需求

曾經我列舉了微服務的主要關注點(順序可能不同),我不禁得注意到Kubernetes集裝箱編排引擎完美的滿足了大部分的需求。所以我將Kubernetes嵌入到需求層次理論圖中。

首先,在基礎層,我們需要一些計算資源,在理想情況下,擁有由雲基礎設施服務提供商提供的可伸縮的標準操作環境。另一需求是自動CI/CD以及自動註冊,Kubernetes幫助我們自動運行並進行管理;當然我們需要一直特定功能的軟件加以輔助;例如Jenkins用來builds,Docker Hub,Nexus或者Maven組件來提供倉庫功能。

Kubernetes幫助我們管理許多獨立的環境(namespace),管理資源(quotas和limits),存儲分配(persistent volumes),平臺部署和回滾(deployments),自動調度(scheduler),服務發現和負載均衡(services), 彈性伸縮和容災(pod health checks)。

為了滿足以上需求,我們需要額外的工具,例如容器實現工具docker或者rkt;應用內的彈性庫(例如Netflix的Hystrix)來組合Kubernetes的伸縮特性;Kubernetes管理應用的配置以及幫助我們集中化日誌管理,度量收集,以及對於大部分的服務所必須的監控系統。

基於微服務的特性,我們有一些特定的需求,對於API驅動的微服務,我們需要指定特定的API管理解決方案,該方案可以處理服務安全(並非由Kubernetes提供),Kubernetes幫助我們運行狀態化的服務(statefulset),batch jobs(job)和調度任務(cron job)。

由於Kubernetes平臺提供瞭如此多的特性。用戶的行為將十分智能,例如應用和基礎設施自動伸縮,通過自動調度,自動重啟,自動響應,自動擴展。

鑑於Kubernetes滿足的以上需求,那麼剩下的工作就是簡化開發流程;擁抱DevOps文化快速交付,在組織層次上實現穩固。

  • 如需瞭解零空信息更多資訊及最新進展,敬請關注公眾號:零空科技&魔法隧道

相關推薦

推薦中...