您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 快速发展中公司研发及运维自动化技术体系
快速发展中的互联网公司研发及运维自动化技术体系内容概要•第一部分:要解决什么问题?•快速发展中公司的业务特点,如何自建技术设施•技术架构体系•运维研发过程的生命周期•第二部分:分布式架构&运维研发解决方案•1、分布式服务架构(雨燕/MQ/Schedule)•2、运维自动化&标准化(龙潭)•3、项目发布自动化体系(青龙/闪电/变色龙)•4、服务治理体系&健康监测(雷达/Cat/质量系统)•5、测试环境的自动化构建(青龙/龙潭)•6、自动化测试系统(Mock/Selenium)快速公司技术人员快速发展公司对技术需求点业务边开飞机技术边修飞机业务驱动、快速试错既要统一、又要高效打造高效的研发&运维自动化技术体系DevOps运维研发自动化Service服务多维度治理持续交付能力PaaS基础服务设施快速开发能力服务治理能力服务治理、任务调度、集群协同、调用链分析、接口质量、SQL质量、实时日志等打包、自动化测试、检测、灰度发布、分区上线、运维自动化、配置标准化、指令标准化等分布式框架、存储&缓存中间件、自动化测试、云搜索、开放平台、营销平台等基础设施自建技术基础设施(开源+自研)•青龙自动化发布系统——灰度发布、分区发布•龙潭运维配置自动化系统——运维系统自动发现、标准化配置•变色龙原子指令系统——支持数百台服务器、数百个原子脚本操作•龙猫云搜索平台——支持数百个索引、上亿条数据•蓝鲸推荐计算平台——支持数亿用户数据计算•白虎API自动化测试系统、Mock模拟测试系统——支持接口的自动化测试、模拟测试、Web自动化测试•API放水系统、SQL防水系统——治理系统不合理调用•雷达实时日志系统——支持Nginx、Tomcat、BI实时日志和离线跟踪•雨燕分布式开发框架——统一分布式通信•闪电配置分发系统——支持配置项、集群服务发现•••••••MQ分布式消息中间件(推模式IDP、拉模式Kafka)——1500w/周一~周五,600w/周六日KV分布式缓存系统中间件(Memcached、Redis、Tair)——亿级数据缓存、95%命中率LPFS分布式文件中间件(MongoDB)——MongoDB、图片、文件DB数据库分库分表中间件(MySQL)——无限数据量扩展分布式任务调度中间件(Schedule)——支持100+服务、200+/日个分布式任务调度Push统一消息推送平台——每日100w+推送量,推送至Android、iOS、Email、SMS、微信、Comet。。。依赖开源的技术栈•语言:Java(Tomcat/Spring)Shell(运维)Nodejs(前端)AndroidiOS•分布式:ActiveMQKafkaZookeeperRouter服务发现Cat•存储:MysqlMongodbTairMemcachedRedis•计算:SolrElasticSearchHadoopHBaseStormSpark•运维:LinuxNginxPuppetZabbixOpenStack•项目管理:EclipseSVNMaven构建Hudson持续集成Confluence知识分享DMS项目管理道运营平iOS:短信|邮件|微信|私信|台技术架构体系业务线API:微信|微博SEO|运营推广运开放平台运营推广|QQ|支付|电话|营渠Android|测试/部署/运维/服务治理C端:求职|校招|H5|微信|APPB端:猎聘通|面试快|微站|企业服务|微信H端:诚列通|面试快|微信|APPERP:网站运营|用户管理|销售|客服体系开发阶段框架Test:API|Mock|Web|测试环境Deploy:灰度|分区上线|配置标准化|系统自动化Op:报警监控|日志追踪|流量监控Service:API质量|SQL质量|服务发现|配置|调度|调用链中Storage:关系|文件|KV|缓存|一级间件Compute:搜索|推荐|BI|解析|转换开发框架:Spring|HTTP通信|脚本自动化分布式:RPC调用|MQ|Zookeeper|调度运维研发过程的生命周期•|-分布式调用RPC•|-实时推送comet•|-推消息队列IDP•|-拉消息队列Kafka•|-配置系统Zookeeper•|-调度系统Scheduler•存储中间件•|-关系存储mysql•|-文件存储mongodb•|-KV存储tair•|-二级缓存redis•|-一级缓存memcached•计算平台•|-龙猫云搜索•|-蓝鲸推荐•|-大数据计算•|-网页解析•|-文本解析•|-Word预览•运营平台•|-推送平台Push•|-短信平台Push•|-邮件平台Mail•|-微信平台Open•|-私信平台MessageCode/build开发阶段•开发框架•|-web开发框架Swift•|-nodejs前端开发框架•|-ios移动开发框架•|-android开发框架•|-shell脚本自动化•分布式中间件Test/ci测试阶段•|-API自动化测试•|-API模拟测试Mock•|-Web自动化测试Selenium•|-微信测试WXTest•|-Open测试KATest•|-测试环境发布Release/deploy上线阶段•|-青龙发布系统•|-龙潭运维系统•|-代码检测BuilderMonitor运维阶段•|-龙潭运维系统•|-变色龙自动化系统•|-报警监控系统Zabbix•|-雷达日志系统•|-Puppet/McoService服务治理•|-API放水系统APIWater•|-SQL放水系统MonyogSQL•|-Router服务中心•|-闪电配置分发系统•|-调度系统Scheduler•|-调用链系统CatChannel运营阶段•开放平台•|-微信平台Weixin•|-微博平台Weibo•|-电话平台Jiya•|-支付平台Pay•|-开放平台API•|-SEO平台Resource所有事&重要事=架构+运维开发阶段PaaS化测试阶段自动化上线阶段工具化架构┼运维运维阶段标准化运营阶段通道化服务治理监控化••••••第二部分:分布式架构&运维研发解决方案1、分布式服务架构(雨燕/MQ/Schedule)2、运维自动化&标准化(龙潭)3、项目发布自动化体系(青龙/闪电/变色龙)4、服务治理体系&健康监测(雷达/Cat/质量系统)5、测试环境的自动化构建6、自动化测试系统(Mock/Selenium)1、分布式服务架构DB/Cache/IndexUser1User2CV1CV2QA区HWeb3User3BWeb3CV3Dev区HWeb4User4ScheduleMQDB/Cache/IndexDB/Cache/IndexBWeb4CV4同步线上分区(A区/B区/C区),线上灰度区NginxHWeb1BWeb1CWeb1HWeb2BWeb2CWeb2异步分布式事务Feed1Feed2任务调度Job1Job2Swift/etc/router.confrouterins-user-platformautoloading{http192.168.66.1:7133;http192.168.66.2:7133;memcached192.168.64.14:10014;memcached192.168.64.15:10014;memcached192.168.64.16:10014;tair192.168.64.21:6036;tair192.168.64.22:6036;redis192.168.64.14:6003;redis192.168.64.15:6003;redis192.168.64.16:6003;}服务发现、通信、控制分布式注册中心Router:•同步调用RPC•服务协议:HTTP协议/心跳检测•服务发现:集群信息统一文件Router.conf•负载均衡•异步调用MQ•推模式:开发快、稳定、实时快•拉模式:可回溯、日志收集、数据同步•分布式任务调度•Schedule调度系统•分布式事务控制•Swift开发框架:交易型事务的一致性QA2QAnQA12、运维研发的自动化体系线上IDC/IDC2线下测试环境SVN库A区B区C区S区MVN库变色龙指令系统Builder构建系统线下发布系统…青龙发布系统龙潭运维配置自动化系统线上区NginxABCA区64网段B区68网段C区72网段灰度区NginxS区32网段青龙发布系统配置采集生成SVN库MVN库龙潭配置系统发布先配置,再发布推送Tomcat+App配置分发War分发war存储区kafkaredismemcachemongodbmysqlhadoopA区A区C区C区B区B区/data/apps/{project}/bin/start.sh,stop.sh/bin/JAVA_OPTS/conf/server.xml/webapps/wars/logs/catalina.log/temp/workNginxjdktomcatrsyncSvnmvnagent---------------------------------Ipnetdiskmemdns…APPs巢位机器/系统/软件运维配置标准化分区机器&系统&软件APPs巢位运维配置标准化3大层次•2.1、硬件标准化:•-机器标准化:机房、机架位、交换机、机器•-资源标准化:IP、DNS•-配置标准化:机器配置自动化采集、标准化检测,KVM化•2.2、软件标准化:•-软件安装标准化:tomcatjdkmemcachedredis...•-Nginx标准化:域名、配置、发布•2.3、项目标准化:•-项目配置标准化:S区、A区、B区、C区•-支持多种项目:tomcat、java、nodejs、Python、ios\Android2.1、硬件标准化—标准化管理2.1、硬件标准化—自动化采集2.1、硬件标准化—标准化校验•多套服务器模板•标准化配置项(上百配置项)•每日自动化校验运维配置标准化3大层次•2.1、硬件标准化:•-机器标准化:机房、机架位、交换机、机器•-资源标准化:IP、DNS•-配置标准化:机器配置自动化采集、标准化检测,KVM化•2.2、软件标准化:•-软件安装标准化:tomcatjdkmemcachedredis...•-Nginx标准化:域名、配置、发布•2.3、项目标准化:•-项目配置标准化:S区、A区、B区、C区•-支持多种项目:tomcat、java、nodejs、Python、ios\Android2.2、软件标准化—统一软件规格2.2、软件标准化—自动化安装卸载•23个标准软件•200个原子指令2.2、软件标准化—服务自动管理2.2、Nginx标准化—自动配置300域名•自动化生成•自动化配置运维配置标准化3大层次•2.1、硬件标准化:•-机器标准化:机房、机架位、交换机、机器•-资源标准化:IP、DNS•-配置标准化:机器配置自动化采集、标准化检测,KVM化•2.2、软件标准化:•-软件安装标准化:tomcatjdkmemcachedredis...•-Nginx标准化:域名、配置、发布•2.3、项目标准化:•-项目配置标准化:S区、A区、B区、C区•-支持多种项目:tomcat、java、nodejs、Python、ios\AndroidNginxC区Nginx.conf全站配置Router服务配置/etc/router.confAPP配置文件/data/apps/{project}/bin/start.sh,stop.sh/bin/JAVA_OPTS/conf/server.xml/webapps/wars/logs/catalina.log/temp/work2.3、项目标准化—配置&生成&发布Nginx配置文件龙潭配置系统生成配置龙潭配置系统发布2.3、项目标准化—项目配置中心•1、配置•2、生成(基于模板Freemarker)•3、推送2.3、项目标准化—推送中心•1、配置•2、生成(基于模板Freemarker)•3、推送共务SandboxDB/Cache周同步O
本文标题:快速发展中公司研发及运维自动化技术体系
链接地址:https://www.777doc.com/doc-537631 .html