运维是偏向实践的技术,关键是折腾,原理的东西不想说很多,这里主要讲讲功能和实践。功能是指这个技术的价值,带来的便利。实践是用实际项目的部署作为例子进行学习。至于原理只是了解,能更好的应用工具。
从开发角度而言,了解运维最大的价值是帮助自身了解应用的性能问题。很多时候线上问题都是出现在这种跨界的地方。
概述
运维包括什么?从工作职责的角度说:
- 部署
- 监控
目的是实现应用的高可用HA,具体有这些角度
- 对开发、测试、生产环境的持续集成,持续发布,持续部署(build publish deploy)
- 集群部署、监控、管理
- 性能监控
- 服务监控
- 数据库监控
- 网络环境部署
- 安全性
- 其他
- 数据库调优,备份
技能
- linux系统了解与操作
- 常用命令与shell脚本
- find
- awk、sed
- 网络测试命令
- 系统工具
- 配置工具
- 监控工具
- 常用命令与shell脚本
- 网络知识
- 网络协议基础
- iptable
- 安全常识—防火墙配置
- 部署
- 虚拟化技术
- 虚拟机
- docker
- web应用部署
- 负载均衡方案
- nginx配置
- lvs
- tomcat
- 分布式缓存方案
- 分布式数据库方案
- 负载均衡方案
- 单点失效问题 keepalive
- 虚拟化技术
- 数据库
- mysql优化
- 自动化
- shell脚本
- python
- 工具
- N多最佳实践
学习
这部分学的比较杂,基本是遇到什么问题就google一下。
- 鸟哥的私房菜-基础篇(大学时学过)
- 鸟哥的私房菜-服务器(有空翻一下)
- man