1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        阿里云 Serverless Kubernetes 的落地實(shí)踐【內(nèi)含 PPT】

        共 4069字,需瀏覽 9分鐘

         ·

        2021-12-23 17:00

        作者 | 元毅(阿里云容器平臺(tái)高級(jí)開發(fā)工程師)


        點(diǎn)擊關(guān)注 Serverless 公眾號(hào),后臺(tái)回復(fù)“深圳”即可獲得本節(jié)課 PPT!


        導(dǎo)讀



        Kubernetes 作為當(dāng)今云原生業(yè)界標(biāo)準(zhǔn),具備良好的生態(tài)以及跨云廠商能力。Kubernetes 很好的抽象了 IaaS 資源交付標(biāo)準(zhǔn),使得云資源交付變的更簡(jiǎn)單,與此同時(shí)越來越多的用戶期望能夠聚焦于業(yè)務(wù)自身,做到面向應(yīng)用交付,Serverless 理念也因此而生。

        那么如何通過原生 Kubernetes 提供 Serverless 能力?如何借力豐富的云原生社區(qū)生態(tài)?本文給大家介紹一下我們?cè)?Serverless Kubernetes 上的落地實(shí)踐。本文將從以下 3 個(gè)方面展開介紹:

        • 為什么要做Serverless Kubernetes
        • 如何實(shí)現(xiàn)Serverless Kubernetes
        • Serverless Kubernetes 落地實(shí)踐

        ?Serverless Kubernetes 初衷



        1、?Kubernetes


        眾所周知,Kubernetes 是一款開源容器化編排系統(tǒng),用戶使用 Kubernetes 可以做到降低運(yùn)維成本、提高運(yùn)維效率,并且提供標(biāo)準(zhǔn)化 API,某種意義就是避免被云廠商綁定,進(jìn)而形成了以 Kubernetes 為核心的云原生生態(tài)??梢哉f Kubernetes 已然成為了云原生業(yè)界事實(shí)標(biāo)準(zhǔn)。



        2、Serverless 與 Kubernetes


        那么我們回到 Serverless 上面來,Serverless 的核心理念在于讓開發(fā)者更聚焦業(yè)務(wù)邏輯,減少對(duì)基礎(chǔ)設(shè)施的關(guān)注。那么我們?nèi)绾卧谠圃鷺I(yè)界標(biāo)準(zhǔn)之上做 Serverless,Kubernetes 是否也能做到更專注于應(yīng)用業(yè)務(wù)邏輯。


        ?

        3、Kubernetes 做 Serverless 的優(yōu)勢(shì)


        在看一下 Kubernetes 做 Serverless 有什么優(yōu)勢(shì)前,我們先來看一下 Kubernetes 特性包括哪些:


        • 容器化

        • 統(tǒng)一 IaaS 資源交付

        • CI/CD 持續(xù)集成部署

        • 跨云廠商

        • 豐富的生態(tài)

        • 面向應(yīng)用管理


        對(duì)應(yīng)于 Serverless 來說:


        • 事件驅(qū)動(dòng):Kubernetes 支持 job 類型、并圍繞 Kubernetes 提供豐富的事件源

        • 按需使用:Kubernetes 本身支持 hpa 彈性能力

        • 免運(yùn)維、高可用:Kubernetes 可以通過容器化、統(tǒng)一資源交付很好的支持。


        結(jié)合這些來看 Kubernetes 實(shí)現(xiàn) serverless,具備天然優(yōu)勢(shì)。




        如何實(shí)現(xiàn) Serverless Kubernetes



        在 Kubernetes 上實(shí)現(xiàn) Serverless 主要做到一下兩點(diǎn):

        • 向下如何讓用戶減少對(duì)基礎(chǔ)設(shè)施的關(guān)注;
        • 向上如何更聚焦業(yè)務(wù)應(yīng)用。


        這里我們通過 Serverless Framework ,聚焦業(yè)務(wù)應(yīng)用,進(jìn)一步抽象 Kubernetes 資源,提供按需使用自動(dòng)彈性的能力。通過 IaaS 資源免運(yùn)維,減少對(duì)基礎(chǔ)設(shè)施的關(guān)注,做到節(jié)點(diǎn)免運(yùn)維。

        那么 IaaS 資源免運(yùn)維,我們又是如何做的呢?


        1、減少對(duì)基礎(chǔ)設(shè)置的關(guān)注:IaaS 免運(yùn)維


        原生的 Kubernetes 節(jié)點(diǎn)資源需要用戶自行維護(hù),為了降低用戶維護(hù)節(jié)點(diǎn)成本,我們提供了托管節(jié)點(diǎn)池,幫助用戶維護(hù)節(jié)點(diǎn)的生命周期,但用戶還是需要對(duì)托管節(jié)點(diǎn)池策略進(jìn)行維護(hù),更近一步在 Serverless Kubernetes 中通過虛擬節(jié)點(diǎn)結(jié)合彈性容器實(shí)例 ECI,讓用戶徹底擺脫對(duì) IaaS 的運(yùn)維。



        Serverless Kubernetes IaaS 資源免運(yùn)維包括:


        • 基于容器,安全隔離、高移植

        • 無服務(wù)器管理:無需容量規(guī)劃,對(duì)服務(wù)器免運(yùn)維

        • 彈性擴(kuò)容:秒級(jí)擴(kuò)容,無限容器

        • 按需付費(fèi),更高資源利用率



        向下我們通過虛擬節(jié)點(diǎn)結(jié)合 ECI 實(shí)現(xiàn)了 IaaS 資源免運(yùn)維,那么向上如何聚焦業(yè)務(wù)邏輯呢?其實(shí)就是以應(yīng)用為核心。


        2、聚焦業(yè)務(wù)邏輯:以應(yīng)用為核心


        圍繞應(yīng)用來看,無非我們要解這些問題:

        • 應(yīng)用部署
        • 灰度發(fā)布
        • 流量管理
        • 自動(dòng)彈性
        • 可觀測(cè)性以及應(yīng)用的多版本管理

        那么有開箱即用的方案去解嗎?答案是 Knative。


        3、Knative 是什么

        Knative 是基于 Kubernetes 之上提供的一款開源 Serverless 應(yīng)用框架,幫助用戶部署和管理現(xiàn)代化的 Serverless 工作負(fù)載,打造企業(yè)級(jí) Serverless 平臺(tái)。

        Knative 具備如下優(yōu)勢(shì):

        • 在幾秒鐘內(nèi)建立可擴(kuò)展、安全、無狀態(tài)的服務(wù)。
        • 具有更高級(jí)別 Kubernetes 應(yīng)用抽象的 API。
        • 可插拔組件,讓您可以使用自己的日志記錄和監(jiān)控、網(wǎng)絡(luò)和服務(wù)網(wǎng)格。
        • 在 Kubernetes 運(yùn)行的任何地方都可以運(yùn)行 Knative,無需擔(dān)心供應(yīng)商鎖定。
        • 開發(fā)者無縫體驗(yàn),支持 GitOps、DockerOps、ManualOps 等。
        • 支持常用工具和框架,例如 Django、Ruby on Rails、Spring 等。

        Knative 主要包括 2 大核心模塊:Serving 和 Eventing

        Serving 提供了 Service 應(yīng)用模型,支持基于流量的灰度發(fā)布、版本管理、縮容到 0 以及自動(dòng)彈性。

        Eventing 提供事件驅(qū)動(dòng)能力。支持豐富的事件源,以及用于事件流轉(zhuǎn)、過濾的 Broker/Trigger 模型。


        4、為什么是 Knative

        那么我們?yōu)槭裁催x擇 Knative 呢?


        根據(jù) CNCF 2020 中國(guó)云原生調(diào)查報(bào)告,Knative 已經(jīng)成為 Kubernetes 上最廣泛安裝的無服務(wù)器。

        另外 Knative 社區(qū)近期也發(fā)起了一項(xiàng)統(tǒng)計(jì):當(dāng)前哪些云廠商或企業(yè)在提供或者使用 Knative。我們可以看到,幾乎所有的大廠都支持或者集成 Knative, 如阿里云、谷歌云、IBM、Red Hat 等,并且大部分都提供了生產(chǎn)級(jí)別能力(Production),這些跡象表明越來越多的用戶擁抱 Knative。

        此外近期 Knative 已申請(qǐng)成為 CNCF 孵化項(xiàng)目,這無疑讓 Knative 開發(fā)者為之興奮。

        5、Knative 落地挑戰(zhàn)、應(yīng)對(duì)與效果


        從開源到產(chǎn)品化落地,必然會(huì)面對(duì)一些挑戰(zhàn)。Knative 產(chǎn)品化落地主要面對(duì)如下挑戰(zhàn):

        • 管控組件多,運(yùn)維復(fù)雜
        • 0 到 1 冷啟動(dòng)問題
        • 流量請(qǐng)求 1 對(duì) 1 分發(fā)

        那么我們?nèi)绾蝸響?yīng)對(duì)呢?

        我們提供組件托管,幫助用戶節(jié)省資源及運(yùn)維成本;當(dāng)請(qǐng)求為 0 時(shí),縮容到低規(guī)格保留實(shí)例,實(shí)現(xiàn)請(qǐng)求 0 到 1 免冷啟動(dòng),做到成本可控;提供自研事件網(wǎng)關(guān),做到流量的精準(zhǔn)控制。



        Serverless Kubernetes 落地實(shí)踐



        1、落地方案

        結(jié)合上述介紹,向上通過 Serverless Framewok Knative 更聚焦業(yè)務(wù)應(yīng)用,向下通過虛擬節(jié)點(diǎn)減少對(duì)基礎(chǔ)設(shè)施的關(guān)注。這就是我們Serverless Kubernetes 落地方案:圍繞 Kubernetes api, 下線集成云產(chǎn)品的能力,包括消息事件、彈性容器實(shí)例以及日志監(jiān)控等。向上通過 Knative 圍繞應(yīng)用為核心,提供事件驅(qū)動(dòng)、自動(dòng)彈性等能力等。


        2、典型應(yīng)用場(chǎng)景

        最后我們來看一下目前有哪些落地場(chǎng)景,典型的應(yīng)用場(chǎng)景及行業(yè)領(lǐng)域如圖:


        3、落地實(shí)踐:異構(gòu)資源,按需使用

        (1) 客戶痛點(diǎn)

        用戶希望通過 Serverless 技術(shù)按需使用資源,節(jié)省資源使用成本,簡(jiǎn)化運(yùn)維部署 。另外有 GPU 的業(yè)務(wù)訴求。希望使用容器化的 Serverless ,支持使用 GPU 資源,同時(shí)簡(jiǎn)化應(yīng)用運(yùn)維部署(盡可能少的操作 Kubernetes deployment/svc/ingress/hpa等資源),IaaS 資源免運(yùn)維。

        (2) 解決方案


        使用 Knative + ASK 作為 Serverless 架構(gòu)。數(shù)據(jù)采集之后,通過服務(wù)網(wǎng)關(guān)訪問數(shù)據(jù)處理服務(wù),數(shù)據(jù)處理服務(wù)根據(jù)請(qǐng)求量按需自動(dòng)擴(kuò)縮容。


        4、落地實(shí)踐:事件驅(qū)動(dòng),精準(zhǔn)分發(fā)


        某客戶直播系統(tǒng)支持用戶在線互動(dòng)。消息數(shù)據(jù)的處理主要有以下技術(shù)挑戰(zhàn):

        • 業(yè)務(wù)彈性波動(dòng),消息并發(fā)高。
        • 互動(dòng)實(shí)時(shí)響應(yīng),低延遲。

        客戶選擇阿里云的 Knative 服務(wù)進(jìn)行數(shù)據(jù)的彈性處理。應(yīng)用實(shí)例數(shù)隨著業(yè)務(wù)波峰波谷實(shí)時(shí)擴(kuò)容和縮容,真正做到了按需使用,實(shí)時(shí)彈性的云計(jì)算能力。整個(gè)過程完全自動(dòng)化,極大的減少了業(yè)務(wù)開發(fā)人員在基礎(chǔ)設(shè)施上的心智負(fù)擔(dān)。


        總結(jié)



        我們回顧一下本文介紹的主要內(nèi)容:

        首先介紹了為什么在 Kubernetes 提供 Serverless:

        • Kubernetes?已成為云原生業(yè)界標(biāo)準(zhǔn)
        • 面向標(biāo)準(zhǔn) Kubernetes API 進(jìn)行 Serverless 編程

        然后我們?nèi)绾螌?shí)現(xiàn) Serverless ?Kubernetes:

        • IaaS 節(jié)點(diǎn)免運(yùn)維
        • Serverless Framework (Knative)

        最后介紹了 2 個(gè)落地實(shí)踐場(chǎng)景:

        • 異構(gòu)資源,按需使用
        • 事件驅(qū)動(dòng),精準(zhǔn)分發(fā)

        一句話:Serverless Kubernetes 基于 Kubernetes 之上,提供按需使用、節(jié)點(diǎn)免運(yùn)維的 Serverless 能力,讓開發(fā)者真正實(shí)現(xiàn)通過 Kubernetes 標(biāo)準(zhǔn)化 API 進(jìn)行 Serverless 應(yīng)用編程,值得關(guān)注。

        END


        本文整理自 12.04?Serverless Developer Meetup 深圳站?元毅現(xiàn)場(chǎng)分享




        推薦閱讀




        Spring Boot Serverless 實(shí)戰(zhàn)系列部署篇


        用手機(jī)寫代碼,基于 Serverless 的在線編程能力探索


        1.13 南京站 | 2022 開年 Serverless 沉浸式技術(shù)實(shí)踐營(yíng)開始報(bào)名

        獎(jiǎng)勵(lì)看到最后的你


        # 點(diǎn)下在看并參與留言區(qū)互動(dòng);
        # 然后,在公眾號(hào)對(duì)話框內(nèi)發(fā)送
        “杯子”,試試手氣?
        # 本周互動(dòng)獎(jiǎng)品是
        “阿里云代碼馬克杯”。


        ?原文,可觀看 Serverless Meetup 深圳站回放!
        瀏覽 44
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            大吊操逼| 国产成人在线综合豆花 | 久草热播 | 久久久1 男女差差网站 | 久久99精品久久久久久水蜜桃 | 国产伦精品一区二区三区精品 | 巨乳巨乳の少妇あジed2k | 波多野结衣啪啪 | 亚洲无码做爱 | 97人人摸人人操 |