Cloud Native ( 雲原生 )
"Cloud Native"這詞,早在我注意它之前,便已經為自己打響名號,尤其是在容器技術變得熱門之後。"Cloud Native"被譯作"雲原生"。不管是英文詞也好,中文詞也罷。作為第一印象大概會先想到雲端服務,然而,這卻是一個被簡短解釋了的印象。
讓我們回到Native這個字上,以韋伯字典(https://www.merriam-webster.com/dictionary/native)為出發點,重新思考一下這個詞所想表達的意思。Native有天生的,本質上的,基於某種環境而成長的概念。由此來思考,Cloud Native不僅只關乎雲端服務,更需要去考量的是它本質上的意義與運行環境。舉個例來說,開發Windows應用程式時,我們遵循該作業系統上的規範進行開發、測試、部署,最後運行於Windows的執行環境內。某種程度上也體現了一種Windows Native。所以讓我們再回到Cloud Native這個詞上,說到底甚麼是以Cloud為中心的概念最終也運行於Cloud的服務呢? 讓我們來討論一下軟體即服務吧! 先撇除一些智財上的議題,軟體即服務對我來說,便是提供一個能夠被應用於異質系統並且持續更新及持續服務的雲端軟體。因此,Cloud的本質上有著不間斷,最新以及持續反應需求變動的概念。為了達到這些目的,具體來說要如何實踐呢? 在網路上有著穩定的答案組合。
1. 持續整合
2. 持續交付
3. 容器技術
4. 微服務架構
持續整合與持續交付作為體現雲端服務的不間斷、最新與持續反映需求的基礎,然而微服物架構所體現的價值則是降低了持續整合與持續交付的苦難,至於容器技術則是解放了服務間的實作難題、縮短了開發與部署運行的段差以及提供微服務實作上良好的基礎。
基於以上,我認為Cloud Native是一個"不簡單"的概念,不僅是在雲端服務上,甚至是在軟體開發團隊上。新的技術工具、新的分工模式以及新的軟體結構都將對原本的軟體開發團隊與原本的軟體產品帶來新的衝擊與變動,更不消說目前最夯的SCRUM與DevOps在原先開發流程上的衝擊。說到此,對於怎樣才能落實到組織內,並且成功帶領團隊進行轉變。除了技術上的提升,我想必須把重點回歸到人與組織身上。整篇文章中,我盡量地不想涉及到複雜的技術用語,原因無他,因為Cloud Native不僅關乎於技術的更新,更關乎組織文化與流程上的變動;在發揮它的功效之前,要如何按照目前組織的需求、產品的發展與分工的模式妥善導入,才是重中之重。 讓我分享一下很久很久以前CMMI所教我的兩個重要概念 — "Tailoring" 和 "Culturalization"。不失原味的量身訂製原則才能有效導入,並且讓習慣成自然成價值。
訂閱:
張貼留言
(
Atom
)
沒有留言 :
張貼留言