1、中小企业DevOps从0到1目录目录DevOps杂杂谈谈1运维知识体系与职业发运维知识体系与职业发展展2中小企业基于开源的中小企业基于开源的Web架构演架构演变变3全链路自动化运维体全链路自动化运维体系系4QA5什么是什么是DevOps?DevOps构建的构建的IT服务供应链服务供应链DevOps的的CALMS文化文化Culture(文化)Automation(自动化)Lean(精益)Measurement(度量)Sharing(分享)打击也是一种鼓励:鼓励员工打击也是一种鼓励:鼓励员工“跳槽跳槽”你埋怨工资低?你埋怨工资低?为什么不跳槽?为什么不跳槽?运维运维“能力不行能力不行”论论能力不行
2、之能力不行之-队友是个傻队友是个傻X能力不行之能力不行之-领导是个傻领导是个傻X能力不行之能力不行之-提问总觉得别人装提问总觉得别人装X 能力不行之能力不行之-外来的和尚好念经外来的和尚好念经先从自身找原因,先从自身找原因,能让你快速的强大起来!能让你快速的强大起来!目录目录DevOs杂杂谈谈1运维知识体系与职业发运维知识体系与职业发展展2中小企业基于开源的中小企业基于开源的Web架构演架构演变变3全链路自动化运维体全链路自动化运维体系系4QA5不要小看运维之不要小看运维之-运维知识体系运维知识体系不要小看运维之不要小看运维之-运维知识体系运维知识体系不要小看运维之不要小看运维之-运维知识体系
3、运维知识体系不要小看运维之不要小看运维之-运维知识体系运维知识体系不要小看运维之不要小看运维之-运维知识体系运维知识体系运维工作内容运维工作内容 运维服务台:7x24小时运维值班,告警处理。服务部署、项目上线、线上业务的部署更新,版本管理、灰度发布等。负责管理所有数据系统:数据库、分布式缓存等存储系统管理。负责整体的安全规范、漏洞检测、安全防护等。运维平台建设:环境规划、运维研发、架构设计、配置管理等。基础设施建设:网络、IDC托管、私有云、基础服务等。值班运维值班运维 应用运维应用运维 DBA安全运维系统运维系统运维基础运维运维技术层次发展运维技术层次发展 把服务运行 起来工程师工程师搭建服
4、务 让服务飞起 来 高级工程师用好服务 让服务恋爱 架构师服务关联 让服务生孩 子 创业者服务产品化运维职业发展运维职业发展1.多选题:本题70分请在下面列表中,选择一个或多个职位作为职业规划目标()。A.系统架构师 B.运维经理、总监 C.某一技术领域专家 D.云解决方案架构师 E.业务运维专家 F.培训讲师 G.DevOps专家2.简单题:本题30分如何达到上题中选择的职位目标?目录目录DevOps杂杂谈谈1运维知识体系与职业发运维知识体系与职业发展展2中小企业基于开源的中小企业基于开源的Web架构演架构演变变3全链路自动化运维体全链路自动化运维体系系4QA5中小企业基于开源的中小企业基于
5、开源的Web架构演架构演变变3中小企业基于开源的中小企业基于开源的Web架构演架构演变变3单机时代单机时代单机时代单机时代-数据库分离数据库分离单机时代单机时代-组件分离组件分离单机时代单机时代-Web性能优化性能优化网络网络磁盘磁盘内存内存CPUCPU进程数CPU绑定内存内存JVM设置GC优化大页内存内存合并 ksmd磁盘磁盘IOOpenfileSendfileIO调度算法网络网络EpoolSocket优化(time_wait)持久连接中小企业基于开源的中小企业基于开源的Web架构演架构演变变3Web集群集群-HTTP重定向重定向Web集群集群-DNS轮询轮询Web集群集群-反向代理负载均衡
6、反向代理负载均衡Web集群集群-负载均衡负载均衡+高可用高可用Web集群中集群中Session处理方案处理方案SESSION保持保持 Nginx:ip_hash Haproxy:sourceipSESSION复制复制 Tomcat ClusterSESSION共享共享 PHP:Memcached、Redis Django:Session框架 支持 Tomcat:tomcat-x-session-managerWeb集群集群-Session共享共享Web集群集群-四层四层+七层负载均衡七层负载均衡Web集群-SOA单一应用架构单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以
7、减少部署节点和成本。此时,用于简化增删改查工作量的 数据访问框架数据访问框架(ORM)是关键。垂直应用架构垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的 Web框架框架(MVC)是关键。分布式服务架构分布式服务架构当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务 中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的 分布式服务框架分布式服务框架(RPC)是关键。流动计算架构流动计算架构当服务越来越多,容量的评估,小服务资源的浪费等问
8、题逐渐显现,此时需增加一个调度中心基于访问压力实 时管理集群容量,提高集群利用率。此时,用于提高机器利用率的 资源调度和治理中心资源调度和治理中心(SOA)是关键。来源于:http:/dubbo.io/Web集群集群-SOA和微服务架构和微服务架构来源于:http:/dubbo.io/中小企业基于开源的中小企业基于开源的Web架构演架构演变变3文件存储文件存储-Local、DAS、SAN1.本地硬盘本地硬盘2.DAS存储存储0.tmpFS3.SAN存储存储文件存储文件存储-共享、分发、同步共享、分发、同步4.NAS存储存储5.文件分发、同步文件分发、同步文件存储文件存储-分布式文件系统分布式文
9、件系统FASTDFS中小企业基于开源的中小企业基于开源的Web架构演架构演变变3缓缓 存存 知知 识识 体体 系系缓缓 存存 知知 识识 体体 系系中小企业基于开源的中小企业基于开源的Web架构演架构演变变3数据存储数据存储-MySQL基于复制的架构基于复制的架构3.一主多从,读写分离一主多从,读写分离1.一主一从,高可用一主一从,高可用2.一主一从,读写分离一主一从,读写分离数据存储数据存储-MySQL基于复制的架构基于复制的架构4.一主多从、负载均衡一主多从、负载均衡5.主主复制、双写主主复制、双写6.主主复制,单写主主复制,单写数据存储数据存储-MySQL基于复制的架构基于复制的架构7.
10、双主双从双主双从8.MySQL高可用方案高可用方案:MHAMySQL ProxyAtlas数据存储数据存储-MySQL Proxy数据存储数据存储-MySQL PXCPercona Xtradb Cluster1.Cobar数据存储数据存储-MySQL DAL2.MyCAT3.客户端分片(根据客户端分片(根据UID分库分表)分库分表)数据存储数据存储-基于基于MySQL协议的分布式数据库协议的分布式数据库TiDBTiDB 是是 PingCAP 公司基公司基于于 Google Spanner/F1 论文实现的开源分布论文实现的开源分布式式 NewSQL 数据库数据库。中小企业基于开源的中小企业基
11、于开源的Web架构演架构演变变3灾备的六个等级灾备的六个等级灾备的七个要素灾备的七个要素序号序号要素要素要素的考虑要点要素的考虑要点1备用基础设施灾备数据中心选址2数据备份系统数据备份范围;备份技术;3备用数据处理系统数据处理能力;平时的状态(处于就绪还是运行);4备用网络系统备用网络通信线路通信线路的使用状态5灾难恢复预案完整的灾难恢复预案定期的灾难恢复演练6运行维护管理能力运维组织架构、人员数量和技术管理制度等7技术支持能力软件、硬件和网络等方面的技术支持灾备的两个主要目标灾备的两个主要目标RTO:(Recovery Time Objective)恢复时间目标:灾难发生后,信息系统或业务功
12、能从停顿到必须恢复的时间要求。RPO:(Recovery Point Objective)恢复点目标:灾难发生后,系统和数据必须恢复到的时间点要求。灾备分业务、分层、分阶段建设灾备分业务、分层、分阶段建设先有,后完善先有,后完善。灾备机房非对称配置灾备机房非对称配置。徘徊在徘徊在“冷备冷备”和和“双活双活”之间之间。按业务重要性,先实现重要业务,再按业务重要性,先实现重要业务,再实实 现边缘业务现边缘业务。按架构分层从下往上实现按架构分层从下往上实现。不同业务实现不同的灾备等级不同业务实现不同的灾备等级。灾备建设1.0版本目录目录DevOps杂杂谈谈1运维知识体系与职业发运维知识体系与职业发展
13、展2中小企业基于开源的中小企业基于开源的Web架构演架构演变变3全链路自动化运维体全链路自动化运维体系系4QA5自动化运维发展历程自动化运维发展历程自动化运维建设要从自动化运维建设要从“痛点痛点”出发出发痛点案例:痛点案例:原因原因:03:00-06:00数据库主库升级打补丁任务任务:1.查找所有业务系统中03:00-06:00的所有定时任务,确定哪 些定时任务连接需要停机数据库。2.查找到的定时任务,都属于哪个项目、负责人是谁、定时 任务谁提交的?是否可以暂停?和相关人员进行协调3.不能暂停的定时任务,是否可以操作从库?如果停机维护 完毕后,这些定时任务是否需要重新运行?全链路自动化运维体系全链路自动化运维体系SaltStack自动化配置管理自动化配置管理 1.系统初始化 2.基础模块 3.应用模块OpenStack私有云架构私有云架构 1.中小规模私有云建议使 用VLAN。2.分布式存储GlusterFS,未来向Ceph迁移。3.多集群建设,避免单点,独立开发作业平台。谢谢谢谢