官术网_书友最值得收藏!

1.1 云原生概述

隨著Kubernetes和容器技術(shù)的崛起,云原生受到越來越多的關(guān)注。那么,到底什么是云原生?本節(jié)我們會(huì)一起了解云原生,以及云原生應(yīng)用相比于傳統(tǒng)應(yīng)用所帶來的價(jià)值。

1.1.1 云原生的定義

云原生可以被理解為一種方法論:云原生是充分利用云計(jì)算的優(yōu)勢(shì),從而在云計(jì)算中構(gòu)建、部署和管理現(xiàn)代應(yīng)用程序的軟件方法。

CloudNative = Cloud + Native。其中,Cloud表示應(yīng)用程序位于云中,而不是傳統(tǒng)的數(shù)據(jù)中心;Native表示應(yīng)用程序從設(shè)計(jì)之初就考慮到云的環(huán)境,為云而生,生于云而長(zhǎng)于云,充分利用和發(fā)揮云平臺(tái)的彈性和分布式優(yōu)勢(shì)。

當(dāng)然,隨著時(shí)間的推移,云原生的定義其實(shí)也在一直變化著。

云原生的最初定義可以追溯到Pivotal公司(已于2019年被VMware公司收購(gòu),當(dāng)前負(fù)責(zé)VMware Tanzu產(chǎn)品組合中的一部分)。2015年,剛推廣云原生時(shí),Pivotal公司的Matt Stine在《遷移到云原生架構(gòu)》一書中定義了符合云原生架構(gòu)的幾個(gè)特征:12因素、微服務(wù)、自敏捷架構(gòu)、基于API協(xié)作、抗脆弱性。

2017年,Matt Stine對(duì)云原生的定義做了一些修改,將云原生架構(gòu)的特征歸納為模塊化、可觀察、可部署、可測(cè)試、可替換、可處理。

當(dāng)前,Pivotal(VWmare Tanzu)已將上述幾個(gè)特征更新為DevOps、持續(xù)交付、微服務(wù)、容器技術(shù)(1)

 DevOps:Devops是一個(gè)組合詞,即Dev+Ops,表示開發(fā)和運(yùn)維之間的協(xié)作。DevOps是一種敏捷思維,是一種溝通文化,也是一種組織形式,在這種文化和環(huán)境中,構(gòu)建、測(cè)試和發(fā)布軟件可以快速、頻繁且更一致地進(jìn)行,更好地交付高質(zhì)量軟件。

 持續(xù)交付:持續(xù)交付是相比于傳統(tǒng)瀑布式開發(fā)模型而言的,其特征是不停機(jī)更新,小步快跑,這要求開發(fā)版本和穩(wěn)定版本并存,其實(shí)需要很多流程和工具支撐。持續(xù)交付使發(fā)布軟件的行為變得乏味而可靠,因此組織可以更頻繁地交付軟件,風(fēng)險(xiǎn)更低,并可更快地獲得反饋。

 微服務(wù):幾乎每個(gè)云原生的定義都包含微服務(wù),跟微服務(wù)相對(duì)的是單體應(yīng)用。每個(gè)微服務(wù)都可以獨(dú)立于同一應(yīng)用程序中的其他服務(wù)進(jìn)行部署、升級(jí)、擴(kuò)展和重啟。通過使服務(wù)高內(nèi)聚、低耦合,使得變更更容易,可以在不影響客戶的情況下進(jìn)行頻繁更新。

 容器技術(shù):與傳統(tǒng)虛擬機(jī)相比,容器技術(shù)可以提供更快的啟動(dòng)速度和更高的效率。容器技術(shù)的低開銷與單個(gè)機(jī)器上的高密度部署結(jié)合,為微服務(wù)化的實(shí)施保駕護(hù)航,使得容器技術(shù)成為部署微服務(wù)的理想工具。容器技術(shù)可以說是云原生的根基,沒有容器技術(shù)就沒有云原生。

對(duì)于云原生,除了Pivotal,還不得不提CNCF(Cloud Native Computing Foundation,云原生計(jì)算基金會(huì))——一個(gè)為云原生的推廣立下汗馬功勞的基金會(huì)組織。

2015年,CNCF成立之初便對(duì)云原生的定義進(jìn)行了闡述,起初的定義包含以下3個(gè)方面。

(1)應(yīng)用容器化。

(2)面向微服務(wù)架構(gòu)。

(3)應(yīng)用支持容器的編排調(diào)度。

2018年,CNCF對(duì)云原生進(jìn)行了重新定義,提供了云原生定義1.0版本(2)

云原生技術(shù)有利于各組織在公有云、私有云和混合云等新型動(dòng)態(tài)環(huán)境中,構(gòu)建和運(yùn)行可彈性擴(kuò)展的應(yīng)用。

云原生的代表技術(shù)包括容器、服務(wù)網(wǎng)格、微服務(wù)、不可變基礎(chǔ)設(shè)施和聲明式API。這些技術(shù)能夠構(gòu)建容錯(cuò)性好、易于管理和便于觀察的松耦合系統(tǒng)。結(jié)合可靠的自動(dòng)化手段,云原生技術(shù)使工程師能夠輕松地對(duì)系統(tǒng)做出頻繁和可預(yù)測(cè)的重大變更。

CNCF致力于培育和維護(hù)一個(gè)廠商中立的開源生態(tài)系統(tǒng)來推廣云原生技術(shù)。我們通過將最前沿的模式民主化,讓這些創(chuàng)新為大眾所用。

1.1.2 云原生應(yīng)用的價(jià)值

云原生到底能為企業(yè)帶來哪些價(jià)值呢?簡(jiǎn)單來講,可以帶來以下3個(gè)方面的價(jià)值。

1.提高效率

云原生開發(fā)帶來了DevOps和持續(xù)交付等敏捷實(shí)踐。開發(fā)人員使用自動(dòng)化工具、云服務(wù)和現(xiàn)代設(shè)計(jì)文化來快速構(gòu)建可擴(kuò)展的應(yīng)用程序。原本以月或以周為周期的開發(fā)周期縮短為以小時(shí)為周期,部分變更甚至縮短為分鐘級(jí)。

2.降低成本

云原生能帶來彈性伸縮能力,并通過削峰填谷、在離線混部等降低系統(tǒng)總體的資源消耗,使得公司不必投資于昂貴的物理基礎(chǔ)設(shè)施的采購(gòu)和維護(hù),這樣可以節(jié)省運(yùn)營(yíng)支出。

3.確保可用性

云原生技術(shù)使公司能夠構(gòu)建強(qiáng)彈性、高可用的應(yīng)用程序。軟件升級(jí)做到不停機(jī)更新,并且可以在流量較大時(shí)間段動(dòng)態(tài)進(jìn)行橫向擴(kuò)容,提高用戶體驗(yàn)。

1.1.3 云原生應(yīng)用與傳統(tǒng)應(yīng)用對(duì)比

由上面的介紹可以得知,傳統(tǒng)應(yīng)用即使上了云也不是云原生應(yīng)用,只有為了更好地利用云原生平臺(tái)優(yōu)勢(shì)的改造或者完全按云原生理念構(gòu)建的應(yīng)用才是云原生應(yīng)用。云原生應(yīng)用和傳統(tǒng)應(yīng)用的對(duì)比如表1.1所示。

表1.1 云原生應(yīng)用和傳統(tǒng)應(yīng)用的對(duì)比

主站蜘蛛池模板: 滕州市| 安吉县| 梓潼县| 华安县| 咸阳市| 高清| 武夷山市| 合水县| 永年县| 河曲县| 澳门| 张家界市| 濉溪县| 阳高县| 兴城市| 乌拉特中旗| 邯郸市| 嘉义县| 乌恰县| 马尔康县| 聂拉木县| 北海市| 贵溪市| 翼城县| 安宁市| 林甸县| 金秀| 常州市| 原阳县| 大连市| 永安市| 中方县| 托克逊县| 余江县| 丰都县| 兴隆县| 扎兰屯市| 海南省| 扶绥县| 师宗县| 武安市|