前幾天與一位消費(fèi)品行業(yè)的CIO聯(lián)絡(luò),他告知說他將于春節(jié)后離開現(xiàn)有單位,到另一家更有活力的企業(yè)擔(dān)任CIO職務(wù)。我問他離開現(xiàn)單位的原因,他說消費(fèi)品行業(yè)業(yè)務(wù)變化非常快,原單位組織架構(gòu)死板,實(shí)在跟不上“業(yè)務(wù)在飛奔,IT在路上”的發(fā)展形勢(shì)。
實(shí)際上,不僅是消費(fèi)品、互聯(lián)網(wǎng)等需求變化快的行業(yè),就是原有存在資源優(yōu)勢(shì)的企業(yè),都開始面臨經(jīng)濟(jì)下行壓力的降本增效問題。在技術(shù)應(yīng)用上,對(duì)可彈性擴(kuò)展的應(yīng)用提出了新的要求。云原生這一概念被提出并被快速接受似乎也就兩三年時(shí)間。
根據(jù)筆者的一項(xiàng)調(diào)查顯示,有51%的企業(yè)CIO表示業(yè)務(wù)模式的變革正在發(fā)生。隨著5G時(shí)代到來,數(shù)字化技術(shù)越來越快,如果企業(yè)業(yè)務(wù)仍然只停留在以線下門店為主的傳統(tǒng)形式上,顯然已不能適應(yīng)現(xiàn)在的發(fā)展需求,業(yè)務(wù)需要變革,而IT也在為了支撐這種變革而不斷推進(jìn),具體而言,體現(xiàn)在不斷變遷的應(yīng)用架構(gòu)和開發(fā)流程上。
以軟件架構(gòu)為例,最早開始是單體應(yīng)用,所有的業(yè)務(wù)都在一個(gè)應(yīng)用包里,把所有代碼打包在一起;其次是分層架構(gòu),3Tier、MVC(前端、后端、中間控制器);后來IBM主導(dǎo)開發(fā)了SOA架構(gòu),有個(gè)解耦方式,但還是面向集中式業(yè)務(wù);現(xiàn)在更多的面向微服務(wù)架構(gòu),互聯(lián)網(wǎng)企業(yè)已經(jīng)做到了生產(chǎn)業(yè)務(wù)微服務(wù)化,比如電商系統(tǒng),通過將很多業(yè)務(wù)模塊解耦,比如購(gòu)物車拆分成一個(gè)獨(dú)立的服務(wù),便可以獨(dú)立進(jìn)行版本迭代和升級(jí)上線,實(shí)現(xiàn)與電商系統(tǒng)其他平臺(tái)的完全解耦,從而更好地應(yīng)對(duì)不同的業(yè)務(wù)需求。
再以基礎(chǔ)設(shè)施為例,以前是大機(jī)或者傳統(tǒng)數(shù)據(jù)中心,再是集中化IDC數(shù)據(jù)中心,后來有了云計(jì)算,而現(xiàn)在則是云原生。
CNCF基金會(huì)對(duì)云原生給出的定義頗具代表性:“云原生技術(shù)有利于各組織在公有云、私有云和混合云等新型動(dòng)態(tài)環(huán)境中,構(gòu)建和運(yùn)行可彈性擴(kuò)展的應(yīng)用,云原生的代表技術(shù)包括容器、服務(wù)網(wǎng)格、微服務(wù)、不可變基礎(chǔ)實(shí)施和聲明式API。“
由此可見,云原生的優(yōu)勢(shì)在于可以很好地構(gòu)建容錯(cuò)性好,易于管理、便于觀察的松耦合系統(tǒng)。結(jié)合可靠的自動(dòng)化手段,云原生技術(shù)使工程師能夠輕松地對(duì)系統(tǒng)作出頻繁、可預(yù)測(cè)的重大變更。比如互聯(lián)網(wǎng)企業(yè)都會(huì)做的頻繁的促銷活動(dòng),頻繁的業(yè)務(wù)變化需要基礎(chǔ)設(shè)施的配合,包括企業(yè)的應(yīng)用架構(gòu)、業(yè)務(wù)實(shí)現(xiàn),這些云原生技術(shù)正在幫助企業(yè)實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型。可以說,這是云原生最好的時(shí)代,也是不得不云原生的時(shí)代。
Kubernetes 基礎(chǔ)設(shè)施的統(tǒng)治者
談到云原生,便必須談到Kubernetes。Kubernetes最開始是由谷歌開源的虛擬化平臺(tái)或是支撐云原生的基礎(chǔ)設(shè)施平臺(tái),谷歌把它的共性拆出來,開源成Kubernetes,在CNCF基金會(huì)的推動(dòng)下,Kubernetes已形成為一個(gè)強(qiáng)大的社區(qū),包括微軟、IBM、華為、青云QingCloud等國(guó)際國(guó)內(nèi)廠商都在貢獻(xiàn)代碼,對(duì)Kubernetes進(jìn)行演進(jìn)和迭代。
青云QingCloud KubeSphere容器平臺(tái)產(chǎn)品經(jīng)理于爽對(duì)Kubernetes的地位評(píng)價(jià)非常高,他認(rèn)為“Kubernetes將是未來IT基礎(chǔ)設(shè)施的統(tǒng)治者“,其原因是:
首先,Kubernetes容器是跨基礎(chǔ)設(shè)施的,不管是物理機(jī)還是云平臺(tái),只要業(yè)務(wù)構(gòu)建于Kubernetes,以容器化的方式交付,就可以跑在不同的平臺(tái)之上。這意味著客戶不會(huì)被任何服務(wù)商鎖定,國(guó)內(nèi)服務(wù)器租用服務(wù)器托管,其業(yè)務(wù)可以很好的跨基礎(chǔ)設(shè)施做應(yīng)用遷移。
其次,Kubernetes社區(qū),不管是個(gè)人開發(fā)者、企業(yè)開發(fā)者均需要投入,因此其版本演進(jìn)非常快速。而且Kubernetes有非常標(biāo)準(zhǔn)的開發(fā)架構(gòu)、API設(shè)計(jì),也能實(shí)現(xiàn)很好的兼容。
第三,擴(kuò)展簡(jiǎn)單和標(biāo)準(zhǔn),Kubernetes在最開始設(shè)計(jì)時(shí)就沒有很深入向下和向上做綁定,而是通過標(biāo)準(zhǔn)化的方式開放出來。以存儲(chǔ)為例,數(shù)據(jù)需要最終存儲(chǔ)到數(shù)據(jù)盤里,Kubernetes把它抽象成存儲(chǔ)服務(wù)的標(biāo)準(zhǔn)接口,任何存儲(chǔ)廠商都可以基于接口標(biāo)準(zhǔn),把存儲(chǔ)服務(wù)的API對(duì)接進(jìn)去,這使得Kubernetes生態(tài)非常繁榮。
KubeSphere 開箱即用的云原生
雖然Kubernetes是云原生最基礎(chǔ)的支撐平臺(tái),域名購(gòu)買,就如房子已經(jīng)基本建成,但并不能立即入住一樣,畢竟沒有人愿意住在毛坯房里,沒有家具和家電,只能保證企業(yè)最基礎(chǔ)的應(yīng)用,還會(huì)涉及監(jiān)控、日志、告警,甚至開發(fā)工具鏈、微服務(wù)管理工具等,后續(xù)的使用會(huì)變得非常復(fù)雜。
KubeSphere是青云QingCloud為云原生開發(fā)的一套專業(yè)平臺(tái),是在Kubernetes之上構(gòu)建的分布式操作系統(tǒng),是用于數(shù)據(jù)中心的、可插拔的企業(yè)級(jí)多租戶容器平臺(tái)。于爽在談到Kubernetes的設(shè)計(jì)初衷時(shí)說,我們的最終目的一是降低平臺(tái)落地成本;二是降低用戶使用成本。