<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          天天叨叨云原生,你知道云原生是啥么?

          共 5672字,需瀏覽 12分鐘

           ·

          2020-10-29 17:18

          1. 現(xiàn)代應(yīng)用的需求

          早期人們對于互聯(lián)網(wǎng)的依賴還不是很強(qiáng)烈,數(shù)字體驗(yàn)這個(gè)詞還沒有誕生,大家對于數(shù)字體驗(yàn)還不是那么敏感,應(yīng)用程序是否總是可用也沒有那么重要。對于互聯(lián)網(wǎng)產(chǎn)品來說,用戶量少,并發(fā)量低,數(shù)據(jù)量也很小,只需要單個(gè)服務(wù)器即可滿足需求,數(shù)據(jù)庫和文件服務(wù)器什么的可用部署在另外的服務(wù)器上,這就是早期的單體架構(gòu)

          后來隨著各大互聯(lián)網(wǎng)公司業(yè)務(wù)的增長,訪問量和數(shù)據(jù)量也暴增,由于單個(gè)服務(wù)器的資源有限,性能顯著下降,所以不得不對 IT 架構(gòu)進(jìn)行改造。開始只是在應(yīng)用本身動(dòng)刀子,比如對數(shù)據(jù)庫進(jìn)行讀寫分離、分庫分表等優(yōu)化,以緩解數(shù)據(jù)庫的訪問壓力;對應(yīng)用進(jìn)行動(dòng)靜分離,將靜態(tài)資源放到 CDN 以加速訪問。

          這是一個(gè)惡性循環(huán),如此一來,各大公司的用戶規(guī)模和業(yè)務(wù)量還會繼續(xù)飛速增長,業(yè)務(wù)場景會越來越復(fù)雜,規(guī)模越來越龐大,不得不分而治之,采用分布式架構(gòu),往更細(xì)粒度的方向通過 SOA 進(jìn)行垂直拆分。

          隨著 4G 的普及,高速的網(wǎng)絡(luò)讓視頻緩存變得不易察覺,使用數(shù)據(jù)流量觀看視頻不再是一種極度炫富的行為,移動(dòng)支付也借著網(wǎng)速提升的大潮迅速普及。如今數(shù)字體驗(yàn)已經(jīng)不再是我們生活中的一個(gè)配角,它們在我們?nèi)粘I钪械脑S多活動(dòng)中都扮演著重要的角色,我們希望應(yīng)用程序總是可用的,不能容忍短暫的不可用,并且還得經(jīng)常更新,防止審美疲勞。

          面對用戶的這種變態(tài)需求,必須對架構(gòu)繼續(xù)進(jìn)行優(yōu)化,主要從兩個(gè)方面來入手:

          保證服務(wù)一直可用

          要想保證服務(wù)一直可用,首先需要優(yōu)化對狀態(tài)信息的處理,比如會話狀態(tài)、應(yīng)用配置數(shù)據(jù)等。傳統(tǒng)應(yīng)用的狀態(tài)一般都保存在本機(jī)實(shí)例上,如何使用負(fù)載均衡器的會話綁定來確保同一個(gè)用戶的請求始終被轉(zhuǎn)發(fā)到同一個(gè)后端服務(wù)實(shí)例上。一但訪問實(shí)例發(fā)生故障,負(fù)載均衡器會建立新的會話,將請求轉(zhuǎn)發(fā)到另一臺實(shí)例,但另一臺實(shí)例沒有之前的狀態(tài)信息,從而導(dǎo)致狀態(tài)不一致。

          要想解決這個(gè)問題,需要讓應(yīng)用無狀態(tài)化。這里的無狀態(tài)并不是指應(yīng)用不處理數(shù)據(jù),而是在設(shè)計(jì)時(shí)就面向失敗和面向恢復(fù)設(shè)計(jì),例如將狀態(tài)外部化,存儲到外部存儲中,同時(shí)應(yīng)用需要能夠快速重啟,快速彈性伸縮。最好能保證在外部系統(tǒng)故障情況下依然可用。

          加速迭代流程

          如果產(chǎn)品的進(jìn)化速度太慢,不能根據(jù)用戶的反饋快速迭代,就會引起用戶不滿。但交付速度的提高不能以降低可用性為代價(jià),傳統(tǒng)企業(yè)提升可用性的一種方法就是盡量少交付,盡量多審核,這和快速迭代是背道而馳的。現(xiàn)代互聯(lián)網(wǎng)公司需要做的是快速迭代的同時(shí)又要保證可用性,而“云原生”就是用來解決這個(gè)問題的良藥。

          2. 何為云原生

          計(jì)算機(jī)領(lǐng)域每過幾年就會涌現(xiàn)出一批新的概念出來,細(xì)分到云計(jì)算領(lǐng)域也是如此,這兩年時(shí)常蹦跶在大家眼前的就是“云原生”這個(gè)詞。

          云原生的英文原文叫“Cloud Native”,我們不妨從英文的角度來理解,Native 表示與生俱來,就是親生的。把 Cloud 和 Native 放到一起又該如何理解?說白了就是云親生的!詳細(xì)的解釋是:應(yīng)用原生被設(shè)計(jì)為在云上以最佳方式運(yùn)行,充分發(fā)揮云的優(yōu)勢,享受云的特點(diǎn)。如果嫌太長不看可以直接理解為“云親生的”!

          云原生這個(gè)詞看起來比較新鮮,其實(shí)從開發(fā)人員的角度來理解是很簡單的,就是應(yīng)用在開發(fā)的時(shí)候就考慮到云上提供的各種服務(wù),充分利用云的動(dòng)態(tài)調(diào)度、自恢復(fù)、通過 API 訪問服務(wù)等基本特性,以及敏捷高效的特性。傳統(tǒng)的應(yīng)用開發(fā)方式都是悶頭開發(fā),不管應(yīng)用跑在哪個(gè)基礎(chǔ)設(shè)施環(huán)境中,也不用考慮基礎(chǔ)設(shè)施提供的各種能力,我只管讓我的應(yīng)用能正常運(yùn)行就好。

          上面都是從廣義上來理解云原生,有點(diǎn)空洞,對應(yīng)到具體的方法論就是大家耳熟能詳?shù)娜甯喝萜骰⑽⒎?wù)和 DevOps。

          容器化

          Docker 為代表的容器化直接對云的世界進(jìn)行降維打擊,它提供了一種非常便利的打包機(jī)制。這種機(jī)制直接打包了應(yīng)用運(yùn)行所需要的整個(gè)操作系統(tǒng),從而保證了本地環(huán)境和云端環(huán)境的高度一致,避免了用戶通過“試錯(cuò)”來匹配兩種不同運(yùn)行環(huán)境之間差異的痛苦過程。同時(shí)它的顆粒度比虛擬機(jī)更小,部署更靈活,簡直是紅的發(fā)紫啊。

          將應(yīng)用托管到容器中,就注定了應(yīng)用本質(zhì)上是無狀態(tài)的,為了保證應(yīng)用無狀態(tài)的同時(shí)又不影響用戶體驗(yàn),容器平臺的做法是將狀態(tài)信息保存到外部存儲中,將日志采集從業(yè)務(wù)中剝離,使用 Sidecar 拉抓取業(yè)務(wù)容器日志。同時(shí)需要應(yīng)用提供探針,以便讓平臺實(shí)現(xiàn)應(yīng)用的生命周期管理。

          對于數(shù)據(jù)庫應(yīng)用來說,它們對 IO 和吞吐的性能要求很高,如果要跑在容器中,對于外部存儲的挑戰(zhàn)會非常大,各大公司也在極力優(yōu)化其外部存儲性能。例如金山云就推出了一種全新極速云盤(ESSD)。ESSD 是 Enhanced SSD,即在 SSD 云盤的基礎(chǔ)上,提供更高的突破與創(chuàng)新,主要體現(xiàn)在:

          • 極簡架構(gòu):NVMe SSD 作為存儲介質(zhì),配合 RDMA 組網(wǎng),超簡潔軟件架構(gòu),發(fā)揮云盤高效性能。
          • 高效性能:100W IOPS 4GBps 吞吐,時(shí)延低至 200 微秒。
          • 穩(wěn)定可靠:三副本保存,可靠性 9 個(gè) 9,可用性 99.99%,支持加密,支持本地快照、普通快照等多種數(shù)據(jù)備份方式。
          • 彈性部署:支持在線擴(kuò)容隨時(shí)調(diào)整云盤大小,可利用快照實(shí)現(xiàn)云盤的批量復(fù)制,大大增強(qiáng)業(yè)務(wù)的敏捷性。

          從圖上可以看出 ESSD 相對普通 SSD 的性能提升:ESSD IOPS 單盤高達(dá) 100w,相比上一代提升 40 倍;吞吐性能達(dá)到 4GBps,提升 16 倍;時(shí)延低至 0.2ms(即 200us),為前代 SSD 時(shí)延的 1/15。

          如果將 ESSD 和容器服務(wù)結(jié)合使用,用戶就無需再擔(dān)心核心數(shù)據(jù)庫部分能否真正遷移到云的數(shù)據(jù)庫上,能否有金融級的數(shù)據(jù)庫的能力。利用 ESSD 的高效性能,完全滿足云上數(shù)據(jù)庫對 IO 和吞吐的性能要求。

          微服務(wù)

          隨著數(shù)據(jù)量的不斷增大,吞吐量不斷增加,業(yè)務(wù)越來越復(fù)雜,服務(wù)的數(shù)量會越來越多,分層會越來越細(xì)。久而久之,單體應(yīng)用漸漸被拆分成功能相互獨(dú)立的微應(yīng)用,實(shí)現(xiàn)業(yè)務(wù)架構(gòu)解耦,大家各司其職,報(bào)團(tuán)取暖,這就是微服務(wù)。

          微服務(wù)區(qū)別于單體架構(gòu)的地方就在于“分而治之”,即通過切分服務(wù)以明確模塊或者功能邊界。然而,僅有“分”是不行的,軟件系統(tǒng)是一個(gè)整體,很多功能來自若干服務(wù)模塊的配合,因此必然要有“合”的手段,這對矛盾會體現(xiàn)在多個(gè)方面。

          如果使用 Docker,由于每個(gè)服務(wù)打包可以封裝為一個(gè) Docker 鏡像,每個(gè)運(yùn)行時(shí)的服務(wù)都表現(xiàn)為一個(gè)獨(dú)立容器,我們之前建立的容器依賴就可以很容易的對應(yīng)到服務(wù)依賴上,基于這種統(tǒng)一性,系統(tǒng)升級就很容易配合一些自動(dòng)化工具實(shí)現(xiàn)“整體升級”(甚至還可以“整體降級”)。將微服務(wù)應(yīng)用放置在容器中,可以在開發(fā)、測試和上線流程中實(shí)現(xiàn)“一次編寫,到處運(yùn)行”。

          DevOps

          得益于容器和 Docker 技術(shù)的紅利,開發(fā)人員可以輕松地與 IT 操作和生產(chǎn)環(huán)境共享他們的軟件和依賴項(xiàng),同時(shí)消除典型的“適用于計(jì)算機(jī)”的借口,間接地將開發(fā)人員和運(yùn)維人員更緊密地結(jié)合在一起,使他們更能高效地協(xié)作。運(yùn)維和開發(fā)小哥表示現(xiàn)在他們的關(guān)系很融洽,沒事還能一起出去喝兩杯,即使線上環(huán)境出了問題,也能夠一起愉快地背鍋

          雖然云原生有三板斧,但主角其實(shí)還是 Kubernetes,它是云原生領(lǐng)域的當(dāng)紅小生,甚至成為了云原生的代名詞。Kubernetes 從誕生之初便一路飆升,將對手甩開了十幾條街,未來也將會以火箭的速度保持上升。

          為了推動(dòng) Kubernetes 產(chǎn)品的一致性和可移植性,踐行 Kubernetes 被創(chuàng)立時(shí)的初心,CNCF 還啟動(dòng)了 Kubernetes 一致性認(rèn)證計(jì)劃,目前幾乎所有的互聯(lián)網(wǎng)巨頭都通過了這個(gè)一致性認(rèn)證:

          除了這些,Kubernetes 的行業(yè)成功案例也數(shù)不勝數(shù):

          • 超過 20 個(gè)知名的集群管理平臺從自研架構(gòu)遷移到 Kubernetes,包括阿里巴巴的 Sigma、亞馬遜的 Apollo、Apache Mesos、百度的 Matrix、Cloud Foundry 的 Diego/Garden 等
          • 歐洲核子研究中心(CERN)正在使用 Kubernetes 管理著超過 200 個(gè)云計(jì)算中心,運(yùn)行著 40 多萬個(gè)工作負(fù)載,每秒處理著高達(dá) 30GB 的數(shù)據(jù)。
          • 中國移動(dòng)使用容器取代虛擬機(jī),以輕量級的方式在其平臺上運(yùn)行各種應(yīng)用程序,利用 Kubernetes 提高資源利用率。
          • 金山云已經(jīng)開始為金蝶軟件提供的物理機(jī)自建分布式存儲服務(wù),為小米支撐 FDS 容器、全套基礎(chǔ)運(yùn)維平臺,為金山 WPS 在線文本處理提供支持。

          3. 云原生的未來

          大型企業(yè)將會在 Kubernetes 上加倍投入

          2018 年 1 月,Red Hat 收購 CoreOS 公司,在隨后的一年中,Red Hat 將 CoreOS 優(yōu)秀的功能和組件迅速融合到 OpenShift 中。2019 年 7 月 9 日,IBM 又收購了 Red Hat,將其并入混合云部門。未來,IBM 會將 Red Hat 開放式混合云技術(shù)的強(qiáng)大功能和靈活性與 IBM 創(chuàng)新和行業(yè)專業(yè)知識的規(guī)模和深度相結(jié)合,共同推出下一代混合多云平臺,該平臺基于 Linux 和 Kubernetes 等開源技術(shù),允許企業(yè)在本地以及私有和多個(gè)公共云上安全地部署、運(yùn)行和管理數(shù)據(jù)與應(yīng)用。

          無獨(dú)有偶,2020 年 7 月 8 日,開源公司 SUSE 宣布收購 Kubernetes 管理平臺創(chuàng)建者 Rancher Labs。這讓 SUSE 在云原生領(lǐng)域拿到一張重要的門票,同時(shí),Rancher 團(tuán)隊(duì)的加入也彌補(bǔ)了 SUSE 在云原生方面的研發(fā)能力。SUSE 并購 Rancher 之后未來發(fā)展的方向更多的會是云原生技術(shù)和 2B 客戶的需求場景的結(jié)合,加速對非云原生軟件類產(chǎn)品的替代,加速對傳統(tǒng) IT 市場的云化過程。

          而國內(nèi)的金山云則從基礎(chǔ)設(shè)施層面著手,推出了三款全新的產(chǎn)品:金山云星曜裸金屬服務(wù)器、新一代高性能云服務(wù)器和全新極速云盤 ESSD。ESSD 前面已經(jīng)介紹過了,這里主要介紹下裸金屬服務(wù)器。星曜裸金屬服務(wù)器是一種專屬、獨(dú)享的云上物理服務(wù)器,提供超高性能計(jì)算服務(wù)。它跟云服務(wù)器、容器一樣,享受到云的統(tǒng)一管理。并且,在多層安全防護(hù)等級下,它的采購、運(yùn)維、管理跟分布式云計(jì)算現(xiàn)有的服務(wù)互通,可以同時(shí)享受到物理服務(wù)器的優(yōu)秀性能和云服務(wù)器的彈性能力。性能方面主要體現(xiàn)在:

          • 原生裸金屬服務(wù)器,不產(chǎn)生性能損耗,無資源搶占現(xiàn)象,服務(wù)安全、穩(wěn)定、可靠。
          • 最大可支持 50Gbps 帶寬,原生網(wǎng)絡(luò)性能可達(dá)到 3000W PPS。
          • 支持與客戶托管 IDC 區(qū)域的裸金屬服務(wù)器通過 10Tbps 專線互通,形成一個(gè)延遲和收斂比可控的內(nèi)網(wǎng),網(wǎng)絡(luò)效果等同于在同一 IDC 內(nèi)互通。

          除了性能優(yōu)勢外,彈性能力也不容小覷:

          • 可作為傳統(tǒng) IDC 的邏輯擴(kuò)展部分。
          • 支持云容器一體化管理,托管資源與云資源統(tǒng)一管理。
          • 單個(gè)可用區(qū)支持超過 10 萬臺裸金屬云資源擴(kuò)展,突破了機(jī)柜不足的限制。

          如果你很關(guān)心虛擬機(jī)的性能損耗問題,希望將物理服務(wù)器的性能全部發(fā)揮出來,可以選擇金山云的裸金屬服務(wù)器,它默認(rèn)已經(jīng)集成了監(jiān)控、容器、大數(shù)據(jù)等 PaaS 層服務(wù),均支持插件式安裝。其他 PaaS 層服務(wù)也在持續(xù)集成中。

          作為用戶,你也無需擔(dān)心遷移成本,只需要接入裸金屬服務(wù)器的控制臺 API,就可以像管理本地服務(wù)器一樣管理裸金屬服務(wù)器了。

          利用這三大法寶,金山云提供了一站式的商用方案,數(shù)據(jù)庫、大數(shù)據(jù)什么的上云從未如此簡單,不再需要自己瞎折騰,老牛拉破車,越拉腎越虛。。。

          混合云、多云趨勢凸顯

          在公有云的 IaaS 層,先發(fā)者 AWS 是事實(shí)上的標(biāo)準(zhǔn)制定者。所有的公有云廠商推出的云服務(wù)器,都相當(dāng)于“兼容機(jī)”。出于不想被單一廠商鎖定、以及數(shù)據(jù)敏感性等的考慮,用戶在使用云的過程中,越來越呈現(xiàn)混合云、多云的趨勢。

          由于 IaaS 層相當(dāng)于形成了標(biāo)準(zhǔn)化,各用戶也可以利用第三方廠家實(shí)現(xiàn)混合云多云管理。微軟、谷歌 和 AWS 都提供了跨云和混合云的方案。例如谷歌的 Anthos

          Anthos 允許你在私有云中部署,并安裝一個(gè)代理,保持與 Google Cloud Platform(GCP)的加密連接。該代理允許你從 GCP 控制臺管理 Anthos 集群及其工作負(fù)載,部署和擴(kuò)展應(yīng)用程序。

          微軟的 Azure Stack 也有類似的服務(wù):

          它允許你在自己的數(shù)據(jù)中心部署 Azure 服務(wù),有了 Azure 和 Azure Stack 組成的混合云,開發(fā)者就可以基于統(tǒng)一的 Azure 服務(wù)和 DevOps 敏捷開發(fā)流程和工具,開發(fā)最適合業(yè)務(wù)、技術(shù)和合規(guī)要求的應(yīng)用。

          金山云也不甘落后,一方面,金山云提供的銀河專有云,可以滿足用戶將兼容機(jī)方便地部署在自己機(jī)房的訴求;另一方面,金山云利用開源社區(qū)技術(shù),提供了較為簡便的、基于容器的混合云、多云管理方案,便于用戶將 IaaS 層實(shí)現(xiàn)跨云的統(tǒng)一管理。

          如果你覺得這種專有云起步太大了,那也完全不用擔(dān)心,金山云已經(jīng)把專有云做的越來越小型化,從原來的 50 臺服務(wù)器壓縮到了現(xiàn)在的 10 臺,同時(shí)服務(wù)可以選配。這種解決方案在很多場景下對小型私有云平臺有碾壓式的優(yōu)勢,實(shí)現(xiàn)了無縫擴(kuò)展,而且混合云的管理也會非常簡單,因?yàn)楸镜睾瓦h(yuǎn)程資源基本上是一致的。

          隨著云原生的理念越來越深入人心,利用金山云的專有云,客戶可以輕松部署各種高性能的云原生應(yīng)用到私有數(shù)據(jù)中心中,數(shù)據(jù)庫和大數(shù)據(jù)應(yīng)用也不在話下,把云原生的價(jià)值最大化,真香!


          你可能還喜歡

          點(diǎn)擊下方圖片即可閱讀

          Linux Capabilities 與容器的水乳交融

          云原生是一種信仰??



          碼關(guān)注公眾號

          后臺回復(fù)?k8s?獲取史上最方便快捷的 Kubernetes 高可用部署工具,只需一條命令,連 ssh 都不需要!



          點(diǎn)擊?"閱讀原文"?獲取更好的閱讀體驗(yàn)!

          ??給個(gè)「在看」,是對我最大的支持??
          瀏覽 34
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产免费无码不卡看小穴 | 国产亚洲一区二区三区 | 狼友无码| 狼友在线视频观看 | 婷婷色综合 |