首先祝贺你选择学习Linux|Linux运维职业困惑?给你互联网Linux工作规划( 三 )


丰富的系统知识 , 包括系统工具、典型系统架构、常见的平台选型等;
综合利用工具和平台的能力;
四、Linux运维工作发展过程
早期的运维团队在人员较少的情况下 , 主要是进行数据中心建设、基础网络建设、服务器采购和服务器安装交付工作 。 几乎很少涉及线上服务的变更、监控、管理等工作 。 这个时候的运维团队更多的属于基础建设的角色 , 提供一个简单、可用的网络环境和系统环境即可 。
随着业务产品的逐渐成熟 , 对于服务质量方面就有了更高的要求 。 这个时候的运维团队还会承担一些服务器监控的工作 , 同时会负责LVS、Nginx等与业务逻辑无关的4/7层运维工作 。 这个时候服务变更更多的是逐台的手工操作 , 或者有一些简单批量脚本的出现 。 监控的焦点更多的在服务器状态和资源使用情况上 , 对服务应用状态的监控几乎很少 , 监控更多的使用各种开源系统如Nagios、Cacti等 。
由于业务规模和复杂度的持续增加 , 运维团队会逐渐划分为应用运维和系统运维两大块 。 应用运维开始接手线上业务 , 逐步开展服务监控梳理、数据备份以及服务变更的工作 。 随着对服务的深入 , 应用运维工程师有能力开始对服务进行一些简单的优化 。 同时 , 为了应对每天大量的服务变更 , 我们也开始编写各类运维工具 , 针对某些特定的服务能够很方便地批量变更 。 随着业务规模的增大 , 基础设施由于容量规划不足或抵御风险能力较弱导致的故障也越来越多 , 迫使运维人员开始将更多的精力投入到多数据中心容灾、预案管理的方向上 。
业务规模达到一定程度后 , 开源的监控系统在性能和功能方面 , 已经无法满足业务需求;大量的服务变更、复杂的服务关系 , 以前靠人工记录、工具变更的方式不管在效率还是准确性方面也都无法满足业务需求;在安全方面也出现了各种大大小小的事件 , 迫使我们投入更多的精力在安全防御上 。 逐渐的 , 运维团队形成之前提到的5个大的工作分类 , 每个分类都需要有专精的人才 。 这个时候系统运维更专注于基础设施的建设和运维 , 提供稳定、高效的网络环境 , 交付服务器等资源给应用运维工程师 。 应用运维更专注于服务运行状态和效率 。 数据库运维属于应用运维工作的细化 , 更专注于数据库领域的自动化、性能优化和安全防御 。 运维研发和运维安全提供各类平台、工具 , 进一步提升运维工程师的工作效率 , 使业务服务运行得更加稳定、高效和安全 。
我们将运维发展过程划分为4个阶段 , 如图1-2所示 。
首先祝贺你选择学习Linux|Linux运维职业困惑?给你互联网Linux工作规划

手工管理阶段:业务流量不大 , 服务器数量相对较少 , 系统复杂度不高 。 对于日常的业务管理操作 , 大家更多的是逐台登录服务器进行手工操作 , 属于各自为战 , 每个人都有自己的操作方式 , 缺少必要的操作标准、流程机制 , 比如业务目录环境都是各式各样的 。
工具批量操作阶段:随着服务器规模、系统复杂度的增加 , 全人工的操作方式已经不能满足业务的快速发展需要 。 因此 , 运维人员逐渐开始使用批量化的操作工具 , 针对不同操作类型出现了不同的脚本程序 。 但各团队都有自己的工具 , 每次操作需求发生变化时都需要调整工具 。 这主要是因为对于环境、操作的规范不够 , 导致可程序化处理能力较弱 。 此时 , 虽然效率提升了一部分 , 但很快又遇到了瓶颈 。 操作的质量并没有太多的提升 , 甚至可能因为批量执行而导致更大规模的问题出现 。 我们开始建立大量的流程规范 , 比如复查机制 , 先上线一台服务器观察10分钟后再继续后面的操作 , 一次升级完成后至少要观察20分钟等 。 这些主要还是靠人来监督和执行 , 但在实际过程中执行往往不到位 , 反而降低了工作效率 。