- 資訊首頁(yè) > 互聯(lián)網(wǎng) >
- 云計算PaaS技術(shù)難點(diǎn)解析
最近幾年很多公司實(shí)現了從VMware等傳統虛擬化到IaaS的轉型,很多公司正在或者已經(jīng)建立PaaS平臺。那么從項目研發(fā)角度看,PaaS產(chǎn)品的系統功能應該主要涵蓋哪些,又該如何更好的為應用研發(fā)人員服務(wù)呢?本文由云計算專(zhuān)家bryan根據社區活動(dòng)中的分享交流所整理。
一.PaaS 建議的意義何在,能夠給企業(yè)帶來(lái)哪些價(jià)值?
1. 實(shí)現應用運行環(huán)境的標準化,提升交付速度:通過(guò)容器的鏡像技術(shù)保證開(kāi)發(fā)測試和生產(chǎn)等諸多標準化,避免因應用運行環(huán)境不一致帶來(lái)的各種故障和問(wèn)題,同時(shí),通過(guò)服務(wù)編排實(shí)現運行環(huán)境的自動(dòng)化運維和快速交付,避免傳統方式的應用系統運行復雜、交付周期較長(cháng)等問(wèn)題;
2. 實(shí)現運維過(guò)程的高度自動(dòng)化,降低運維成本:PaaS 平臺提供多種自動(dòng)化運維工具管理應用集群系統,比如智能負載可以實(shí)時(shí)觀(guān)測集群節點(diǎn)的變化并智能修改路由配置,自動(dòng)伸縮可以實(shí)現不同業(yè)務(wù)負載下集群規模的自動(dòng)調整等,多種管理功能的自動(dòng)化減少人工運維工作量,節省運維成本;
3. 有效提升基礎資源的管理水平和硬件利用效率:PaaS 平臺資源的容器是基于操作系統的虛擬化,與 IaaS 基礎環(huán)境實(shí)現解耦,平臺自身的實(shí)現多數是應用較廣的開(kāi)發(fā)框架和標準 API,能夠有效提升資源管理水平,有效避免廠(chǎng)商綁定;同時(shí),合理調整單個(gè)操作系統之上容器密度的有效部署,可以更好提升資源使用率,降低硬件采購成本;
4. 有效實(shí)現軟件研發(fā)的技術(shù)路徑統一和把控研發(fā)質(zhì)量:通過(guò)運行環(huán)境的標準化可真正做到全公司技術(shù)路線(xiàn)的精細把控,做到統一不同項目組的技術(shù)研發(fā)路線(xiàn),通過(guò)部署工具的統一可以做到 CI/CD 思想的有效落地實(shí)施,有效提升軟件研發(fā)過(guò)程的質(zhì)量把控水平;
5. 有效提升公司 IT 架構治理:相較于傳統開(kāi)發(fā)運維各司其職的模式,PaaS 能有效實(shí)現 devops 思維的落地實(shí)施,推動(dòng)企業(yè) IT 流程和人員架構的企業(yè)治理,更好的提升 IT 部門(mén)各個(gè)研發(fā)團隊的整體技術(shù)水平,從而更好的響應業(yè)務(wù)需求。
二. PaaS 的主要技術(shù)有哪些?企業(yè)如何進(jìn)行建設?
PaaS 主要以容器云形式實(shí)現,容器云依賴(lài)容器基礎技術(shù),目前常見(jiàn)的有 Docker 和 garden 兩種類(lèi)型,其中 BAT、京東、華為和網(wǎng)易等互聯(lián)網(wǎng)公司,還有一些大型商業(yè)銀行更多的選擇 docker 技術(shù),當然也不乏 garden 成功案例,但較之 docker 案例相對較少。
獨木難成林,容器要云化形式提供服務(wù),必須以多個(gè)容器形成集群的方式,此時(shí)如何管理和調度集群是一個(gè)重要的任務(wù),這個(gè)任務(wù)由編排引擎進(jìn)行實(shí)現,目前比較流行的有 kubernetes、swarm 等。因此「容器技術(shù) 編排引擎」構成了容器云最初始的框架,當然要達到企業(yè)級應用還需要做更多企業(yè)級的功能,所以就出現了諸如 openshift、阿里飛天、華為等各種以開(kāi)源軟件為基礎構建的多種產(chǎn)品。
那么企業(yè)在建設云的過(guò)程中需要考慮幾個(gè)問(wèn)題:
1)容器技術(shù)的選擇:盡量選擇市場(chǎng)比較流行的開(kāi)源社區和生態(tài)發(fā)展比較完善的技術(shù),編排引擎的框架選擇遵循同樣道理;
2)建設模式:一種方式是購買(mǎi)產(chǎn)品進(jìn)行企業(yè)落地化定制化,一種方式是基于開(kāi)源框架自研,兩種方式各有優(yōu)劣,需要結合企業(yè)自身特點(diǎn)進(jìn)行總體考慮;
3)建設規劃:PaaS 的建設涵蓋很多方面,甚至需要企業(yè)流程和企業(yè) IT 架構的梳理和調整,因此對大中型企業(yè)來(lái)講不可能一蹴而就,需要一個(gè)循序漸進(jìn)的過(guò)程,這也與企業(yè)發(fā)展和自身技術(shù)特點(diǎn)有關(guān)系
三. 容器云的負載均衡如何選擇?
軟件負載有硬件 F5 和軟件 HAProxy、nginx 等。F5 的特點(diǎn)是價(jià)格貴、性能好,一般在物理機和虛擬機化時(shí)間做 LB;nginx 是一款 HTTP 服務(wù)器和反向代理服務(wù)器,可以提供 7 層負載均衡能力,主要應用場(chǎng)景有 web 服務(wù)器、反向代理、負載均衡等
HAProxy 是一款專(zhuān)業(yè)的負載均衡軟件,可提供 4/7 層負載均衡,比 nginx 負載均衡性能好,并發(fā)上也優(yōu)于 nginx。負載均衡的選擇需要和企業(yè)自身特點(diǎn)和具體業(yè)務(wù)場(chǎng)景相關(guān)聯(lián),在 PaaS 的企業(yè)級產(chǎn)品中更多的選擇 HAproxy
四. PaaS 的日志和監控如何進(jìn)行處理?
PaaS 平臺的日志和監控和傳統架構的管理方式?jīng)]有本質(zhì)區別。日志的獲取或采用安裝 agent、或采用工具導出,業(yè)界已經(jīng)都有很多成熟的產(chǎn)品和案例可以借鑒;監控分兩部分,先要解決「監」的問(wèn)題,同樣也需要利用工具抓取信息,然后解決「控」,要么利用自動(dòng)化運維的模式,要么采用手工的模式,目的其實(shí)一樣,區別在于成本控制。
PaaS 可以從系統、網(wǎng)絡(luò )、服務(wù)、應用監控 4 個(gè)層面入手:
1. 系統主要指底層基礎資源,如磁盤(pán)、CPU、硬件或 IaaS 等基礎資源
2. 網(wǎng)絡(luò )一般采用 SDN 的方式實(shí)現,監控比較復雜,主要有連通性、流量、7 層狀態(tài)碼等
3. 服務(wù)主要是指 PaaS 中的各種中間件服務(wù)服務(wù),比如數據庫服務(wù)、緩存服務(wù)、web 應用服務(wù)等
4. 應用監控是最上層的也是非常重要的,比如應用服務(wù)質(zhì)量、響應時(shí)間、請求成功率等
五. PaaS 如何更好的實(shí)現 CI/CD,實(shí)現應用敏捷開(kāi)發(fā)
PaaS 平臺的一個(gè)核心理念是為應用提供各種基礎中間件服務(wù)和進(jìn)行應用集群的管理。devops 是一種貫徹項目研發(fā)全生命周期的軟件研發(fā)理論,打破傳統的研發(fā)部門(mén)和運維部門(mén)涇渭分明的現象,盡量實(shí)現團隊將研發(fā)和運維進(jìn)行統一結合的模式,這種理念落地實(shí)施需要借助一定工具。CI 是持續集成,可以實(shí)現代碼自動(dòng)化的靜態(tài)檢查、動(dòng)態(tài)檢查、安全檢查和單元測試、集成測試等功能,從而實(shí)現代碼的盡快盡早集成,減少后期發(fā)現問(wèn)題的概率、降低項目風(fēng)險;CD 是持續部署或者持續發(fā)布,這種持續部署采用自動(dòng)化工具,能夠有效提高系統環(huán)境的部署效率和升級更新時(shí)業(yè)務(wù)的連續性。
jenkins 可視作一個(gè)平臺,在這個(gè)平臺中一方面可以用戶(hù)定制各種插件,一方面可以將所有的工作以流程化的形式 (pipeline) 串聯(lián)起來(lái)。這樣可以將 CI/CD 的思維通過(guò) jenkins 的落地實(shí)施來(lái)貫徹執行,同時(shí) CI/CD 有多種自動(dòng)化管理功能,而 PaaS 中的相關(guān)系統部署或者更新升級或者項目研發(fā)過(guò)程使用的環(huán)境都可以自動(dòng)化,于是二者可以很好的進(jìn)行關(guān)聯(lián)。
Devops 理念的落地實(shí)現,可通過(guò) jinkins 中配置自動(dòng)化的 CI/CD 流程,更好的與 PaaS 進(jìn)行深度集成,從而提高軟件研發(fā)效率和軟件研發(fā)質(zhì)量。詳情可以參考鏈接
六. PaaS 的研究過(guò)程中有哪些關(guān)鍵技術(shù)點(diǎn)和難點(diǎn),一般市場(chǎng)是如何選擇的?
PaaS 作為一個(gè)綜合性的平臺,在以」容器 編排引擎」的基礎上有諸多關(guān)鍵技術(shù)點(diǎn)和難點(diǎn),本次主要以開(kāi)源框架和一些市場(chǎng)產(chǎn)品為依托,主要講述關(guān)鍵點(diǎn)的實(shí)現
1. 容器技術(shù)的選擇:容器技術(shù)是整個(gè)平臺的基石,猶如開(kāi)發(fā) web 需要選擇開(kāi)發(fā)語(yǔ)言一樣,目前有 docker 和 garden 兩種主流技術(shù),自研技術(shù)選擇時(shí)盡量選擇技術(shù)相對成熟、企業(yè)應用案例相對較多、技術(shù)生態(tài)圈發(fā)展更多的技術(shù),一般建議選擇 docker,如果華為的 PaaS 產(chǎn)品初期選擇 garden,目前也已轉向了 docker,docker 已經(jīng)成為一種事實(shí)上的標準。
2. 編排引擎的選擇:編排引擎的選擇一般會(huì )依賴(lài)容器技術(shù)路線(xiàn)的選擇,比如 docker 容器可以選擇 kubernetes、swarm 等框架,garden 可以選擇 cloud foundry,并且僅此選擇。在 BAT、華為、京東等互聯(lián)網(wǎng)公司中,選擇 docker 系的產(chǎn)品更多的選擇了 kubernetes,或許源于此框架出自 google 大家之手
3. 元數據存儲的框架選擇:由于整個(gè) PaaS 的元數據需要一個(gè)高可用的存儲結構,以便用作服務(wù)發(fā)現或共享元數據配置的相關(guān)元數據信息?;?zookeeper 的性能和復雜性等問(wèn)題考慮,更多的選擇 etcd 框架進(jìn)行使用,openshift、阿里等產(chǎn)品均采用了此框架
4.PaaS 容器網(wǎng)絡(luò )的選擇:容器的網(wǎng)絡(luò )隔離是 PaaS 資源隔離的一個(gè)重要組成部分,每個(gè)容器的網(wǎng)絡(luò )多采用內部 SDN 網(wǎng)絡(luò ),SDN 網(wǎng)絡(luò )的實(shí)現技術(shù)各不相同,一般主要考慮因素是網(wǎng)絡(luò )的性能和網(wǎng)絡(luò )變化的靈活性等因素。開(kāi)源 kubernetes 采用 flannel 框架,openshift 的產(chǎn)品中考慮到網(wǎng)絡(luò )性能等采用了 open vswitch,京東在經(jīng)過(guò)各種研究后采用了基于 BGP 路由方式的 Calico
5.CI/CD 的工具選擇:隨著(zhù)最近幾年微軟對 docker 技術(shù)的支持力度加大,各種產(chǎn)品,比如 window server 2016、TFS 等逐漸實(shí)現對 docker 的支持。TFS(team foundation server)的產(chǎn)品定位與 jenkins 類(lèi)似。所以在 CI/CD 的技術(shù)落地過(guò)程中可以選擇 TFS 或者 jenkins,不過(guò)大家更廣發(fā)的采用 jenkins,并且有研發(fā)能力的均對其進(jìn)行一定程度的插件研發(fā)和定制
6. 日志框架的選擇:在集群環(huán)境中如何管理不同節點(diǎn)的日志是一個(gè)重要的問(wèn)題,并且目前有一套成熟的解決方案。ElasticSearch Logstash Kinana(ELK)已成為一種通用解決方案
7. 負載均衡的選擇:負載均衡需要在容器集群的容器成員發(fā)生變化時(shí)能夠自動(dòng)感知和自動(dòng)修改路由策略,硬件 F5 和軟負載 HAProxy、Nginx 均可做負載均衡,鑒于 HAProxy 的靈活性,更多的產(chǎn)品或者企業(yè)落地均選擇了 HAProxy
8. 域名的使用:容器集群中的某個(gè)應用可以視作一個(gè)對外提供的服務(wù),如果采用 IP,一方面不方便記憶,一方面 IP 有可能改變,因此 PaaS 產(chǎn)品多采用泛域名的形式,將對外提供服務(wù)的 IP 地址和域名關(guān)聯(lián)對應,然后再提供一個(gè) route 記錄對外提供服務(wù)的 IP 地址(frontend)和內部集群 IP 地址(backend),這樣就可以實(shí)現從外部域名到內部集群 IP 地址的訪(fǎng)問(wèn)。
PaaS 平臺的建議是一個(gè)長(cháng)期的過(guò)程,需要不斷持續的進(jìn)行迭代優(yōu)化,并且隨著(zhù)在 PaaS 之上運行應用系統的增多和使用經(jīng)驗的不斷豐富,對 PaaS 平臺會(huì )有更多深入的認知和體會(huì )。因此我們也希望論壇上從事這塊研究和實(shí)踐的朋友能夠更多的進(jìn)行技術(shù)交流,從而加深技術(shù)了解,讓 PaaS 在企業(yè)內部更好的發(fā)揮其價(jià)值和優(yōu)勢。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站