国产精品chinese,色综合天天综合精品网国产在线,成午夜免费视频在线观看,清纯女学生被强行糟蹋小说

    <td id="ojr13"><tr id="ojr13"><label id="ojr13"></label></tr></td>
        • <source id="ojr13"></source>
            <td id="ojr13"><ins id="ojr13"><label id="ojr13"></label></ins></td>

            Article / 文章中心

            云原生給應(yīng)用開發(fā)帶來了什么?

            發(fā)布時間:2021-12-06 點擊數(shù):717

            云原生一種構(gòu)建和運行應(yīng)用程序的技術(shù)體系和方法論,這套技術(shù)體系從設(shè)計之初即考慮到云的環(huán)境,充分利用和發(fā)揮云平臺的彈性和分布式優(yōu)勢。華為曾對符合云原生架構(gòu)的應(yīng)用程序如是描述:采用開源堆棧(K8S+Docker)進行容器化,基于微服務(wù)架構(gòu)提高靈活性和可維護性,借助敏捷方法、DevOps支持持續(xù)迭代和運維自動化,利用云平臺設(shè)施實現(xiàn)彈性伸縮、動態(tài)調(diào)度、優(yōu)化資源利用率。

            通過華為的這段描述,可以看出云原生的四個要素:容器化、微服務(wù)、DevOps、持續(xù)交付,這是現(xiàn)在公認的,也是Pivotal概括的4個主要要素,對此,不同的云計算廠商在原有的4要素之上有所延伸,有著自己的見解。

            2013年,Pivotal公司的Matt?Stine首次提出云原生(CloudNative)概念。

            2015年,《遷移到云原生架構(gòu)》定義了云原生架構(gòu)的特征:12因素、微服務(wù)、自敏捷架構(gòu)、基于API協(xié)作、扛脆弱性。

            同年,云原生計算基金會(CNCF)成立,并將云計算定義為容器化封裝+自動化管理+面向微服務(wù)。

            2017年,Matt?Stine將云原生架構(gòu)歸納為模塊化、可觀察、可部署、可測試、可替換、可處理6特質(zhì)。

            彼時,Pivotal將云原生概括為DevOps+持續(xù)交付+微服務(wù)+容器。

            2018年,CNCF更新了云原生的定義,將服務(wù)網(wǎng)格(Service?Mesh)和聲明式API加進來。

            從云原生誕生到發(fā)展的脈絡(luò)來看,云原生的定義不斷完善,并存在概念混亂、不統(tǒng)一的現(xiàn)狀,不過目前,大多數(shù)云計算企業(yè)習(xí)慣使用DevOps+持續(xù)交付+微服務(wù)+容器來定義云原生。下面,我們來簡單理解一下云原生的4個主要要素。

            1、微服務(wù)。

            微服務(wù)是一個獨立發(fā)布的應(yīng)用服務(wù),可以作為獨立組件升級、灰度或復(fù)用等,每個服務(wù)可以由專門的組織來單獨完成,依賴方只要定好輸入和輸出口即可完全開發(fā),甚至整個團隊的組織架構(gòu)更精簡,溝通成本低、效率高。

            2、devOps

            DevOps字面上是組合詞——Dev、Ops,即開發(fā)人員、運維人員。實際上,DevOps是一組過程、方法與系統(tǒng)的統(tǒng)稱,DevOps強調(diào)高效組織團隊之間如何通過自動化的工具協(xié)作和溝通來完成軟件的聲明周期管理,從而更快、更頻繁地交付更穩(wěn)定的軟件。

            3、持續(xù)交付

            敏捷開發(fā)要求持續(xù)交付,因為敏捷開發(fā)要求隨時有一個版本可以上到大群環(huán)境,所以要持續(xù)交付。持續(xù)交付目的的快速應(yīng)對客戶的需求變化,要求發(fā)布非常頻繁,所以會存在多個版本同時提供服務(wù)的情況,因此需要支持灰度發(fā)布/金絲雀發(fā)布等。

            4、容器化

            Docker是軟件行業(yè)最受歡迎的軟件容器項目,Docker起到應(yīng)用隔離作用,為微服務(wù)及其所需的所有配置、依賴關(guān)系和環(huán)境變量移動到全新、無差別的運行環(huán)境,移植性強。但是docker對于分布式應(yīng)用的部署和編排沒有考慮,在網(wǎng)絡(luò)和存儲方式都沒有提出比較好的方式,包括docker-compose。

            此外,與原生與本地部署有著什么樣的區(qū)別?

            1、編程語言。

            據(jù)悉,本地部署的傳統(tǒng)應(yīng)用采用C++/C++、企業(yè)級java編寫;云原生應(yīng)用需要用以網(wǎng)絡(luò)為中心的go、node.js等新興語言編寫。

            2、持續(xù)交付

            本地部署的傳統(tǒng)應(yīng)用需要停機更新;云原生應(yīng)用應(yīng)該始終是最新的,需要支持頻繁變更,持續(xù)交付,藍綠部署。

            3、動彈擴展

            本地部署的傳統(tǒng)應(yīng)用無法動態(tài)擴展,往往需要冗余資源以抵抗流量高峰,而云原生應(yīng)用利用云的彈性自動伸縮,通過共享降本增效。

            4、網(wǎng)絡(luò)限制

            本地部署的傳統(tǒng)應(yīng)用對網(wǎng)絡(luò)資源,比如ip、端口等有依賴,甚至是硬編碼,而云原生應(yīng)用對網(wǎng)絡(luò)和存儲都沒有這種限制。

            5、自動化

            本地部署的傳統(tǒng)應(yīng)用通常人肉部署手工運維,而云原生應(yīng)用這一切都是自動化的。

            6、移植性

            本地部署的傳統(tǒng)應(yīng)用通常依賴系統(tǒng)環(huán)境,而云原生應(yīng)用不會硬連接到任何系統(tǒng)環(huán)境,而是依賴抽象的基礎(chǔ)架構(gòu),從而獲得良好移植性。

            7、服務(wù)架構(gòu)

            本地部署的傳統(tǒng)應(yīng)用有些是單體(巨石)應(yīng)用,或者強依賴,而基于微服務(wù)架構(gòu)的云原生應(yīng)用,縱向劃分服務(wù),模塊化更合理。