运维架构
1、运维团队配置
运维团队分为:应用运维、系统运维、运维开发、监控运维、DBA团队和安全团队
团队分工:
应用运维:负责支持线上业务,各自会负责对应的业务线,主要职能是保证线上业务稳定性和同开发共同支撑对应业务,以及线上服务管理和持续优化。
运维开发:帮助运维提升工作效率,开发方便快捷的工具,实现运维平台化自动化。
系统运维:负责操作系统定制和优化,IDC管理和机器交付,以及跳板机和账号信息管理。
监控运维:负责发现故障,并第一时间通知相关人员,及时处理简单故障和启动降级方案等。
2、整体架构
双机房结构,A机房主跑线上业务,B机房跑测试环境和大数据处理作业,有hadoop集群、日志备份、灾备降级应用等。
用户引导层用的是第三方的智能DNS+CDN。
负载均衡首先是LVS做的4层负载均衡之后是tengine做的7层负载均衡。再往后是varnish做的页面缓存之后请求到web端,web端通过内部协议调用service(RPC)。
图片存储用的是mogileFS分布式存储 。
所有业务,全部有高可用方案,应用全部是至少2台以上。
运维监控是从4个维度来做的:
业务层面,如线上业务每秒访问数,每分钟支付、创建订单等(cat)。
应用层面,每个应用的错误数,调用过程,访问的平均耗时,最大耗时,95线等(cat)。
系统资源层面:如cpu、内存、swap、磁盘、load、主进程存活等 (zabbix)。
网络层面: 如丢包、ping存活、流量、tcp连接数等(zabbix cat)。
3、运维系统介绍
我们运维的理念是:
能用程序干活的,坚决程序化、平台化;
能用管理解决的问题,不用技术解决;
同一个错误不能犯三次;
每次故障,都是学习和提升的机会;
每个人都要有产品化思维,做平台产品让开发走自助路线;
小的,单一的功能,组合起来完成复杂的操作(任务分解);
所以,我们将自己的理念,融入到自己的作品中,做出了很多工具。
首先整体做个说明,运维工具系统汇总:
全方位监控系统:覆盖业务、应用、网络、系统等方面,做到任何问题,都可直观反馈。对不同应用等级,做到不同监控策略和报警策略。
自动化工具系统:对重复的、容易出错的、繁琐的工作尽可能工具化,通过小的策略组合,完成大的任务。
自动化工具系统:对重复的、容易出错的、繁琐的工作尽可能工具化,通过小的策略组合,完成大的任务。
记录和分析系统:对发生的问题和数据做记录并分析,不断的总结、完善和提升。
3.1 全方位监控系统
Zabbix
业务监控 应用监控 日志扫描
3.2 自动化工作系统
Workflow流程系统
Button是一套代码管理、打包、部署上线系统
Go平台系统,是一套运维操作系统,其中包含了很多常规操作、如批量重启、降级、切换、上下线、状态检测等
任务调度系统
3.3 配置和管理系统
Puppet配置管理系统
SLB软负载均衡管理系统
Zookeeper应用配置管理系统
3.4 记录和分析系统
DOM运营质量平台
雷达系统
主要目标是实现平台规范化、运维高效化、开发自主化