雲原生是當下的熱點話題,但是很多人對雲原生有很多誤解,特別是傳統產業物聯網或工控、物聯網行業對雲原生顯得"後知後覺"。與其在這裏說是預測,不如說是現在進行時,只是由於傳統產業本身的技術包袱和組織個人認識程度差異,目前發展並不見快。目前大部分的系統還是停留在舊年代,只是不到火候,還沒到嚐鮮和推倒重來的必要。但是,面對未來業務的持續增長和行業競爭,必然要面臨一個技術的現代化轉型升級,即:使用新技術代替老技術,使用新觀念代替老觀念的痛苦過程。否則老系統必然會變成企業發展的一個瓶頸,因爲基於老系統的修修補補只會使系統變得更加複雜和難以維護,最後等待他們的是要麼推到重來,要麼是逐年生鏽老化(修修補補又三年)。我這裏針對新近的雲原生作爲一個切入點,來說明一下爲什麼說雲原生會成爲未來企業技術變遷的一個趨勢。
概念誕生
雲原生(Cloud Native)的概念,由來自Pivotal的MattStine於2013年首次提出,被一直延續使用至今。
這個概念是Matt Stine根據其多年的架構和諮詢經驗總結出來的一個思想集合,並得到了社區的不斷完善,內容非常多,包括:
- DevOps
- 持續交付(Continuous Delivery)
- 微服務(MicroServices)
- 敏捷基礎設施(Agile Infrastructure)和12要素(The Twelve-Factor App)等幾大主題。
不但包括根據業務能力對公司進行文化、組織架構的重組與建設,也包括方法論與原則,還有具體的操作工具。採用基於雲原生的技術和管理方法,可以更好地把業務生於“雲”或遷移到雲平臺,從而享受“雲”的高效和持續的服務能力。
概念理解
微服務
容器化
- 一鍵部署
- 混合編排
應用服務之間需要拼裝才能自由組合。容器化技術給混合編排提供了可能,藉助k8s的能力,服務的發佈和編排變成了一個個yml文件的簡單配置。
DevOps
DevOps如果從字面上來理解就是Dev(開發人員)+Ops(運維人員),開發和運維不再是分開的兩個團隊,而是你中有我,我中有你的一個團隊。實際上,它是一組過程、方法與系統的統稱。
首先,組織架構、企業文化與理念等,需要自上而下設計,用於促進開發部門、運維部門和測試部門之間的溝通、協作與整合,簡單而言組織形式類似於系統分層設計。
其次,自動化是指所有的操作都不需要人工參與,全部依賴系統自動完成,比如上述的持續交付過程必須自動化纔有可能完成快速迭代。
再次,DevOps的出現是由於軟件行業日益清晰地認識到,爲了按時交付軟件產品和服務,開發部門和運維部門必須緊密合作。
總之,DevOps強調的是高效組織團隊之間如何通過自動化的工具協作和溝通來完成軟件的生命週期管理,從而更快、更頻繁地交付更穩定的軟件。在內部溝通上,你可以想象DevOps是一個敏捷思維,是一個溝通的文化。當運營和研發有良好的溝通效率,纔可以有更大的生產力。如果你的自動化程度夠高,可以自主可控,工作負擔降低,DevOps能夠帶來更好的工作文化、更高的工作效率。
持續交付
雲基礎設施
- 邏輯層面:可以理解成是抽象的超級計算機,通過軟件比如k8s,把n臺服務器組裝成一臺抽象的超級計算機,他是屬於pass層(平臺即服務)
- 物理層面:
- 這個集羣由很多節點組成,而且可以按需添加更多節點,這些節點可以是物理機也可以是虛擬機。
- 每個節點都有一定的CPU和內存容量。
- 整個集羣的CPU和容量是所有節點的CPU和容量總和,而且可以按需給這臺計算機添加更多的CPU和內存。
從這個層面理解,它是iaas層。
- 部署層面
- 公有云,可以是阿里雲,微軟或亞馬遜雲,前提是應用要設計成面向雲原生應用。
- 私有云,可以自建數據中心或者是集團企業的數據中心,這個數據中心可大可小,大到成百上千臺服務器,小到1臺服務器。當然這裏運維的人員也會跟着變動。
- 混合雲,對上面兩種部署的混合使用,也就是一部分應用放在公有云,比如說統一認證授權服務;一部分應用放在私有云,比如說核心數據。
這裏爲什麼沒有saas,因爲saas是運行於雲操作系統至少的應用,面向的是業務層面,不能算是基礎設施。
回顧:
至此,你對雲原生的內涵理解應該達到了"充血模型"了,那麼我們來總結一下雲原生技術變遷:
- 雲原生的技術變遷受到各自因素影響,前期發展緩慢,後期爆發的一個過程。比如業務發展,技術的歷史包袱,組織和個人對雲原生的重視程度等等,並不會發展得那麼快,那麼一帆風順,可能會是一個3-5年甚至更久的過程,但是整個勢頭是不可阻擋的。
- 雲原生涉及到的不僅僅是技術層面的升級,更是是文化、組織架構、方法論的變更。
- 微服務因爲有了容器技術(k8s)和DevOps的加持,開發成本會持續的接近單體項目的成本,當二者趨向一致的時候,就是引爆的時候。
以上是個人的淺見,你覺得雲原生對於研發團隊的意義了嗎?你覺得在研發效能,業務規模化變更和推進傳統技術現代化升級上有沒有價值呢?希望你能留言探討,傾聽您不一樣的高見。