建筑業(yè)是中國重要的支柱產業(yè),作為“基建狂魔”有著許多的世界之最。比如全球最高的位于云貴兩省交界處的北盤江大橋、最長的丹昆特大橋、最長的秦嶺隧道等。作為建筑大國,我國也在著力推動建筑產業(yè)的現(xiàn)代化發(fā)展,其中裝配式建筑將在未來扮演重要角色。
裝配式建筑并不算是一個新鮮概念,但在我國新建建筑中的比例與歐美日等發(fā)達國家相比仍有著較大差距,其存在成本、政策、用戶習慣、商業(yè)模式匱乏等多重因素影響。但在近年來一系列國家政策的推動下,裝配式建筑相關產業(yè)發(fā)展迅速,截至2020 年,全國共創(chuàng)建國家級裝配式建筑產業(yè)基地328 個,省級產業(yè)基地908 個。在裝配式建筑產業(yè)鏈中,構件生產、裝配化裝修成為新的亮點。其中,構件生產產能和產能利用率進一步提高,全年裝配化裝修面積較2019 年增長58.7%。
這讓人不由得想起了云計算在國內的發(fā)展歷程:近年來,各地的大型云計算中心如雨后春筍般層出不窮,企業(yè)上云已成為共識。而在此之后,企業(yè)需要解決的是如何利用云的特點去重構應用,而不是簡單的將應用搬上云再進行縫縫補補。正因如此,“云原生”也成為了近年來云計算領域最火熱的技術架構,并推動企業(yè)在數(shù)字化浪潮中不斷創(chuàng)新發(fā)展。
云原生不是一個產品,而是一套技術體系和一套方法論。云原生即包含技術(微服務,容器等基礎設施),也包含管理(DevOps,持續(xù)交付,重組等)。云原生也可以說是一系列云技術、企業(yè)管理方法的集合。其目前主要的技術包括:容器化,微服務,DevOps,CI/CD。
如同裝配式建筑一樣,將建筑視角轉換為企業(yè)數(shù)字化平臺視角,元年方舟云原生技術平臺上的所有組件相互獨立,可單獨部署、彈性擴容。技術平臺已經(jīng)集成了市面上大部分微服務組件,并針對組件進行封裝,屏蔽掉復雜的技術細節(jié),可以讓開發(fā)人員專注于業(yè)務實現(xiàn)。同時元年的專利技術可以實現(xiàn)一套代碼既可單體部署也可以微服務部署,根據(jù)需要選擇部署形態(tài)。由于采用了云原生的設計,所有平臺上開發(fā)出來的應用,天然支持公有云、私有云和混合云。元年自研的CI/CD系統(tǒng)可以實現(xiàn)一鍵多云部署。
在容器技術之前,業(yè)界的主流的技術是虛擬機。虛擬機技術的代表是VMware和hyper-v、KVM、ZEN。虛擬機就是在物理機的操作系統(tǒng)里安裝一個軟件,然后通過這個軟件,再模擬一臺甚至多臺“子電腦”出來。在“子電腦”里,可以和正常電腦一樣運行程序,例如微信、Word?!白与娔X”和“子電腦”之間,相互隔離,只共享物理機資源。而容器技術則是在共享物理機資源的同時還共享操作系統(tǒng)。
虛擬機雖然可以隔離出很多“子電腦”,但相比起容器技術其仍然存在著占用空間大、啟動慢的問題,這種差異也隨著“虛擬機蔓延”的情況愈發(fā)嚴重。顧名思義,如果將物理機比喻成獨棟別墅,那么虛擬機可謂是在此之上的高層建筑——在同一個地基上蓋起的。而容器技術則像是在房間內的“太空艙”,他們不僅共享地基,甚至還共享房間內的客廳、洗手間、廚房等功能組件。
這種“共享”帶來了什么意義?這意味著同樣的空間內可以容納下更多住戶,而當“宇航員”要一起做事時,他們不需要再從各自不同的房間穿過客廳來到某處,而只需要打開各自的太空艙即可。換而言之,他們所需要的步驟和過程也變得更短了。但隨之而來可能也會面臨一個問題,隨著太空艙的數(shù)量增多,怎么能保障其正常運轉?
kubernetes作為容器的編排管理工具逐漸脫穎而出,其意義是在就如何更快更多的擺放太空艙的同時做好對每個太空艙內人員狀態(tài)的監(jiān)測,以及讓宇航員不至于發(fā)生出艙撞車事件。
· 資源調度:資源調度是一套分布式系統(tǒng)最基本的核心指標;
· 資源管理:控制Pod對計算資源、網(wǎng)絡資源、存儲資源的使用;
· 服務發(fā)現(xiàn):管理外在的程序或者內部的程序如何訪問Kubernetes里面的某個Pod;
· 健康檢查:監(jiān)控檢測服務是否正常運行非常重要;
· 自動伸縮:因為涉及到環(huán)境的快速遷移和復制,虛擬機時代之前都非常難實現(xiàn)。容器化時代很自然的解決了這個問題,Kubernetes保證了資源的按需擴容;
· 更新升級:Kubernetes為服務的滾動和平滑升級提供了很好的機制。
容器與虛擬機技術相比,它不需要虛擬出整個操作系統(tǒng),只需要虛擬一個小規(guī)模的環(huán)境(類似“沙箱”),啟動以秒鐘計算。而且,它對資源的利用率很高(一臺主機可以同時運行幾千個Docker容器)。此外它占的空間很小,虛擬機一般要幾GB到幾十GB的空間,而容器只需要MB級甚至KB級。虛擬機和以Docker為代表的容器都是虛擬化技術,不過容器屬于輕量級的虛擬化。
容器化技術LXC(Linux Container)是將Linux的 Cgroups 的資源管理能力和 Linux Namespace(命名空間)的視圖隔離能力組合在一起,這就是如今被廣泛應用的容器技術的實現(xiàn)基礎。
微服務是一種開發(fā)軟件的架構和組織方法,其中軟件由通過明確定義的API進行通信的小型獨立服務組成。這些服務由各個小型獨立團隊負責。微服務架構使應用程序更易于擴展和更快地開發(fā),從而加速創(chuàng)新并縮短新功能的上線時間。
這與現(xiàn)代建筑中的裝配式建筑有些相似,將不同的預構內容組合在一起,具有有效提高建筑效率與精度,且大幅度降低人工依賴,更加環(huán)保節(jié)能等優(yōu)勢。
· 小:粒度小,專注于一件事;
· 獨:單獨的進程。微服務不等于組件,服務是可以直接使用的商品,組件是待加工的原材料;
· 輕:輕量級通信機制,通常是HTTP Restful的接口。此處區(qū)別于傳統(tǒng)的SOA(面向服務的架構);
· 松:松耦合,可以獨立部署。每個微服務可以獨立編譯、獨立部署、獨立運行。
類比裝配式建筑同樣具備以下特點:裝配式建筑的每個組件都可以是分散的,任意組件都是可以直接使用的商品,而不是傳統(tǒng)的水泥、石材、木材、金屬、塑料或是其他復合材料;用戶可以根據(jù)自身需求喜好選擇不同的裝配組件,無論是顏色還是樣式。
· 易于開發(fā)與維護:微服務相對小,易于理解;
· 獨立部署:一個微服務的修改不需要協(xié)調其它服務;
· 伸縮性強:每個服務都可按硬件資源的需求進行獨立擴容;
· 與組織結構相匹配:微服務架構可以更好將架構和組織相匹配,每個團隊獨立負責某些服務,獲得更高的生產力;
· 技術異構性:使用最適合該服務的技術,降低嘗試新技術的成本;
· 企業(yè)環(huán)境下的特殊要求:去中心化和集中管控/治理的平衡,分布式數(shù)據(jù)庫和企業(yè)閉環(huán)數(shù)據(jù)模型的平衡。
采用裝配化建筑與裝修同樣有著許多好處:任意組件直觀可見;可獨立部署;可按需選擇尺寸;可選擇多種不同產品搭配;可根據(jù)需求選擇不同材質;可選擇其他組件進行搭配或者擴充。
當下,采用BIM(建筑信息模型)技術與裝配式工藝已成為建筑業(yè)的發(fā)展趨勢。云計算與云原生的關系也如是,利用云原生更能充分激發(fā)云計算的能力。
新一代的企業(yè)IT架構——元年方舟企業(yè)數(shù)字化PaaS平臺就是一款兼具容器化、微服務、DevOps、CI/CD等技術能力的PaaS平臺。產品完全云原生架構,核心能力完全微服務化,全面支持基于容器的分布式部署,支持公有云、私有云和混合云。元年方舟提供了企業(yè)數(shù)字化轉型過程中的所有架構支持與模塊化通用服務,高效支持企業(yè)規(guī)?;瘎?chuàng)新,快速響應市場變化,涵蓋數(shù)據(jù)集成平臺、微服務底座及引擎中心,為企業(yè)構建(交易 數(shù)據(jù))融合應用。
元年科技將在下一篇文章中為您繼續(xù)形象化的介紹DevOps與CI/CD等云原生重要組成內容,使您更進一步的認識云原生的價值所在。