天天看點

進階雲原生

雲原生是一種建構和運作應用程式的方法,是一套技術體系和方法論。雲原生(CloudNative)是一個組合詞,Cloud+Native。Cloud表示應用程式位于雲中,而不是傳統的資料中心;Native表示應用程式從設計之初即考慮到雲的環境,原生為雲而設計,在雲上以最佳姿勢運作,充分利用和發揮雲平台的彈性+分布式優勢。說的再直白一點就是應用軟體在上雲過程中為了适用雲而衍生出來的一種技術架構,包括微服務、DevOps、持續傳遞、容器化等。

進階雲原生

微服務:微服務是雲原生的基礎,微服務拆分的明白透徹,才能更好的上雲。和微服務相對的是單體應用,微服務重點個人認為是如何拆分,按照什麼去拆分,業務不同拆分的粒度不同,沒有一個統一的規範,隻有在實踐當中不斷摸索。

DevOps:這是個組合詞,Dev+Ops,就是開發和運維合體,不像開發和産品,經常刀刃相見,實際上DevOps應該還包括測試,DevOps是一個靈活思維,是一個溝通文化,也是組織形式,為雲原生提供持續傳遞能力。

持續傳遞:持續傳遞是以使用者需求為核心,不停機更新,小步快跑,反傳統瀑布式開發模型,這要求開發版本和穩定版本并存,其實需要很多流程和工具支撐。

容器化:Docker是應用最為廣泛的容器引擎,在思科谷歌等公司的基礎設施中大量使用,是基于LXC技術搞的,容器化為微服務提供實施保障,起到應用隔離作用,K8S是容器編排系統,用于容器管理,容器間的負載均衡,基于谷歌Brog系統開源而來。

      在雲原生的模式下,雲平台提供越來越多的能力,中間件等基礎設施逐漸下沉到雲平台中,開發及運維人員隻需要關注業務代碼的開發及運維,基礎設施逐漸融合到雲平台中。雲原生應用應該超輕量化的方向努力,盡量将業務需求之外的功能剝離出來。當然要實作理想中的狀态還是比較難的,但是及時是比較務實的形态,也能比非雲原生下要輕量很多。

繼續閱讀