<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>

          Golang 開發(fā)的一站式云原生 PaaS 平臺 —— Erda

          共 2564字,需瀏覽 6分鐘

           ·

          2021-06-24 00:20

          Erda 是什么?


          Erda 是端點(diǎn)開源的一站式云原生 PaaS 平臺,具備 DevOps、微服務(wù)治理、多云管理以及快數(shù)據(jù)管理等平臺級服務(wù)。以容器服務(wù)作為底座,憑借云原生的優(yōu)勢,為企業(yè)打造一個(gè)完整的技術(shù)平臺,助力于數(shù)字化轉(zhuǎn)型。

           

          Erda 產(chǎn)品架構(gòu)圖如下:


           

          Erda 解決了什么問題?


          Erda 本身已經(jīng)不是一個(gè)單品,涵蓋了非常多的產(chǎn)品功能模塊。我們可以從兩個(gè)視角來看下 Erda 解決的問題。


          面向開發(fā)者

          Erda 內(nèi)置了流水線服務(wù),從代碼構(gòu)建、測試到部署提供了全自動化的 CI/CD 功能。在部署側(cè),Erda 以應(yīng)用為中心的思路,通過聲明式的方式,讓開發(fā)者用簡潔的語言描述整個(gè)應(yīng)用的依賴及部署過程,最終一鍵完成整個(gè)應(yīng)用的部署。

           

          這整個(gè)過程,Erda 引入了基礎(chǔ)設(shè)施即代碼(IaC)的理念,抽象了兩個(gè)配置文件:

          · pipeline.yaml: 來描述整個(gè)流水線;

          · erda.yaml: 來描述整個(gè)應(yīng)用的部署依賴及過程,比如應(yīng)用依賴的中間件、配置等。

           

          這兩個(gè)配置文件最終會沉淀到應(yīng)用代碼倉庫中,伴隨整個(gè)應(yīng)用的生命周期,之后應(yīng)用的變更、遷移都操作都可一鍵完成。

           

          上面提到的整個(gè) CI/CD 流程都是運(yùn)行在 Erda 自研的異構(gòu)調(diào)度引擎之上,這層引擎很好的屏蔽了底層細(xì)節(jié),比如開發(fā)者不需要關(guān)心底層是否使用的是 Kubernetes,采用的什么分布式存儲、網(wǎng)絡(luò)等等。

           

          通過這幾方面,都很大程度的降低了開發(fā)者的心智,對全流程進(jìn)行提效,讓開發(fā)者專注于自身業(yè)務(wù)代碼。


          面向企業(yè)

          企業(yè)的支撐平臺,有個(gè)很重要的核心就是為企業(yè)降本增效。前面提到的面向開發(fā)者提效,就是其一,但除了這個(gè),企業(yè)還會面臨很多其他的問題:

           

          · 基礎(chǔ)設(shè)施多樣性,比如越來越多的云廠商,自建 IDC 等,導(dǎo)致管理成本高,應(yīng)用遷移上云困難;

          · 軟件架構(gòu)多樣性,比如傳統(tǒng)行業(yè)會有大量的軟件供應(yīng)商、集團(tuán)內(nèi)部會有很多研發(fā)團(tuán)隊(duì),攀隨著 IT 技術(shù)層出不窮,企業(yè)內(nèi)部就會有大量煙囪式的軟件系統(tǒng),業(yè)務(wù)協(xié)同困難、數(shù)據(jù)孤島嚴(yán)重等;

          · 迭代升級緩慢,缺乏統(tǒng)一的管理規(guī)范、方法論,導(dǎo)致企業(yè)無法持續(xù)迭代,無法持續(xù)性的創(chuàng)新;

          · 無法安全生產(chǎn),缺乏有效的手段,保障業(yè)務(wù)穩(wěn)定性。

          · 等等

           


          所有的這些,最終都可以轉(zhuǎn)換成基礎(chǔ)資源 + 應(yīng)用系統(tǒng) + 組織角色之間的協(xié)同問題。Erda 就是提供了這樣一個(gè)平臺,來解決這堆問題,幫助企業(yè)管理者能更好的控成本、盯穩(wěn)定、提效能。

           

          架構(gòu)演進(jìn)




          Erda 誕生就是一個(gè)單體應(yīng)用,容器服務(wù)的底座我們選擇了 DC/OS。DC/OS 的內(nèi)核是 Mesos,Mesos 使用了雙層調(diào)度機(jī)制,第一層調(diào)度先將 Node 分配給 Framework,之后 Framework 再進(jìn)行二次調(diào)度,而在 Mesos 之上可以有多個(gè) Framework 進(jìn)行并行調(diào)度。在我們進(jìn)行容器編排選型時(shí),Mesos 除了有 Metronome、marathon 等服務(wù)、任務(wù)的調(diào)度框架,還有不少大數(shù)據(jù)的,這與我們的產(chǎn)品路線圖一拍即合,而當(dāng)時(shí) Kubernetes 還沒那么成熟,所以我們毅然選擇了 DC/OS。

           

          隨著產(chǎn)品復(fù)雜度的提升,團(tuán)隊(duì)規(guī)模越來越大,迭代效率及穩(wěn)定性訴求的日益劇增,我們對整個(gè)產(chǎn)品架構(gòu)進(jìn)行了升級。把龐大的單體應(yīng)用進(jìn)行了模塊化拆分,細(xì)分了多個(gè)微服務(wù)組件,并獨(dú)立了一層異構(gòu)調(diào)度引擎,用于屏蔽底層的技術(shù)細(xì)節(jié),便于未來進(jìn)行擴(kuò)展。果不其然 Kubernetes 超越了 DC/OS、swarm 等技術(shù),成為了事實(shí)標(biāo)準(zhǔn),我們也在很短的時(shí)間內(nèi)將了 Kubernetes 切成 Erda 的默認(rèn)容器底座。

           

          Erda 開源之后,我們意識到需要進(jìn)一步的新架構(gòu)改進(jìn)。Erda 的產(chǎn)品體系已經(jīng)越來越豐富,雖然我們進(jìn)行了組件拆分,但當(dāng)前架構(gòu)還是有不少歷史債,并沒有足夠模塊化,組件之間也沒有松耦合,導(dǎo)致了我們的幾大平臺根本無法獨(dú)立部署。近期我們已經(jīng)開啟了新一輪的架構(gòu)改進(jìn),結(jié)合我們的產(chǎn)品體系,重新梳理我們的架構(gòu),讓組件拆分更合理,采用高內(nèi)聚低耦合的設(shè)計(jì)來解決我們當(dāng)前的問題。

           

          開發(fā)語言演進(jìn)



          起初我們選擇了語法簡潔的 kotlin 開始了 Erda 平臺的第一行代碼,kotlin 和 Java 的交互性很好,可以無縫連接,這也方便了我們進(jìn)行團(tuán)隊(duì)建設(shè),身邊的 Java 小伙伴基本可以無成本的開始投入 Erda 從 0 到 1 的建設(shè)。

          隨著容器技術(shù)的火熱, Kubernetes 的爆發(fā),一舉成為了容器編排領(lǐng)域的事實(shí)標(biāo)準(zhǔn),這也成就了 go 這個(gè)新生語言,讓其成為最適合云原生時(shí)代的編程語言。當(dāng)然我們也緊跟潮流,著手將所有的 kotlin 代碼切至了 go。

          事實(shí)證明我們的選擇是對的,go 語言足夠簡單易學(xué),天生支持并發(fā),垃圾回收等功能,還有豐富的標(biāo)準(zhǔn)庫,相比較于 Java 也更輕量。

           

          Erda 發(fā)展至今,已經(jīng)有近 70 多萬行 go 代碼,未來也會繼續(xù)基于 go 發(fā)光發(fā)亮。

           

          總結(jié)


           

          在過去的幾年,Erda 不僅完成了四大核心產(chǎn)品體系的建設(shè),還在大量頭部客戶完成了落地,今天的 Erda 已經(jīng)足夠成熟。在數(shù)字時(shí)代的浪潮下,企業(yè)對數(shù)字化轉(zhuǎn)型以及企業(yè)級的軟件架構(gòu)需求越來越高,Erda 選擇了開源并建設(shè) Erda Cloud,希望能夠盡綿薄之力幫助到更多的企業(yè)。未來 Erda 將不斷夯實(shí)技術(shù)基礎(chǔ),做具備全球影響力的產(chǎn)品。讓更多技術(shù)人看見、邀更多優(yōu)秀人才加入、歡迎更多企業(yè)一起免費(fèi)試用。

           

          Erda 開源地址:https://github.com/erda-project/erda

          Erda Cloud 官網(wǎng):https://www.erda.cloud

           

           Gopher China2021大會日程詳情來了!



          點(diǎn)擊下方「閱讀原文」即可報(bào)名參加大會


          瀏覽 125
          點(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>
                  久久綜合很很很 | 黄色色情网战在线观看 | 欧美美女后进式插逼视频 | 黄色国产视频 | 亚洲欧美日韩久久 |