微服務 容器 SOA 服務導向架構

用K8s解決維運負擔

2022-05-27
市調機構IDC預測,到了2022年,90%的新應用程式將採用微服務架構,顯見導入微服務已是行業中正在發生的進行式。微服務開發出來的應用搭配容器的架構更相得益彰,但這麼多的容器需要隨時生成監控管理,高度自動化成為不可或缺的重要關鍵能力,時下容器自動化 Kubernetes(K8s)絕對是不二選擇。

影音串流媒體Netflix被視為採用微服務並支持業務增長的典型代表,2015年Netflix已處理了20億個邊緣請求,由500多個雲端託管微服務管理;到2021年,Netflix每天為190個國家的超過1.39億訂閱用戶,傳輸大約2.5億小時的內容。

市調機構IDC預測,到了2022年,90%的新應用程式將採用微服務架構,這個預測乍看有些高不可攀,但環顧企業現況,確實比例很高,顯見導入微服務已不是趨勢預判,而是行業中正在發生的進行式。雖然各企業對微服務應用還是有些不同期待,但這些不同並沒有對錯,只要把過去的問題看透,理清楚想要改善的問題優先順序,沒有任何一種微服務架構設計是錯的。

 服務導向架構(Service Oriented Architecture,SOA)與微服務看似雷同但其實有很多的差異,從量體、通訊方式、理念(強調Re-use還是Signal Propose)等等面向來看,就會了解這兩者之間的不同。若說微服務是在雲端世界SOA的重生,或是兩者呈現競爭狀態,抑或是在企業內合理的協同運作其實都是對的,日後有機會再深聊SOA與微服務的競合關係,然而須記得的是,微服務讓應用敏捷輕量了,但從維運角度來看卻是化簡為繁,本來處理三件事現在可能要十倍不止。

 這是因為微服務將一個應用拆解為許多個小的服務,原先在同一單體內的行為變成需要透過外部呼叫,執行緒(Runtime)的物件數量激增,各服務的健康狀態、通訊能力、資料的一致性及安全,從維運監控與資訊治理的角度來看,複雜度與工作量真的是提高很多。也因為這個因素,微服務開發出來的應用搭配容器的架構更相得益彰,但這麼多的容器需要隨時生成監控管理,高度自動化成為不可或缺的重要關鍵能力,時下容器自動化 Kubernetes(K8s)絕對是不二選擇。

 承載微服務應用的容器與K8s到底該不該虛擬化,這個問題目前似乎還有不同的看法。有些人提倡都用實體機就好,或者把主要節點(Master Node)放在虛擬機上。小規模的運用肯定沒問題,示範性微服務專案先導試驗問題也不大,然而當試驗成果良好,其他應用漸漸走向這個架構時,單一K8s肯定無法滿足不同單位的要求,甚至有些K8s會創建在公有雲上面,如此一來誰能自動化K8s就是一個需要面對的問題了。

 讓K8s On-demand生成,不是只有K8s內部隨需生成容器而已,K8s虛擬化已成必然的趨勢,目前所有真正大型的案例都是虛擬好的K8s,包括三大公有雲本身的容器服務也都是虛擬化的。那麼,如果K8s最終都要虛擬化,何不一開始就進行虛擬化呢?

<本文作者:吳子強現為VMware台灣副總經理暨技術長>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!