一、运维工作的目标客户和工作流程
一般意义上,目标客户分为公司的开发人员、公司的业务人员、公司的目标客户和自己(即运维本身),对这三部分用户,运维人员的工作区也分为三个方面,呈现的特点也不同
(1)内部开发人员
主要是给开发人员提供底层支持,例如代码上线,开发需要的服务(redis&memchaeh&elk等)搭建,开发过程中日常任务的支持(清一下redis缓存,导出一个库&表)等,很多时候需要给开发搭建好某服务,而开发人员会在代码中指定他们的调用关系,这种调用关系涉及到具体的业务层面的设计,运维可以了解一下,但已不用深入;
(2)公司的业务人员
主要是一些办公设备的维护,例如网络,电脑,内部的打印机,投影仪等
(3)公司的目标客户
提供整体的服务支撑,即对整体架构的规划,对服务器性能的提升,对服务器运行的监控,保障外部客户能够安全、稳定的访问到公司的线上产品;
(4)自己
主要是为了提高工作效率,或者因为业务需要而实现的一些自动化运维工具(hadoop、anzible等)的使用,一些自动化运维服务(例如制作很多模板以便装新机器提高效率,编写shell脚本以实现某些服务的批量安装等)的实现
二、运维过程中各个组成部分的理解
基于一个正常的访问流程,对运维分为以下几个部分:
nginx:既可以做web容器,也可以做代理
tomcat&php-fpm:处理动态代码
redis&memcache:数据库缓存
mysql:提供数据存储服务
cdn:静态资源(图片,视频,js等)的加速
而对于运行过程中的监控,又分为elk,zabbix,cacti,nethogs等;
上述每一种服务都需要很多理解,而各种服务(除监控服务外)之间又可以做成集群,每一种集群中的原理也不太一样,因此,对这些东西的学习,需要时间和贯通的