每天資訊從裝配式建築流行看雲原生技術平臺的價值(一)

菜單

從裝配式建築流行看雲原生技術平臺的價值(一)

建築業是中國重要的支柱產業,作為“基建狂魔”有著許多的世界之最。比如全球最高的位於雲貴兩省交界處的北盤江大橋、最長的丹昆特大橋、最長的秦嶺隧道等。作為建築大國,我國也在著力推動建築產業的現代化發展,其中裝配式建築將在未來扮演重要角色。

裝配式建築並不算是一個新鮮概念,但在我國新建建築中的比例與歐美日等發達國家相比仍有著較大差距,其存在成本、政策、使用者習慣、商業模式匱乏等多重因素影響。但在近年來一系列國家政策的推動下,裝配式建築相關產業發展迅速,截至2020 年,全國共建立國家級裝配式建築產業基地328 個,省級產業基地908 個。在裝配式建築產業鏈中,構件生產、裝配化裝修成為新的亮點。其中,構件生產產能和產能利用率進一步提高,全年裝配化裝修面積較2019 年增長58。7%。

這讓人不由得想起了雲計算在國內的發展歷程:近年來,各地的大型雲計算中心如雨後春筍般層出不窮,企業上雲已成為共識。而在此之後,企業需要解決的是如何利用雲的特點去重構應用,而不是簡單的將應用搬上雲再進行縫縫補補。正因如此,“雲原生”也成為了近年來雲計算領域最火熱的技術架構,並推動企業在數字化浪潮中不斷創新發展。

雲原生不是一個產品,而是一套技術體系和一套方法論。雲原生即包含技術(微服務,容器等基礎設施),也包含管理(DevOps,持續交付,重組等)。雲原生也可以說是一系列雲技術、企業管理方法的集合。其目前主要的技術包括:容器化,微服務,DevOps,CI/CD。

如同裝配式建築一樣,將建築視角轉換為企業數字化平臺視角,元年方舟雲原生技術平臺上的所有元件相互獨立,可單獨部署、彈性擴容。技術平臺已經集成了市面上大部分微服務元件,並針對元件進行封裝,遮蔽掉複雜的技術細節,可以讓開發人員專注於業務實現。同時元年的專利技術可以實現一套程式碼既可單體部署也可以微服務部署,根據需要選擇部署形態。由於採用了雲原生的設計,所有平臺上開發出來的應用,天然支援公有云、私有云和混合雲。元年自研的CI/CD系統可以實現一鍵多雲部署。

本文將以建築方式的視角來為您描述採用雲原生方式所帶來的一系列好處。

容器化

更快速滿足更多需求

在容器技術之前,業界的主流的技術是虛擬機器。虛擬機器技術的代表是VMware和hyper-v、KVM、ZEN。虛擬機器就是在物理機的作業系統裡安裝一個軟體,然後透過這個軟體,再模擬一臺甚至多臺“子電腦”出來。在“子電腦”裡,可以和正常電腦一樣執行程式,例如微信、Word。“子電腦”和“子電腦”之間,相互隔離,只共享物理機資源。而容器技術則是在共享物理機資源的同時還共享作業系統。

虛擬機器雖然可以隔離出很多“子電腦”,但相比起容器技術其仍然存在著佔用空間大、啟動慢的問題,這種差異也隨著“虛擬機器蔓延”的情況愈發嚴重。顧名思義,如果將物理機比喻成獨棟別墅,那麼虛擬機器可謂是在此之上的高層建築——在同一個地基上蓋起的。而容器技術則像是在房間內的“太空艙”,他們不僅共享地基,甚至還共享房間內的客廳、洗手間、廚房等功能元件。

這種“共享”帶來了什麼意義?這意味著同樣的空間內可以容納下更多住戶,而當“宇航員”要一起做事時,他們不需要再從各自不同的房間穿過客廳來到某處,而只需要開啟各自的太空艙即可。換而言之,他們所需要的步驟和過程也變得更短了。但隨之而來可能也會面臨一個問題,隨著太空艙的數量增多,怎麼能保障其正常運轉?

kubernetes作為容器的編排管理工具逐漸脫穎而出,其意義是在就如何更快更多的擺放太空艙的同時做好對每個太空艙內人員狀態的監測,以及讓宇航員不至於發生出艙撞車事件。

Kubernetes的主要功能包括

資源排程:資源排程是一套分散式系統最基本的核心指標;

資源管理:控制Pod對計算資源、網路資源、儲存資源的使用;

服務發現:管理外在的程式或者內部的程式如何訪問Kubernetes裡面的某個Pod;

健康檢查:監控檢測服務是否正常執行非常重要;

自動伸縮:因為涉及到環境的快速遷移和複製,虛擬機器時代之前都非常難實現。容器化時代很自然的解決了這個問題,Kubernetes保證了資源的按需擴容;

更新升級:Kubernetes為服務的滾動和平滑升級提供了很好的機制。

容器與虛擬機器技術相比,它不需要虛擬出整個作業系統,只需要虛擬一個小規模的環境(類似“沙箱”),啟動以秒鐘計算。而且,它對資源的利用率很高(一臺主機可以同時執行幾千個Docker容器)。此外它佔的空間很小,虛擬機器一般要幾GB到幾十GB的空間,而容器只需要MB級甚至KB級。虛擬機器和以Docker為代表的容器都是虛擬化技術,不過容器屬於輕量級的虛擬化。

容器化技術LXC(Linux Container)是將Linux的 Cgroups 的資源管理能力和 Linux Namespace(名稱空間)的檢視隔離能力組合在一起,這就是如今被廣泛應用的容器技術的實現基礎。

微服務

自由搭配需要就用

微服務是一種開發軟體的架構和組織方法,其中軟體由透過明確定義的API進行通訊的小型獨立服務組成。這些服務由各個小型獨立團隊負責。微服務架構使應用程式更易於擴充套件和更快地開發,從而加速創新並縮短新功能的上線時間。

這與現代建築中的裝配式建築有些相似,將不同的預構內容組合在一起,具有有效提高建築效率與精度,且大幅度降低人工依賴,更加環保節能等優勢。

小:粒度小,專注於一件事;

獨:單獨的程序。微服務不等於元件,服務是可以直接使用的商品,元件是待加工的原材料;

輕:輕量級通訊機制,通常是HTTP Restful的介面。此處區別於傳統的SOA(面向服務的架構);

松:松耦合,可以獨立部署。每個微服務可以獨立編譯、獨立部署、獨立執行。

類比裝配式建築同樣具備以下特點:裝配式建築的每個元件都可以是分散的,任意元件都是可以直接使用的商品,而不是傳統的水泥、石材、木材、金屬、塑膠或是其他複合材料;使用者可以根據自身需求喜好選擇不同的裝配元件,無論是顏色還是樣式。

易於開發與維護:微服務相對小,易於理解;

獨立部署:一個微服務的修改不需要協調其它服務;

伸縮性強:每個服務都可按硬體資源的需求進行獨立擴容;

與組織結構相匹配:微服務架構可以更好將架構和組織相匹配,每個團隊獨立負責某些服務,獲得更高的生產力;

技術異構性:使用最適合該服務的技術,降低嘗試新技術的成本;

企業環境下的特殊要求:去中心化和集中管控/治理的平衡,分散式資料庫和企業閉環資料模型的平衡。

採用裝配化建築與裝修同樣有著許多好處:任意元件直觀可見;可獨立部署;可按需選擇尺寸;可選擇多種不同產品搭配;可根據需求選擇不同材質;可選擇其他元件進行搭配或者擴充。

當下,採用BIM(建築資訊模型)技術與裝配式工藝已成為建築業的發展趨勢。雲計算與雲原生的關係也如是,利用雲原生更能充分激發雲計算的能力。

新一代的企業IT架構——

元年方舟企業數字化PaaS平臺

就是一款兼具容器化、微服務、DevOps、CI/CD等技術能力的PaaS平臺。產品完全雲原生架構,核心能力完全微服務化,全面支援基於容器的分散式部署,支援公有云、私有云和混合雲。元年方舟提供了企業數字化轉型過程中的所有架構支援與模組化通用服務,高效支援企業規模化創新,快速響應市場變化,涵蓋資料整合平臺、微服務底座及引擎中心,為企業構建(交易+資料)融合應用。

元年科技

將在下一篇文章中為您繼續形象化的介紹DevOps與CI/CD等雲原生重要組成內容,使您更進一步的認識雲原生的價值所在。