内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

宜信開源|詳解PaaS平臺LAIN的功能和架構(gòu)-創(chuàng)新互聯(lián)

【技術(shù)沙龍002期】數(shù)據(jù)中臺:宜信敏捷數(shù)據(jù)中臺建設(shè)實(shí)踐|宜信技術(shù)沙龍 將于5月23日晚8點(diǎn)線上直播,點(diǎn)擊報名

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),鳳陽企業(yè)網(wǎng)站建設(shè),鳳陽品牌網(wǎng)站建設(shè),網(wǎng)站定制,鳳陽網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,鳳陽網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

LAIN是宜信公司大數(shù)據(jù)創(chuàng)新中心開發(fā)的開源PaaS平臺。在金融的場景下,LAIN 是為解放各個團(tuán)隊和業(yè)務(wù)線的生產(chǎn)力而設(shè)計的一個云平臺。LAIN 為宜信大數(shù)據(jù)創(chuàng)新中心各個團(tuán)隊提供了統(tǒng)一的測試和生產(chǎn)環(huán)境,簡化了服務(wù)的部署與上線流程,也降低了運(yùn)維人員對系統(tǒng)管理的復(fù)雜度。

一、設(shè)計理念及解決問題

LAIN 規(guī)范了一個應(yīng)用的開發(fā)、測試、上線工作流,提供了為應(yīng)用做的容器編排、權(quán)限控制、SDN、流量管理、監(jiān)控報警、備份、日志等 devops 問題的整體解決方案。

在 LAIN 上,應(yīng)用是一個基本的概念,某個應(yīng)用的開發(fā)者只需要定義一個 lain.yaml 即可定義應(yīng)用的編譯和運(yùn)行方式,對應(yīng)用代碼侵入性很低。LAIN 基于容器技術(shù),面向多樣化的技術(shù)棧,并且天然隔離系統(tǒng)和應(yīng)用的依賴。

當(dāng) LAIN 用戶創(chuàng)建一個應(yīng)用(服務(wù))時,可以到 LAIN 上注冊該應(yīng)用,當(dāng)前的用戶自動成為了該應(yīng)用的維護(hù)者,擁有了進(jìn)一步操作該應(yīng)用的權(quán)限。構(gòu)建應(yīng)用的環(huán)境需要 docker 和 lain 命令行工具,為了方便,我們創(chuàng)建了一個 vagrant box 即 lain-box. 在構(gòu)建應(yīng)用時,除了工程代碼外,還需要一個 Docker 鏡像作為基礎(chǔ)鏡像,即編譯的環(huán)境。如果是二進(jìn)制的工程,如 golang,則可以在運(yùn)行時換掉一個底,否則會使用 build 鏡像為 release 鏡像。準(zhǔn)備好鏡像和編譯/運(yùn)行的腳本后,就可以編輯 lain.yaml 了。

具體來說,LAIN 解決了以下四個問題:

1、應(yīng)用開發(fā)之下的devops問題的整體解決方案

常見問題

  • 面對用戶的應(yīng)用級開發(fā)僅僅是冰山一角,在此之下有機(jī)房、網(wǎng)絡(luò)、服務(wù)器、系統(tǒng)管理、運(yùn)維管理、監(jiān)控、告警、日志等等一系列背后的工作,而這部份的工作可能比應(yīng)用級開發(fā)還要復(fù)雜
  • 采用IaaS解決了服務(wù)器采購和上架問題,但是依然需要一個強(qiáng)大的devops團(tuán)隊來負(fù)責(zé)上述事務(wù),否則基礎(chǔ)設(shè)施很容易成為發(fā)展瓶頸,且越拖越難解決
  • 上面的這些工作對于每一個產(chǎn)品可能都是同質(zhì)化但又伴隨著定制,會消耗大量的時間做這些重復(fù)的工作

Lain是怎么做的

  • 直接在幾乎裸的IaaS或者服務(wù)器上即可構(gòu)建lain集群,方便地進(jìn)行在線的擴(kuò)容縮容等集群底層資源操作
  • 整合了業(yè)界沉淀下來的良好的運(yùn)維整體實(shí)踐,提供了冰山下的這一大塊工作的整體解決方案
  • 將紛繁復(fù)雜的系統(tǒng)管理和運(yùn)維管理行為封裝為更簡單易用的工具包,極大簡化大部分的系統(tǒng)工作,降低日常維護(hù)的技術(shù)門檻和人力需求
  • 將同質(zhì)化的工作整合在一起,避免重復(fù)勞動
  • 開箱即用的各種管理組件,囊括了部署,擴(kuò)容,監(jiān)控,告警,日志等方方面面。還有附贈應(yīng)用,包括mysql,redis的集群服務(wù)

2、規(guī)范了應(yīng)用開發(fā)的工作流程,并輔以適當(dāng)?shù)腟CM支援

常見問題

  • 在個人開發(fā)者以及startup組織中,良好的工作流這件事幾乎是不會被提及的,然而在日漸發(fā)展的過程中遺留的技術(shù)債務(wù)卻會越來越多的影響開發(fā)部署的效率和質(zhì)量
  • 設(shè)計、開發(fā)和部署行為的不規(guī)范會引發(fā)各種問題

Lain是怎么做的

  • 提供本地開發(fā)環(huán)境的解決方案
  • 提供本地開發(fā)過程的SDK / CLI工具鏈,使得開發(fā)和構(gòu)建過程是嵌入在解決方案中的
  • 隱性的提供了SCM支援,約束了開發(fā)者的開發(fā)和發(fā)布行為

3、提高整體資源利用率,優(yōu)化冗余資源池

常見問題

  • 傳統(tǒng)的按照產(chǎn)品線規(guī)劃資源池的情況下,會給各產(chǎn)品預(yù)留專屬的資源池以及配備冗余,以便進(jìn)行災(zāi)備以及服務(wù)突發(fā)流量
  • 然而各產(chǎn)品線的資源需求類型不同,冗余類型也不同,無法共通共享,造成眾多的重復(fù)冗余,資源利用率比較低
  • 通過服務(wù)器資源的冗余,擴(kuò)容縮容,以及資源遷移的操作比較復(fù)雜,時間消耗大,風(fēng)險高

Lain是怎么做的

  • 通過容器技術(shù)的資源隔離和控制,實(shí)現(xiàn)多種技術(shù)棧多種應(yīng)用在集群內(nèi)安全的不相互影響的混合部署,通過統(tǒng)一的資源池進(jìn)行冗余,有效提高資源利用率
  • 容器技術(shù)的運(yùn)用使得對下資源的使用形成完全統(tǒng)一的形式,擴(kuò)容縮容以及遷移的成本很低,操作也更簡單。

4、TBD:架構(gòu)上提供了服務(wù)治理的可能性和解決方案

二、特征

在應(yīng)用的層面上,LAIN 還有以下特征:

1、基于配置文件定義應(yīng)用

  • 在現(xiàn)有的應(yīng)用上只需要增加一個配置文件lain.yaml即可定義應(yīng)用在lain集群里的編譯和運(yùn)行
  • 對應(yīng)用代碼的侵入性很低

2、SDN網(wǎng)絡(luò)安全隔離

  • 使用開源的calico(https://github.com/projectcalico/calico)項目構(gòu)建SDN網(wǎng)絡(luò)
  • 高效率的應(yīng)用內(nèi)網(wǎng)絡(luò)互通
  • 應(yīng)用間網(wǎng)絡(luò)默認(rèn)隔離
  • 顯式聲明應(yīng)用間的服務(wù)互訪

3、基于容器技術(shù)支持多樣化的技術(shù)棧

  • 使用開源的docker項目構(gòu)建容器云
  • 擴(kuò)展封裝Dockerfile,使用自定義的yaml格式進(jìn)行應(yīng)用的集群定義
  • 只需符合最簡單的lain cluster runtime interface,可自由選擇base image
  • 容器技術(shù)天然的支持隔離系統(tǒng)和應(yīng)用的依賴
    • lain SDK / CLI以及可選的ci組件支援代碼版本和鏡像之間的對應(yīng)關(guān)系
    • 編譯時和運(yùn)行時鏡像均可完全定制和隔離

4、應(yīng)用在線擴(kuò)容縮容

  • 使用開源的swarm調(diào)度應(yīng)用部署
  • 深度封裝swarm docker API,自行開發(fā)集群控制器(deployd)以及應(yīng)用控制器(console)
    • 直接支持用戶API調(diào)用進(jìn)行容器實(shí)例數(shù)擴(kuò)容,縮容
    • 直接支持用戶API調(diào)用進(jìn)行容器單實(shí)例資源的擴(kuò)容,縮容(CPU,MEM)

5、節(jié)點(diǎn)在線擴(kuò)容縮容

  • 使用開源的ansible(https://github.com/ansible/ansible)開發(fā)集群管理運(yùn)維工具包
  • 集群的服務(wù)器節(jié)點(diǎn)(NODE)兼容同一個C段內(nèi)的物理服務(wù)器,虛擬機(jī),公有云服務(wù)器
  • 集群管理工具包支持add NODE 和 remove NODE 指令,快速進(jìn)行底層資源擴(kuò)容和縮容

6、服務(wù)自動維持和災(zāi)難恢復(fù)

  • 自行開發(fā)集群控制器(deployd)
    • 容器實(shí)例級別的服務(wù)巡檢和維持,自動遷移和服務(wù)恢復(fù)
    • 基于虛ip自動漂移的入口load balancer HA
    • 高級API支持服務(wù)定制遷移

7、內(nèi)部服務(wù)依賴和發(fā)現(xiàn)機(jī)制

  • 集群支援Service / Resource 機(jī)制
    • 集群整體的服務(wù)應(yīng)用
    • 應(yīng)用私有Service (即 Resource)服務(wù)應(yīng)用
  • 集群支援特別的服務(wù)應(yīng)用類型和資源應(yīng)用類型
  • 在lain.yaml中顯式聲明使用的Service / Resource
    • 基于DNS的服務(wù)發(fā)現(xiàn)機(jī)制
    • 可編程的service/resource load balancer
    • 默認(rèn)提供可用的RoundRobin類型的load balancer

8、統(tǒng)一認(rèn)證

  • 集群自行開發(fā)統(tǒng)一認(rèn)證組件(sso)
  • 支持oauth3的多種認(rèn)證方式

9、虛ip和負(fù)載均衡器統(tǒng)一管理

  • 支援 virtual ip 和 應(yīng)用 proc 的注冊,應(yīng)用可注冊 virtual ip 來進(jìn)行對外服務(wù)
  • 基于etcd lock機(jī)制的virtual ip 漂移機(jī)制,應(yīng)用 load balancer 可借此實(shí)現(xiàn) HA

10、web load balancer的自動配置

  • 使用開源的nginx和tengine(https://github.com/alibaba/tengine)封裝web服務(wù)的負(fù)載均衡器
  • 自研的watcher檢測集群應(yīng)用的整體 runtime 數(shù)據(jù),自動為 web 服務(wù)生成配置
    • 獲取runtime變化的時間,判斷是否需要進(jìn)行配置變更
    • 配置變更事件出發(fā)配置的渲染
    • 觸發(fā) reload 生效

11、集群體系化的日志收集

  • 使用開源的 heka(https://github.com/mozilla-services/heka)配合docker的配置以及rsyslog封裝集群整體日志收集
  • 默認(rèn)收集應(yīng)用的stdout / stderr日志收集
  • 支援應(yīng)用顯式聲明需要收集的落地文件日志
  • 支援應(yīng)用顯式聲明結(jié)構(gòu)化的監(jiān)控數(shù)據(jù)日志
  • 定制檢測web服務(wù)load balancer的nginx日志收集和數(shù)據(jù)統(tǒng)計

12、私有docker registry以及認(rèn)證機(jī)制

  • 使用開源的docker registry封裝私有 registry 應(yīng)用
  • 集成支援集群的私有統(tǒng)一認(rèn)證機(jī)制
  • 定制支援可選的moosefs存儲后端或者Ceph存儲后端

13、應(yīng)用配置加密存儲

  • 使用開源的庫封裝的應(yīng)用私有配置加密存儲組件
  • 集成sso組件實(shí)現(xiàn)用戶管理和權(quán)限隔離
  • 在應(yīng)用運(yùn)行時階段將配置注入

14、本地化開發(fā)環(huán)境

  • 使用開源的vagrant,免費(fèi)的centos和virtualbox組織統(tǒng)一的本地化開發(fā)環(huán)境
  • 甚至支援本地使用上述工具鏈bootstrap出一個lain本地集群

15、應(yīng)用部署運(yùn)維API以及相應(yīng)的CLI客戶端

  • 應(yīng)用的構(gòu)建,發(fā)布,部署,運(yùn)維都由集群的各組件提供API
  • 使用lain SDK / CLI再次封裝上述API,給用戶提供良好的操作界面
  • 集成集群的統(tǒng)一認(rèn)證,進(jìn)行用戶管理和權(quán)限隔離

宜信開源|詳解PaaS平臺LAIN的功能和架構(gòu)

16、集群管理CLI

  • 使用開源的ansible開發(fā)集群管理運(yùn)維工具包
  • 再次封裝ansible調(diào)用為簡單的CLI使得操作更方便,包括增加節(jié)點(diǎn),移除節(jié)點(diǎn),遷移應(yīng)用,集群健康檢查等。

17、規(guī)范化的開發(fā)workflow

  • 基于上述組件,以代碼 - 鏡像的一一對應(yīng)關(guān)系進(jìn)行SCM,對鏡像進(jìn)行發(fā)布管理
  • 使用lain SDK / CLI以及可選的ci組件進(jìn)行本地開發(fā),構(gòu)建發(fā)布,會很自然的規(guī)范開發(fā)workflow
  • 工作流運(yùn)轉(zhuǎn)的核心單位是鏡像,lain cli封裝了鏡像的生成,更新,推送,部署,運(yùn)維
    宜信開源|詳解PaaS平臺LAIN的功能和架構(gòu)

18、可選的集群體系化的備份和恢復(fù)(backupd + moosefs)

  • 采用開源的moosefs作為分布式存儲后端
  • 支援在lain.yaml中顯式聲明volume備份需求和策略,以及設(shè)定備份策略的hooks
  • 支援指定備份恢復(fù)

19、可選的集群日志查詢組件(kafka + elasticsearch + kibana)

  • 采用開源的kakfa ,elasticsearch,kibana搭建外部依賴的卡夫卡集群和elasticsearch集群,封裝集群可選組件libana
  • rebellion集群日志收集組件支援發(fā)送所有日志到上述外部依賴kafka
  • 在libana上支援對集群應(yīng)用日志和web load balancer 日志的條件組合查詢

20、可選的系列預(yù)置應(yīng)用

  • MySQL的服務(wù)(https://github.com/laincloud/mysql-service)
  • MySQL的資源
  • Redis的服務(wù)-SM(https://github.com/laincloud/redis-service-sm)

三、系統(tǒng)架構(gòu)

1、物理視圖

從物理層面看,每一個 lain 集群是由一個或多個網(wǎng)絡(luò)互通的節(jié)點(diǎn)(Node)構(gòu)成的。

宜信開源|詳解PaaS平臺LAIN的功能和架構(gòu)

每個節(jié)點(diǎn)可以被賦予不同的 label ,供容器調(diào)度時進(jìn)行節(jié)點(diǎn)選擇使用。
目前的實(shí)現(xiàn)中,需要所有節(jié)點(diǎn)位于同一個路由器后。

2、邏輯視圖

從邏輯層面看,一個 lain 集群是由多個應(yīng)用組成,應(yīng)用和應(yīng)用之間網(wǎng)絡(luò)相互隔離(通過SDN技術(shù))。

宜信開源|詳解PaaS平臺LAIN的功能和架構(gòu)

每一個應(yīng)用是由多個 Docker 容器組成,每個容器都可能運(yùn)行在不同的節(jié)點(diǎn)上。

宜信開源|詳解PaaS平臺LAIN的功能和架構(gòu)

應(yīng)用開發(fā)者可以在一個應(yīng)用中定義多種容器(稱為 proc),每個 proc 可以指定為在集群上運(yùn)行多份,每份即為一個容器,被稱為 proc instance 。Lain 集群會盡可能保證有指定份數(shù)的容器在運(yùn)行,如果有容器 crash 或者節(jié)點(diǎn) fail 的情況發(fā)生,集群會試圖重啟容器或者在節(jié)點(diǎn)間遷移容器。

3、系統(tǒng)架構(gòu)設(shè)計圖

目標(biāo)是做成一層一層可以深入的架構(gòu)圖

總圖

宜信開源|詳解PaaS平臺LAIN的功能和架構(gòu)

節(jié)點(diǎn)

宜信開源|詳解PaaS平臺LAIN的功能和架構(gòu)

4、工作流程

宜信開源|詳解PaaS平臺LAIN的功能和架構(gòu)

GitHub地址:https://github.com/laincloud

白皮書:https://laincloud.gitbooks.io/white-paper/content/

來源宜信技術(shù)學(xué)院

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁名稱:宜信開源|詳解PaaS平臺LAIN的功能和架構(gòu)-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://www.rwnh.cn/article32/cejpsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、外貿(mào)建站、域名注冊營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
湛江市| 明溪县| 伊川县| 繁峙县| 白水县| 资阳市| 乌兰浩特市| 蛟河市| 兰西县| 彰武县| 兰坪| 任丘市| 靖宇县| 余庆县| 浦东新区| 海伦市| 敦煌市| 潍坊市| 象山县| 娄底市| 宝坻区| 太保市| 安溪县| 凤山市| 阜平县| 新乡县| 洛阳市| 泽库县| 建湖县| 景洪市| 绥江县| 韩城市| 洞口县| 阿拉善左旗| 巴马| 东光县| 碌曲县| 康乐县| 北宁市| 墨玉县| 东阳市|