某公司研发及运维自动化技术体系课件_第1页
某公司研发及运维自动化技术体系课件_第2页
某公司研发及运维自动化技术体系课件_第3页
某公司研发及运维自动化技术体系课件_第4页
某公司研发及运维自动化技术体系课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

快速发展中的互联网公司研发及运维自动化技术体系内容概要•

第一部分:要解决什么问题?•

快速发展中公司的业务特点,如何自建技术设施•

技术架构体系•

运维研发过程的生命周期•

第二部分:分布式架构&运维研发解决方案•

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(前端)

Android

iOS•

分布式:ActiveMQ

Kafka

Zookeeper

Router服务发现

Cat•

存储:Mysql

Mongodb

Tair

Memcached

Redis•

计算:Solr

ElasticSearch

Hadoop

HBase

Storm

Spark•

运维:Linux

Nginx

Puppet

Zabbix

OpenStack•

项目管理:Eclipse

SVN

Maven构建

Hudson持续集成

Confluence知识分享

DMS项目管理道

运营平

iOS

:短信

|

邮件

|

微信

|私信|台技术架构体系业务线API

:微信

|

微博

SEO

|

运营推广运

开放平台

运营推广|

QQ

|

支付

|

电话

|营渠

Android|

测试/部署/运维/服务治理C端:求职

|

校招

|

H5

|

微信

|

APP

B端:猎聘通

|

面试快|

微站

|

企业服务

|

微信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•

|-私信平台Message

Code/build

开发阶段•开发框架•

|-web开发框架Swift•

|-nodejs前端开发框架•

|-ios移动开发框架•

|-android开发框架•

|-shell脚本自动化•分布式中间件

Test/ci

测试阶段•|-API自动化测试•|-API模拟测试Mock•|-Web自动化测试

Selenium•|-微信测试WXTest•|-Open测试KATest•|-测试环境发布

Release/deploy

上线阶段•|-青龙发布系统•|-龙潭运维系统•|-代码检测Builder

Monitor

运维阶段•|-龙潭运维系统•|-变色龙自动化系统•|-报警监控系统Zabbix•|-雷达日志系统•|-Puppet/Mco

Service

服务治理•|-API放水系统APIWater•|-SQL放水系统

MonyogSQL•|-Router服务中心•|-闪电配置分发系统•|-调度系统Scheduler•|-调用链系统Cat

Channel

运营阶段•开放平台•

|-微信平台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{http:7133;http:7133;memcached4:10014;memcached5:10014;memcached6:10014;tair1:6036;tair2:6036;redis4:6003;redis5:6003;redis6: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.con

APP配置文件

/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周同步OnlineDB/CacheC区QADB/CacheDevDB/CacheMock环境境生产环环境3、项项目发发布自自动化化(青青龙系系统))SVN资源源库龙潭配配置自自动化化系统统Mock区区拷贝warsship:dirrestarttomcatA区B区青龙自自动化化发布布平台台开发环环境测试环环境灰度环环境svnup分支zi

ssh

ip:dir

restart

tomcat

Dev1公

Dev2服

…Devn公共服务QAn变色龙龙指令令系统统svnup测试分分支svnup主干zipwarzipwarsship:dirsship:dirrestarttomcatrestarttomcatQA1QA2…灰度区区3、项项目发发布自自动化化体系系•3.1、青青龙代代码发发布系系统•-灰度发发布•-分区发发布::泳道道发布布•3.2、闪闪电配配置发发布系系统•-发布配配置信信息•-集群协协作::Solr、Kafka•3.3、变变色龙龙原子子指令令•-系统级级操作作•-系统操操作日日志3.1、青青龙发发布系系统——灰度发发布•支持多多个灰灰度区区同时时测试试•支持基基于trunk、tags的发布布•测试班班车批批量发发布3.1、青青龙发发布系系统——分区发发布•关闭Nginx流量,,分区区发布布,对对用户户无影影响3.1、青青龙发发布系系统——随时上上线•支持每每周数数百次次上线线,上上线时时关闭闭服务务调用用3.1、青青龙发发布系系统——实时发发布日日志3.2、闪闪电配配置分分发系系统3.3、变变色龙龙指令令自动动化A区C区B区变色龙龙指令令系统统发布平平台运维平平台搜索平平台统计平平台执行指指令APIPuppetMcollective日志回回写Mco日志API指令系系统GUI3.3、变变色龙龙指令令自动动化•300+指令集集:软软件安安装、、卸载载、启启动、、停止止、项目发发布、、系统统操作作…#!/bin/shPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binJAVA_HOME=/usr/local/java/jdk1.7exportJAVA_HOME="/usr/local/java/jdk1.7"exportTOMCAT_BASE="/usr/local/tomcat"exportCATALINA_BASE="/data/apps/${PROJECT_NAME}"exportJAVA_OPTS=$JAVA_OPTS"...#启动Tomcatsutomcat-s$TOMCAT_BASE/bin/catalina.shstart&4、服服务治治理体体系•服务健健康状状态检检测•分布式式任务务调度度(Schedule))•调用链链分析析(Cat)•实时日日志监监测((雷达达系统统)•API质量量治理理(APIWater)•SQL质量量治理理(Monyog))4.1、服服务健健康状状态检检测4.2、分分布式式任务务调度度ScheduleNginxCWeb1CWeb2BWeb1BWeb2User1User2CV1CV2Job1Job2Feed1Feed2ScheduleMQ同步HWeb1HWeb2异步任务调调度Swift分布布式式调调度度中中心心::•基于于Mina分布布式式协协调调•选择择服服务务的的单单点点调调度度•多点点

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论