2019年軟件研究院新員工天宮平臺概述及核心技術培訓課件.pdf
下載文檔
上傳人:地**
編號:1268102
2024-12-16
65頁
2.93MB
該文檔所屬資源包:
大數據互聯網軟件研究院新員工規章制度信息安全5G基礎知識培訓課件資料
1、2019年7月目錄天宮架構介紹天宮是什么天宮誕生背景124應用效果如何上天宮案例分享356天宮:全棧化、大型企業級、私有云平臺專業隊伍全棧化最佳實踐 IaaS:計算虛擬化(物理機、虛擬機、容器),網絡虛擬化(Contiv+OVS+CNI),存儲虛擬化(Ceph+CSI)I-PaaS:Marathon+K8S,自助化組件+專業化組件 A-PaaS:EDAS、SkyArk、SpringCloud、Istio 私有云:服務于聯通內部項目和大型企業級項目 5名集團B級IT技術專家,100+名專職研究人員,2名開源社區PMC 與Mesosphere、阿里、百度成立聯合實驗室 共獲得專利16項 來源于全球2、最大規模的業務支撐系統私有云的最佳實踐目錄天宮架構介紹天宮是什么天宮誕生背景124應用效果如何上天宮案例分享356業務技術雙驅動催生了天宮技術發展業務訴求互聯網企業架構,高擴展、低成本平臺+應用,能力集中,運營下沉共性+個性,總部+省(子)協同開源軟件蓬勃發展Linux功能增強X86性能不斷提升開源軟件蓬勃發展開源軟件在互聯網公司的幫助下,已贏得了基礎設施(IaaS、PaaS、SaaS),企業的數據中心已經大量的使用了開源操作系統、數據庫、中間件。傳統閉源基礎設施軟件廠商遭遇滅頂之災。cBSS中已經應用了Linux、Tomcat、Mysql、Hadoop、HBase、Redis、Kafka、R3、eact、Spark、Kong、ELK、PinPoint等大量的開源軟件。1998200820182028解決了如何自由貢獻,如何得到報酬等問題。開源越來越多地成為大型解決方案的組成部分孵化期(倡導、爭議)發展期(治理、受控)成熟期(展望)InnerSource,企業軟件作為“開源”來開發開源軟件的優缺點 預先評估,控制風險 質量更高 高自由度 更安全 成本低 無技術綁架眾人拾柴火焰高的正循環:免費就沒有門檻,用的人越多越成熟,越成熟用的人越多查看代碼的人多,相對BUG少;改正的速度快沒有商業公司的技術綁架,不上賊船大家都會用,人才成本低幾個人的技術&無數人的技術貢獻可以隨便在任何地方試用,暴4、露各種問題都有源代碼了,想改啥改啥 社區活躍度軟件的社區沒有活躍度,該軟件就沒有未來需要自力更生,除非買服務支持 沒有可靠后援優點缺點聯通參與開源的舉措 積極擁抱開源 相似組件優中選優 優先選擇社區活躍度高的開源 在聯通內推廣開源,參與開源貢獻社區掌握開源修改開源貢獻開源影響社區行業標準產業升級品牌形象參與社區學習開源使用開源利用開源3在實戰中培養開源人才,吸引開源人才,開源人才提高實戰能力參與路線參與策略21目錄天宮架構介紹天宮是什么天宮誕生背景124應用效果如何上天宮案例分享356天宮整體架構IaaSI-PaaS容器調度編排專業化組件服務阿里飛天其他自助化組件商店天宮門戶x86 Netwo5、rkStoragePower LinuxMesos兩級調度認證鑒權多租戶安全隔離開源組件百度AI微服務框架80+Spring CloudHSFSkyArkIstioMarathonKubernetes輕量虛擬機容器虛擬機網絡存儲IaaS:與底層硬件深入結合,優化資源使用計算網絡存儲Mesos自定制Linux資源更節省容器虛擬化基本無損耗調度更靈活超細粒度資源分配響應更快速秒級啟停跨平臺Mesos+Kubernetes高隔離網絡私有網絡間隔離可管控訪問限制、帶寬限制網絡監控高兼容兼容第三方存儲(CSI)高安全租戶間數據互不可見在線擴容在線動態調整存儲空間大小有狀態應用的數據存儲持久化一個應用一張6、獨享的網虛擬機全面容器化深入操作系統內核Contiv+OVSSkyStoreSpiderCephI-PaaS:Kubernetes+Marathon混動雙擎KubernetesMarathonIaaS資源統一管理分配更高效、更靈活應用框架自主選擇應用遷移更加快捷Mesos兩大主流容器編排系統核心技術-DockerBuild,Ship,and Run Any App,AnywhereDOCKER研發人員VS運維人員“研發的那幫家伙新給的版本包又把系統CPU搞到100%,應用又掛了,都是些什么水平的人啊.“運維的這幫人技術太差,維護的是些什么稀爛的系統,在我這跑得好好的,上他們那應用就掛.“這是研7、發的鍋.這是運維的盤.混亂之墻研發和運維之間存在一面無形的“混亂之墻”。開發人員求變,運維人員求穩開發與生產基礎運行環境不一致Docker與DevOpsDevOps:Deveplopment+Operations的縮寫,即開發運維一體化DevOps的最佳載體Docker 開發、測試和生產環境的統一化和標準化 解決底層基礎環境的異構問題 易于構建、遷移和部署 輕量和高效 Docker是一個誕生于2013年初的開源項目,基于Go語言實現。Docker是一個開源的容器引擎,可以輕松的為應用創建一個輕量級的、可移植的容器。Docker是一個重新定義了程序開發測試、交付和部署過程的開放平臺,構建一次,到8、處運行。Docker項目的目標是實現輕量級的操作系統虛擬化解決方案。Docker介紹Docker生命周期 鏡像 容器 鏡像倉庫Docker基礎概念-鏡像 應用運行是需要環境的,而Docker鏡像就是為應用提供獨立、完整運行環境的。Docker鏡像是一個面向Docker引擎的只讀模板,包含了文件系統。增量的文件系統,方便管理,使Docker鏡像的創建、更新十分方便。用戶基于鏡像運行容器。相關操作命令查看鏡像:docker images 刪除鏡像:dockerrmi查找鏡像:docker search 導出鏡像:dockersave下載鏡像:docker pull 導入鏡像:dockerload上9、傳鏡像:docker pushDocker基礎概念-容器 容器是從鏡像創建的應用運行實例,可以將其啟動、開始、停止、刪除。Docker容器類似于一個輕量級的沙箱,各容器的運行環境是相互隔離的。雖然鏡像自身是只讀的,容器從鏡像啟動的時候,Docker會在鏡像的最上層創建一個可寫層。相關操作命令創建容器:docker create重啟容器:docker restart運行容器:docker run查看活動容器:docker ps啟動容器:docker start查看容器日志:docker logs停止容器:docker stop 刪除容器:docker rm查看容器資源使用率:docker sta10、ts 查看容器詳情:docker inspectDocker基礎概念-鏡像倉庫 Docker鏡像倉庫類似于代碼倉庫,是集中存放Docker鏡像文件的場所。Docker鏡像倉庫分為公開倉庫和私有倉庫兩種形式,目前最大的公開倉庫是Docker Hub,存放了數量龐大的鏡像供用戶下載。相關操作命令登入鏡像倉庫:docker login登出鏡像倉庫:docker logouthttps:/ 從Google的Borg系統中得到啟發,類似的資源管理系統。抽象機器資源(cpu、內存、存儲、端口、gpu等計算資源)機器可以是物理機、虛擬機 將數據中心變成一個資源池 容災、彈性分布式系統 國內今日頭條3萬節點(11、單個Mesos集群、物理主機)國外Twitter5萬節點Mesos:開源分布式通用資源管理平臺,也被稱為分布式系統內核。Mesos Master主機MesosAgent容器容器容器容器容器容器主機MesosAgent容器容器容器容器容器容器主機MesosAgent容器容器容器容器容器容器主機MesosAgent容器容器容器容器容器容器MarathonAuroraChronos其他framework業務編排資源管理資源池12二級資源管理以framework的形式進行調度管理https:/mesos.apache.orgMesos-架構Mesos Master主機MesosAgent容器容器容器容12、器容器容器主機MesosAgent容器容器容器容器容器容器主機MesosAgent容器容器容器容器容器容器主機MesosAgent容器容器容器容器容器容器MarathonAuroraChronos其他framework業務編排資源管理資源池12二級資源管理以framework的形式進行調度管理https:/mesos.apache.orgMesos-架構Marathon Marathon:Mesos上作容器編排的Framework,以7*24運行的服務形式管理業務容器,提供以服務的形式對Mesos上用戶部署容器的管理。IaaS-MesosMesos AgentRedis NginxJavata13、sk/ExecutorMesos AgentRedis NginxMesos AgentNginxJavaMesos AgentJavaMarathonFramework/SchedulerWeb UIREST APIZookeeper服務管理健康檢查負載均衡Metrics.高可用用戶服務(Redis、Nginx、Java)容器分布彈性伸縮故障遷移26Kubernetes Kubernetes:Google開源的容器集群管理系統,為容器化應用提供了一整套功能,如:自動化部署、調度、服務發現、擴縮容及維護更新等,使容器化應用的部署和管理簡單并高效Kubernetes MasterREST API14、 ServerAgentKubelet容器容器Controller ManagerSchedulerETCDKube-ProxyPodsAgentKubelet容器容器Kube-ProxyPodsAgentKubelet容器容器Kube-ProxyPods用戶服務(Redis、Nginx、Java)服務管理容器分布彈性伸縮故障遷移節點管理分布式數據庫擴展能力強打破傳統數據庫受制連接數的問題;可不停機進行數據存儲與并發訪問量的彈性擴容,突破傳統數據庫天花板瓶頸;通過界面即可完成分布式數據服務管控操作支持多租戶模式,租戶隔離,租戶自主維護可在線自動進行主備切換;支持在線關閉全表掃描,倒逼應用優化s15、ql;數據庫操作日志自動記錄,且可與調用鏈關聯定位問題運維能力強管控能力強27分布式數據庫使用分庫分表的方式,對數據進行拆分,提升容量與性能,通過消息事務的方式,解決數據庫的事務問題,以最終一致性替換強一致性。分布式服務框架28應用的服務化設計:可有效提高高頻聯機交易類應的處理能力,解決業務需求上線慢、測試不充分、應用擴展困難等問題。02 精準定位故障 結合鷹眼調用鏈快速定位問題及瓶頸所在的服務 有利于問題聚焦,避免面面俱到,迅速精準定位故障03 集群化擴展性高 相同功能僅需實現一次 底層數據庫依據服務進行拆分 服務集群化提供高擴展性01 快速升級和迭代 服務化小,服務開發維護成本小,避免牽一16、發動全身 應用服務可劃分為多個版本 灰度測試后再進行全量發布1一體化運營平臺一體化運營平臺提供了包括服務治理、數據治理、資源管理、AI智能監控運維等在內的一系列在線工具集。通過一體化運營平臺,平臺項目組協同應用項目組能夠快速定位、預測問題,快速實施補救處理問題。為對外輸出的云化平臺提供穩定的、安全的、可預知的運行環境。PaaSIaaSSaaS分布式服務分布式數據庫物理機虛擬機容器應用應用天宮一體化運營平臺業務鏈路追蹤服務治理資源管理統一監控數據治理平臺+應用PC端手機APP微信釘釘業務監控平臺管理統一告警AI智能運維29 天宮平臺數據治理體系是針對數據類產品進行治理、管控、遷移的一整套解決方案17、。2次數據庫在線擴容遷移200+次SQL審計優化1000+次高危SQL攔截6+次生產數據恢復20+項目數據卸載800+卸載通道31243531省份數據下沉數據管理cDMS權限定制數據恢復全庫恢復精確定位精確恢復數據治理操作溯源規范操作數據追溯QPS、連接數長鏈接磁盤、主機數據環境監控在線審計離線審計SQL審計只讀中心在線遷移數據治理體系30數據管理服務CDMS31與傳統架構相區別,分布式環境下的數據運維的難度增加,誤操作影響更大。為了有效降低人為導致的錯誤操作,需要對數據操作進行管理。數據管理服務DMS是對cB2.0所有數據類組件的數據統一管理。多樣數據源權限/操作限制高危操作DBA審核關系型18、:DRDS、RDS、MySql、Mariadb非關系型:MongoDB、KVStore、ES表級別的權限控制數據級別的權限控制DBA角色、只讀角色、自定義角色基于ai的故障預測與定位32痛點分析:分布式環境下機器較多,故障發生后,排障主要依靠人力,缺少智能分析定位無法有效預警故障發生,只能被動處理解決方案:基于歷史數據開展機器學習訓練,生成訓練模型,實時對監控數據進行模型計算與分析,開展故障預測及告警,并對故障進行拓撲關聯的故障溯源,快定位異常指標并提出解決方案基礎設施平臺中間件應用核心框架數據中心知識庫模型加載異常檢測訓練統計報表決策組件多維度匯聚執行組件開發工具算法分類映射數據采集數據清洗19、數據計算關聯挖掘質量控制數據打標數據存儲人工知識歷史經驗執行策略計算策略異常檢測故障預測與告警解決方案推送數據提供策略存儲故障定位與分析I-PaaS:四大微服務框架33Spring Cloud第一代開源解決方案HSF阿里企業級Istio第二代微服務框架Service MeshSkyArk軟研自研天舟框架特性與應用開發解耦,極大降低技術門檻按需選擇,擇優使用I-PaaS:“開源+商用”、“自助化+專業化”組件體系34自助化組件專業化組件單機版主備版集群版開源自建阿里飛天百度AI傳統廠商基于開源封裝自用自維鼓勵參與、貢獻開源為主,廠商補短板按需選用,平臺統一運維鼓勵參與、貢獻將cBSS生產最佳實踐20、,以產品化的形式提供給分子公司和合作伙伴I-PaaS:天宮上經大規模生產驗證的部分專業化組件35阿里輕量、靈活、穩定、高效的分布式數據庫。阿里DRDS組件阿里兼容redis協議的持久化內存數據庫。阿里KVstore組件阿里低延遲、高并發、高可用、高可靠的分布式消息中間件。阿里MQ組件阿里集數據遷移、數據訂閱及數據實時同步的數據傳輸服務組件。阿里DTS組件阿里MySQL云數據庫版本。阿里RDS組件阿里基于流量分發的軟負載均衡組件。阿里SLB組件Apache高吞吐量的分布式消息中間件組件。Kafka鍵值內存數據庫Redis百度語音識別百度AI-語音識別百度智能機器人百度AI-智能機器人百度圖像識別21、百度AI-圖像識別百度人臉識別百度AI-人臉識別Apache大規模數據處理通用的計算引擎Spark存儲和分發Docker鏡像的企業級Registry服務器鏡像倉庫百度自然語言處理百度AI-自然語言處理百度知識圖譜百度AI-知識圖譜I-PaaS:天宮上經大規模生產驗證的部分自助化組件Apache分布式應用程序協調服務組件。ZooKeeperMesosphere服務發現和負載均衡工具。marathon-lb高性能HTTP服務器和反向代理服務器。NginxApache Web應用服務器。tomcatApache高吞吐量的分布式消息中間件組件。kafka關系型數據庫管理系統。MySQL鍵值內存數據庫。22、redis實時、穩定、可靠、快速的全文搜索引擎。ElasticSearch分布式內存文件系統。AlluxioApache大規模數據處理、快速通用計算引擎。Spark容器監控工具。cAdvisor度量儀表盤和圖形編輯器。grafana分布式服務容錯框架。hystrixApache hadoop家族,包括ambari、hbase等。基于Nginx的API網關。Kong大規模分布式APM監控工具。pinpoint天宮門戶:一站式申請、交付、生產37簡單易用一鍵申請一鍵部署一鍵發布自主化運營監控調度工具體系規范一站式支撐體系一體化運營體系目錄天宮架構介紹天宮是什么天宮誕生背景123應用效果如何上天宮案23、例分享456提高資源利用率平均60%最低10%以下裸機隔離,避免系統間相互影響系統繁忙有波峰波谷,不均衡系統耗費資源類型不同,不均衡容器式多租戶隔離,系統間不沖突多系統共享,削峰填谷多類型系統共享,均衡利用天宮采用輕量級的容器技術進行應用間隔離,通過多租戶的方式共享主機資源等,極大提高主機資源利用率裸機獨占式容器化多租戶共享式提高軟件質量輕量級的容器可以方便的解決環境一致性問題,一次編譯,到處運行,并且可以方便的實現持續集成、持續交付和自動化測試,提高軟件質量生產環境研發環境測試環境容器 研發、測試、生產環境不一致,問題解決難度大 系統部署難度大,自動化測試難度大,系統發版難度大裸機 Buil24、d,Ship,and Run Any App,Anywhere 自動化的持續集成、持續交付、測試,提升軟件質量提高運維效率上天宮后上天宮前 啟停:依次登錄200臺主機,按個啟停,耗時長,易出錯 發版:依次登錄主機替換版本,易出錯,耗時長 啟停:在智能運維平臺上,一鍵啟停6萬個應用 發版:在智能運維平臺上,一鍵升降應用版本天宮應用一鍵啟停、版本一鍵發布,極大降低了應用管理難度如:cBSS1.0計費應用,共200+臺主機、6萬+應用案例:cBSS1.0版本發布60+個計費應用,31個省,200余臺應用主機,每月2次例行版本,每年10余次緊急需求上線,平均每10天一次版本發布。動作耗時上天宮前上天宮25、后停止應用30分鐘1分鐘版本切換50分鐘1分鐘啟動應用40分鐘0.5h91%應用擴容分鐘級40%運維效率月減少手工700次88%硬件節約8臺-1臺cpu:160cram:1000Gdisk:8Tcpu:33cram:176Gdisk:1T通過掌握容器技術、應用和組件打包成容器、網絡打通、系統驗證測試等工作,歷時21天登陸天宮。案例2:cBSS1.0案例-中間件應用容器化方案服務管理日常維護資源管理RedisEtcdConfdTuxedo 服務Weblogic 服務客戶服務賬戶服務用戶服務交 易查 詢計 算應用特點:傳統交易型中間件應用、重型容器開發語言:C/C+、Java技術特點:傳統Tuxe26、do、Weblogic中間件上線效果:涵蓋了CRM、接口等核心業務;60+節點,3000+個容器;秒級擴縮容、分鐘級應用部署天宮-DC/OS案例3:cBSS1.0案例-微服務容器化方案服務管理日常維護資源管理MysqlRedisKong訂單服務黑名單服務產商品服務支付服務通知服務權限服務API網關服務限流認證授權API管理ACL規則號卡服務信控服務Marathon-LBMarathon-LB應用特點:微服務交易型開發語言:Java技術特點:開源組件搭建的服務框架,實時性要求高上線效果:200+微服務;CB一鍵開戶、流量日報訂購;灰度發布、彈性擴縮容、服務限流、服務開放天宮-DC/OS案例4:c27、BSS1.0案例-計費應用容器化方案服務管理日常維護資源管理KafkaHarborRedis無狀態應用有狀態應用分 揀排 重批 價信 控賬 管提 醒應用特點:大規模高性能計算開發語言:C/C+技術特點:多通道文件/消息批處理型應用,吞吐量要求高上線效果:6W+容器,200+主機,極大提升運維效率和軟件版本質量天宮-DC/OS案例5:新建應用案例-車聯網位置信息實時展示方案將收集到的車輛位置及乘客數據進行實時處理,將處理結果在地圖上以區域的形式進行匯聚展示和數據輸出,以便分析智能調配需求數據采集消息隊列數據計算數據存儲地圖展示系統已有采用開源為基礎,進行業務定制開發配置即可業務定制(1011行代28、碼)配置即可配置即可業 務 應 用案例6:新建應用案例-車聯網位置信息實時展示服務管理日常維護資源管理Web 前端應用事 件 源Elastic SearchKafkaSpark應用特點:海量數據分析型開發語言:Java、Go技術特點:事件觸發型、流式計算應用應用效果:依托開源組件,快速實現業務需求天宮-DC/OS案例7:全國集中項目-號卡中心負載均衡接入應用業務服務平臺服務分布式數據庫服務分布式緩服務分布式消息服務分布式文件服務WEB&APP個性化應用主環境灰度環境能力開放WEB&APP標準應用主環境灰度環境虛擬機 物理機號碼中心標準服務主環境標準服務灰度環境個性服務主環境個性服務灰度環境卡中29、心報表中心權限中心業務日志中心硬件資源運營平臺數字化運營實時彈性調度持續交付服務器存儲網絡虛擬化上線效果上線前上線后日交易量小于500萬峰值8億(峰值1.2W筆/秒)業務成功率20%大于99%響應時間大于500ms小于50ms去中心化、服務化灰度環境灰度發布灰度發布案例8:大小王卡對接 大小王卡對接:當時cBSS2.0不具備直接對接互聯網的能力,而業務上線前一天才通知應用與平臺必須明天8點之前完成對接,對整個團隊來講是當時最大的一次挑戰。準時上線不影響對接微信要求響應時間500MS網上商城耗時250MS上線要求明天八點當前耗時350MS系統復雜程度極高目標 PAAS調用鏈工具,橫、縱向多條鏈路30、對比分析,找到慢節點 優化SQL語句,保證SQL盡量15MS內返回 優化業務流程中慢節點執行過程,減少耗時 優化業務流程,盡量采用異步調用,減少同步過程確認問題解決問題 分析慢節點原因,分析SQL語句、業務流程、業務執行耗時 測試高并發下SQL耗時,確認耗時長為慢SQL導致分析問題案例9:京東對接老客戶聯調 京東針對聯通老用戶推出購機打折活動,如何快速識別老用戶并快速響應市場一線需求?業務怎么對接?接口怎么調試?誰具備這個能力?我該去找誰?我要怎么辦?業務能力一站提供接口對接標準聯調專業團隊一站支撐上線過程重點保障36小時成功上線!案例10:省分應用蜂行動資源使用對比應用數據場地場地設備設備維31、護人員維護人員供電供電降溫降溫升級擴展升級擴展故障修復故障修復安全風險安全風險大幅節省資源及相關運維成本(硬件、網絡、安防等)省電、省人、省機房場地項目綜合費用節省約30-40%,上線時間節省30-50%穩定性和安全性得到極大提升統一培訓、穩定成熟的平臺架構體系極大提升應用開發效率和生產運行穩定性使用分布式paas對比完全自建帶來的優勢資源成本50%電費15%開發/測試成本20%運維成本10%應用全部自建需要考慮的問題開源架構開源架構案例11:上海權益35天上天宮權益中心項目組成立進行項目啟動準備,進行天宮平臺技術培訓9月20日9月18日9月15日9月12日8月21日8月15日確定技術架構完成32、需求調研,確定資源需求,完成資源分配;專家組技術支撐,協助完成技術架構設計開發測試技術支持,解決權益中心在開發過程中遇到的問題。功能聯調測試技術支持性能壓測技術支持,生產監控項部署配置,上線前的人員動員上線部署上線重保,技術人員遠程支持,上線成功后轉日常運維上海權益利用天宮成熟組件實現快速搭建,35天入駐天宮,為打造IT研發新生態探索出一條可行之路。在此期間,天宮充分體現了厚平臺、能力強、一體化、能力共享的特點。3天培訓導入2天開出平臺環境1個月研發支撐,提供包括號卡、自然人、1.0等業務能力支撐上線后提供類似號卡的標準化的運維支撐。新建應用案例:傳統部署方案VS天宮部署方案傳統部署架構Kaf33、ka-b2Kafka-b3Kafka-b0Kafka-b4Kafka-br1event-source01event-source02事件源主機Kafak集群主機analytic-t3 analytic-t4analytic-t1analytic-t5analytic-t2Spark集群主機Elastic集群主機Web前端主機Map-webapp02ES-node3ES-node4ES-node1ES-node5ES-node2Map-webapp01天宮下部署架構天宮應用商店鏡像倉庫資源管理多租戶服務編排Map-webapp01虛擬資源池Kafka-b0Kafka-b1Kafka-b2Kafka-b3Kafka-b4event-source01event-source02analytic-t1analytic-t2analytic-t3analytic-t4analytic-t5ES-node1ES-node2ES-node3ES-node4ES-node5Map-webapp02Marathon-LB01Marathon-LB02傳統部署至少需部署5套集群、10+臺主機,天宮架構最小1臺主機DC/OS CHINAUNICOM謝 謝