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