二、自动化运维架构师的三大核心能力

机器取代了那重复性工作, 资深技术人员正从"执行者"朝着"设计者"进化。

五年之前, 有一位身为运维工程师的人, 其日常情形是, 每日里登录服务器去检查日志, 手动开展备份数据库的操作, 一台一台地去更新配置文件。等到服务器的数量由几十台增长至几百台之时, 此人开始着手撰写脚本, 当脚本演变成一堆极难加以维护的"屎山"之际, 此人开启思考, 想的是, 可不可以设计出一套平台, 让机器自行去做这些事情呢。

就在五年后的这个今日, 他竟然已然成为了一家互联网公司的自动化运维架构师, 负责管理着数千台服务器相应的自动化平台。曾经那些非得通宵熬夜去做的"重复劳动", 现如今在这个平台之上只需一键就能搞定。并且他从事的工作, 从之前的"救火"摇身一变成为了"设计防火系统"。

这个故事并非是单独的例子, 在IT运维范围之内, 一场意义极为深厚的变革现今正在出现, 自动化正逐步替代重复性的工作, 并且"设计自动化"正渐渐变成新的关键竞争力, 对于年龄超过35岁的运维工程师来讲, 自动化运维架构师正逐渐产生一种朝着理想的进阶方向, 也就是从"体力"朝着"脑力"而转变, 从"执行"朝着"设计"而转变的途径。

一、从"写脚本"到"设计平台":一场思维跃迁

每位运维工程师都曾撰写过脚本, 先是最早的批处理文件, 接着是Shell脚本, 而后是自动化工具, 脚本解决了"单个问题", 然而当问题增多、变得复杂起来时, 脚本自身就成了新的问题。

脚本属于那种"点状"的解决办法, 备份要写一个脚本, 监控得写一个脚本, 部署需写一个脚本。每个脚本单独运行, 彼此之间不进行通信, 维护成本会随着脚本数量呈线性增长。

自动化平台呈现出"面状"这一类型的解决办法, 把在备份方面、监控方面、部署方面以及配置管理层面等所持有的能力, 予以抽象化进而成为平台所提供的服务。全部脚本所具备的逻辑, 都被重新构建成为平台的模块, 经由统一的界面来实施调度, 借助统一的日志予以追踪, 依靠统一的权限开展管控。

从"写脚本"开始, 随后直至"设计平台", 这其中所涵盖的, 不仅仅是技术栈方面的升级, 更加是思维方式的一次跃迁:

对于年龄在35岁及以上的工程师来讲, 这种思维的跃迁恰恰就是经验所具有的价值。那些曾经经历过无数回重复劳动的人, 才切实明白哪些事情是最值得去进行自动化操作的;那些曾经处理过无数次故障的人, 才切实清楚自动化系统需要去防范哪些风险。

二、自动化运维架构师的三大核心能力

核心能力一:基础设施即代码(IaC)

正成为自动化运维架构师"笔和纸"的, 是这些 IaC 工具。

基础设施即代码的核心思想, 是把服务器、网络、具备负载均衡功能等基础设施的配置, 当成代码那样去进行管理。服务器不会是先前手工设置的宠物那种状态了, 而变为代码所定义之类表现形式。当有新环境的需求之时, 并非登录服务器一台一台去配置, 而是执行代码通过一键来促成创建。

有优势的资深运维工程师在于, 他们对"手工配置有多坑"了解得极为透彻, 他们遭遇过"测试环境能正常运行、生产环境却无法启动"这般尴尬的状况, 遭遇过"某台服务器配置与众不同、却没人清楚其缘由为何"那种困惑的情形, 遭遇过"服务器出现宕机从而进行重建时、却发觉配置忘记备份了"这种绝望的境地。正是这些经历,使得他们切实领会了IaC的价值------并非是"追赶潮流", 而是"填补巨大漏洞"。

核心能力二:CI/CD流水线设计

持续集成与持续交付这种CI/CD, 属于自动化的"主动脉", 代码从提交开始, 历经测试阶段, 再到构建过程, 最后走向部署, 所有环节经由流水线自动串通连接在一起呀。

自动化运维架构师所要理解的并非仅仅是CI这类工具, 而是流水线设计的原则: 怎样去平衡速度与质量, 怎样在确保安全的情形下提高发布效率, 怎样设计回滚机制以使失败能够迅速恢复。

对于年龄在三十五岁及以上的工程师来讲, CI/CD设计的关键挑战并非技术方面, 而是"权衡", 他们明白: 并非所有变更都得经历完备流程, 并非所有失败都要即刻进行回滚, 这种判断力, 源自于对业务风险的领会, 源自于对团队能力的掌控, 源自于对系统复杂性的敬重。

核心能力三:平台工程与开发者体验

"平台工程", 这是当下最新的趋势, 借由构建内部开发者平台, 能使开发者得以凭借自助的方式去使用基础设施。

处于传统模式之时, 开发者得去提交工单, 而后等着运维来分配资源;而在自动化模式当中, 开发者能够借助平台自行去创建环境, 进而部署应用, 这可不单要是效率得到提升, 更是组织能力被加以释放呀。

自动化运维架构师于该领域所具备的价值, 在于去构思设计出, 那种"好用"的平台, 并非是那种拥有"众多功能"的平台, 而是要塑造成, 那种能使"开发者乐意去使用"的平台, 达成这般效果, 就亟需对开发者相关体验有着深切的领会, 还得把运维所具备的专业技能, 整合成简洁便利、易于运用的一类服务, 资深的运维工程师, 最为清楚知道开发者心里"不想涉猎知晓的事宜"~亦即比如不想去钻研知晓网络该如何进行配置、不想去了解明悉存储该怎么实施挂载以及不想去琢磨懂得负载均衡该怎样进行设置等这些内容进而他们所精心设计规划雕琢而成构筑培育打造完成的平台, 便可让那些开发者在该平台上面, 完全只需倾注精力心思主要关注留意聚焦于自身所编写调试的代码就可以了的呢!

三、经验的价值:那些自动化做不到的事

自动化能够执行预先设定好的流程, 然而却没办法回答"应当预设怎样的流程", 能够触发预先设定的告警, 可是没办法判断"这个告警值不值得半夜起来", 能够依照规则进行扩缩容, 不过没办法预先判断"下周大促会有多少流量"。

这些"自动化做不到的事",正是资深工程师的价值所在。

搞设计自动化的那些人, 相较于自动化自身而言更为重要。自动化系统所具备的质量, 是由设计者对于业务的理解程度、对风险的预先判断情况、对待异常场景的思考考量所决定的。一个拥有出色设计的自动化系统, 能够使百分之九十九的问题实现自动处理, 将百分之一的异常状况留给确实需要人去进行判断。

所自动化予以释出的是 "重复劳动", 而沉淀下来的则是 "创造性劳动"。当机器承接了日常巡检、备份恢复以及配置变更之时, 工程师能够专心致力于架构设计、性能优化以及容量规划。这些工作是无法被自动化所替代的, 原因在于其所需求的乃是判断力而非执行力。

对35岁以上的工程师来讲, 这有着这样的意味: 自动化并非是那种"取代你"性质的威胁, 而是属于"解放你"的那种机会。它能使你从繁杂琐碎的重复劳作当中脱身出来, 进而去从事那些确实是需要经验、需要判断、更需要创造的工作。

四、进阶之路:如何成为自动化运维架构师

对于有意向自动化方向转型的运维工程师,以下路径值得参考:

首先, 要熟练掌握起码一款IaC工具, 它起始阶段相对容易学, 适宜用于配置管理, 接着深入去钻研, 领会声明式配置的理念, 不能仅仅停留在"会运用", 得明白其本质、有所限制之处以及最佳的实践做法。

首先, 进入第二步, 即深入到CI/CD体系中去, 接着要搭建起完整的CI/CD流水线, 达成从代码提交一直到生产部署整个流程的全自动化, 随后明白不同阶段所具有的价值, 这些价值涵盖单元测试、集成测试、灰度发布、金丝雀发布以及蓝绿部署, 最后在项目里展开实践, 从而使得流水线切实能够服务于业务流程。

第三步, 要进行学习开发, 并非仅仅局限于运维方面。自动化架构师是需要具备一定开发能力的, 起码要掌握一门编程语言, 比如/Go。其目的并非是要成为开发人员, 而是为了能够和开发团队实现顺畅沟通, 并且是为了能够去开发定制化的自动化工具。

第四步: 培育"平台思维", 并非仅仅是"打造一个工具", 而是要"谋划一个平台", 思索用户究竟是谁, 使用场景到底是什么样的, 怎样去降低使用的门槛, 如何确保稳定可靠, 从"功能"迈向"产品", 从"工具"转向"平台"。

五、结语:35岁不是终点,而是分水岭

对 IT 运维工程师来讲, 35 岁并非职业的终点, 而是起了变化的界限, 即从依靠体力转变为借助经验, 由执行者转变为设计者, 从技术观点迈向业务观点。

一个被称为自动化运维架构师的角色, 恰好证实了这种改变所具备的价值, 它并非要求你在操控命令方面比年轻的人更为擅长, 实则是要求你在知晓哪些事物值得运用自动化手段、怎样进行自动化操作方可确保稳定以及实施自动化之后如何进行管理等方面, 要比其他任何人都更为精通, 而这些能力, 是源于经历千万次重复性工作之后所获得的深切体会的那些, 是源自历经无数次对故障加以处理过程中积攒下来的经验的那个, 是源于对"人机协作"界限有着敏锐洞察能力的那种。

实际的职业安全, 并非在于寻觅到一个永远不会被淘汰的岗位, 而是在于具备持续不断进化的能力。当重复性的工作被机器给取代了的时候, 那些可以设计机器当中的机器、定义流程里面的流程、判断边界之上的边界的人, 永远都不会被时代淘汰掉。

于技术这个始终保持年轻化态势的行业当中, 最为稀缺的资源向来都不是青春时段, 却是那些"唯有时间才能够予以的事物", 比方说对于重复劳动内在本质的理解, 又如对于自动化边界所具备的敏锐判别, 再如对于"何种事物值得自动化、哪样事务必须由人来完成"所拥有的深刻洞悉。

相关推荐
长不大的杨瑞杰2 小时前
OpenCode v2 CI 与自动化实战:无交互运行、权限收口与制品闭环
运维·人工智能·ci/cd·自动化·软件工程·1024程序员节
Madison-No720 小时前
Jenkins持续集成
运维·ci/cd·jenkins
迪康软件zz21 小时前
从 PHP 高危漏洞看纵深防御:资产盘点、补丁管理与端点防护实践
运维·安全·自动化运维
智能运维指南1 天前
企业 IT 管理软件如何选型?先理清监控、服务管理、配置与自动化能力
运维·自动化·自动化运维·嘉为蓝鲸
垚垚学技术_聚焦云原生1 天前
Ansible 变量体系详解:主机变量、组变量、全局变量优先级实战
ansible·自动化运维·devops·变量优先级
kaixin_learn_qt_ing1 天前
CI/CD是什么
ci/cd
smartpi_ai2 天前
离线语音芯片怎么选:SU、CI、JX、JL 系列语音模块选型指南
人工智能·ci/cd·语音识别
智能运维指南2 天前
企业 IT 运维自动化平台怎么选?从场景匹配到 POC 验证的完整评估框架
运维·自动化·自动化运维·嘉为蓝鲸
极小狐2 天前
跨项目流水线报 404 Not Found?CI_JOB_TOKEN 允许名单 9 步排查
ci/cd·gitlab·devops·权限管理·流水线·极狐gitlab·作业令牌