云和运维(SRE)的半生缘-深读实证02
这个标题不算太夸张,云计算和很多IT岗位都有缘,但是和运维(SRE)岗位的缘分最深。
“深读实证”系列文章都会结合一些外部事件,点明分析《云计算行业进阶指南》书中的内容。本次分享介绍了下列内容:
我以运维/SRE的身份而自豪,感谢诸位运维大佬把我当做自己人。
运维是最主要的云用户,天然了解云产品,也最多接触云厂商。
最值钱的云产品都是资源型云产品,而运维是最了解IT资源的工程师。
运维交付的就是业务承载能力,这种心态更适合做企业技术服务。
云计算重度改变了甲方的运维工作,比如DevOPS和多云冗余。
结束语和本次活动宣传海报。
注意:本文的运维指的精通IT技术的业务运维,我个人更习惯将此岗位叫做“运维”,而SRE-elite的朋友们更习惯叫SRE。那些只负责盯监控、打网线、上架设备的“运维”,我尊重每一个劳动者,但这些工作和本文没有任何关系。
1. 老运维从云端回家看看
我经常说自己天生适合做云,其中一多半原因是我做运维(SRE)时的技术水平还不错。在云产品规划设计、云用户促销推广、云资源调度分配等等工作,都需要用到我做运维积累的知识。
很高兴接到SRE-elite的邀请,我将参加6月22日小米科技园举办的“SRE精英联盟北京站”活动,能够现场学习《SRE实践白皮书》,也期待能认识一些参会的新朋友。这本《SRE实践白皮书》非常硬核,全部都是体系化的SRE工作标准。
SRE-elite确实是个“精英联盟”,包含了成哥、书记、宇聪、黄亮、亚丹、石鹏等运维高手。这几位高手都愿意和我商业互吹,主要是因为我至今能够胜任SRE技术专家工作,我和他们是“自己人”,只是我的志向是做云计算而已。
本次开会时会介绍,《SRE实践白皮书》更新到了到1.0.3版。这本白皮书介绍都是最硬核的运维工作,深入介绍了“可靠性架构设计”“研发保障”“入网控制”“发布管理”“故障应急”等等工作流程。
我上篇文章刚解释,我写的“进阶指南”不会包含实操过程,然后我看了看SRE白皮书……嚯……这本白皮书比我的书还要硬核,全部介绍的是“这一流程有哪些步骤,这些步骤要做到什么程度”。
这本白皮书是一座无言的丰碑,它不会讨好读者,但读者想做好SRE工作,就要一板一眼的执行操作步骤。这些操作步骤的关键词已经足够清晰,很方便读者自行搜集实操资料;但如果读者投机取巧想想省几个步骤,那就是自己在给自己挖坑……。
为保障阅读体验,活动相关海报放在文末了。

2. 运维是云计算的主要用户
我的书《云计算行业进阶指南》中出现了50多次“运维”这个词。因为运维是最主要的云用户,天然了解云产品,和云厂商的接触也对最多。
我对云计算的定义,云产品的操作员必须是计算机工程师。这个工程师群体包括运维、架构、后台开发。抛开全能个人开发者来看,运维的人数远比其他工程师要多得多。
运维天然了解云产品,这是因为IaaS云产品的设计目标就是“模拟基础设施”,PaaS产品的工作就是“模拟中后台服务”。研发不会跟运维抢基础设施的工作,中后台服务从搭建到维护到监控到备份也是SRE运维的工作范畴。
在甲方技术团队中,运维和云厂商打交道的经验最多,既要面对云销售和云售前套消息,还要找云售后投诉,还要面对云产研来访谈和忽悠,就算是PaaS云也要做好监控、多云冗余和对账。因为总和云厂商打交道,在日常交流中,运维工程师也最容易发现“云厂商养了一堆草包,彼可取而代”的事实。
下图选自本书第13页,在第一章就有连续多段内容都提到了“运维”。

3. 运维天生更理解资源
要做好运维工作,必须深入了解软硬件IT资源的质量特性和承载能力,而云厂商能带来大额营收的云产品只能是资源型云产品。这种天然理解资源的技能底蕴,让运维工程师转岗到云厂商时,有充分的择业自由空间。
只有资源型云产品才能为云厂商贡献大额营收,无论是制作还是使用资源型云产品,都要掌握理解IT资源的特性、用量和状态。《SRE实践白皮书》中高频率用到了“资源”“群集”“平台”“用量”“成本”“账单”等等IT资源相关的技术用语,我也在向SRE-elite的大佬们提意见,在后续版本的白皮书中,很可能会加入专门的资源定义章节。
当站在甲方客户、云销售、云售前、云售后这些产品外部视角工作时,我们需要评估云产品的资源质量,优先使用优质或廉价资源,并监控用量余量等信息,这些信息也会广泛的应用到云厂商商务PK和用户保障工作中。
当站在产研内部视角看问题时,“掌握理解IT资源”这个技能的价值就更大了。首先云产品线也需要资深SRE工程师;产品经理需要掌握资源相关技能,才能完成产品设计、销售、实施的一系列工作;我比较看重的资源运营岗位,那更是直接写明了优先招聘运维工程师。
请注意,运维跳槽到云厂商有广泛的选择空间,并不代表我推荐各位运维去所有岗位都实验一遍,云职场没那么宽容,每个人的职场选择都要具体问题具体分析,比如我专门写过《工程师为什么不转销售》。
下图选自书稿的16.1章节,276页:

4. 运维思维更适合做技术服务
我写过多篇强调云厂商要做好技术服务的文章,本文是谈运维的,所以换个角度解释技术服务。
云厂商给客户吹嘘“我能提供无限服务”时,根本不是服务思维,而是产品经理对未知领域随手画大饼的习惯;云厂商实际执行过程中萎缩成“我只提供产品和资源”,这是标准的研发心态,只保障自己100%能保障的工作。相比之下,运维向公司承诺的是“保证平稳承载业务”,这种兜底心态和积极的工作范围更适合做好企业服务。
我的书中多次强调,“云产品、云资源、云服务”,这三个名词在很多语境下可以无缝互换。但是,很多云从业者只尊重云产品,不了解云资源,对云服务那是肆意随性的画大饼但永不兑现,就是因为他们对服务没有任何概念。但运维出身的朋友,对服务承诺都有天生的敬畏之心。
企业客户最烦云厂商的并不是虚假承诺,而是云厂商认栽摆烂。比如,云厂商出现意外后,产研销售很容易做好赔偿、丢单甚至失业的准备,然后蹲在路边等事态进展。这几个角色的工作习惯就是“只有认栽,没有兜底”,而运维的工作心态是“认栽没意义,必须本人兜底”。
除了工作心态之外,运维跳槽到云厂商做服务,还有个天然的优势;云厂商的服务对象也是运维,老熟人不仅仅是产品技术的沟通效率高,对很多职场潜台词也是心意相通的。我在书中第290页对这种默契做了明确的介绍,下图虽然提到都是“技术服务专家”,但该岗位最佳的人力来源就是甲方运维。

5. 云计算改变甲方运维的工作
要跳槽到云厂毕竟是个长期规划,云计算也深刻影响着运维的日常工作。大家读我的书能理解很多云产品的资源秉性,也知道如何更顺畅的和云厂商打交道。云产品是各位运维开展工作必须依赖的资源,基于这些资源,我们才能做好DevOPS、多云冗余等务实技术。
我在云主机的产品介绍中就明确解释了,只有软件定义的虚拟硬件,外加弹性极大的公共资源池,运维工程师才能够施展开DevOPS技术。如果是固定锁死的资源池、缓慢变更的真实硬件,SRE能做的资源调度工作会极大受限。
各位SRE不要盲目信任单云可靠性,多云冗余是必须做的技术选型;《SRE实践白皮书》制订过程中也有对“多云”“混合云”的重度考量。云厂商出不出故障,不影响运维要为业务稳定性兜底,跨云弹性部署,是运维圈最流行的技术。
云厂商面向客户确实有很多不实宣传,但客户也要适度理解一下,供应商老实坦白的话,在你们眼里就变成了土鳖和摆烂。本书中对很多云产品、云岗位进行了祛魅揭露,让大家能减少被不实宣传误导的概率,这也是一个重要的帮助。

6. 结束语和活动海报
我年轻时做运维工程师,做过很多稀奇古怪、毫无价值的“瞎折腾工作”。从事云计算行业以后,那些无聊苦涩的经历,居然都兑现成了工作能力和认知深度。因此我很感谢云计算行业,这让我的折腾变得更充实有意义;当然,我也忘不了运维,因为这些工作折腾都是在强化兜底思维和服务意识,也让我比大部分云从业者更了解资源和技术。
下图是SRE精英联盟北京站的活动海报,时间下周六,地点小米科技园,我也会去现场。我不会尬聊推销图书,但也不会摆谱装高冷,所以我选择在会议茶歇时段,循环播放一段无声视频,有兴趣的朋友可以看看,会议间歇也可以当面聊聊这本书。

相关文章:
云和运维(SRE)的半生缘-深读实证02
这个标题不算太夸张,云计算和很多IT岗位都有缘,但是和运维(SRE)岗位的缘分最深。 “深读实证”系列文章都会结合一些外部事件,点明分析《云计算行业进阶指南》书中的内容。本次分享介绍了下列内容: 我以运维…...
java基础操作5——java自定义获取任意年、月、日的起始和结束时间
在实际项目开发过程中,获取任意时间的起始和结束时间是常用操作,尤其对于统计业务来说,更是必要操作,理解了时间自定义的规律,对于开发人员的效率提升是大有裨益的。 一.获取任意年的起始和结束时间 1.获取任意年的起…...
【Java04】引用变量数组初始化的内存机制
引用类型数组指向的元素也是引用。其本质是: 由一个在栈上的引用数组变量指向一块堆内存;这块堆内存里存储的元素是引用,又分别指向其他堆内存。 class Person // Person是一个自定义的类 {public int age;puiblic double height;public vo…...
基于JSP的足球赛会管理系统
你好呀,我是计算机学长猫哥!如果有相关需求,文末可以找到我的联系方式。 开发语言:Java 数据库:MySQL 技术:JSP技术 工具:IDEA/Eclipse、Navicat、Maven 系统展示 首页 个人中心 球队介绍…...
博客摘录「 AXI三种接口及DMA DDR XDMA介绍(应用于vivado中的ip调用)」2024年6月10日
关键要点: 1.AXI Stream经过协议转换可使用AXI_FULL(PS与PL间的接口,如GP、HP和ACP)。 2.传输数据类里就涉及一个握手协议,即在主从双方数据通信前,有一个握手的过程。基本内容:数据的传输源会…...
Bigtable: A Distributed Storage System for Structured Data
2003年USENIX,出自谷歌,开启分布式大数据时代的三篇论文之一,底层依赖 GFS 存储,上层供 MapReduce 查询使用 Abstract 是一种分布式结构化数据存储管理系统,存储量级是PB级别。存储的数据类型和延时要求差异都很大。…...
RAG下的prompt编写探索
针对特定领域的回答,编写抽象的prompt需要在细节和灵活性之间找到平衡。我们需要一个既能涵盖普遍步骤又能适应不同问题的框架。以下是如何在这种情况下编写抽象prompt的方法,以及适用于各种技术领域的通用策略。 一、编写抽象Prompt的通用策略 定义用户问题和背景信息: 明…...
【计算机组成原理】指令系统考研真题详解之拓展操作码!
计算机组成原理:指令系统概述与深入解析 1. 指令系统概述 计算机软硬件界面的概念 在计算机组成原理中,指令系统扮演着至关重要的角色,它是计算机软硬件界面的核心。软件通过指令与硬件进行通信,硬件根据指令执行相应的操作。指…...
北航第六次数据结构与程序设计作业(查找与排序)选填题
一、 顺序查找的平均查找长度ASL(1 2 …… n)/ n (n 1)/ 2 二、 这半查找法的平均查找次数和判定树的深度有关系。若查找一个不存在的元素,说明进行了深度次比较。 注意,判定树不是满二叉树,因此深…...
Optional详解和常用API
目录 一、Optional简介 二、构建Optional对象三种方式 2.1 Optional.of(value) 2.1.1 使用案例 2.2 Optional.ofNullable(value) 2.2.1 使用案例 2.3 Optional.empty() 2.3.1 使用案例 三、Optional常用的api解析和使用案例 3.1 isPresent 3.1.1 使用案例 3.2 ifPrese…...
Unity 3D 物体的Inspector面板
1、Transform:位置、旋转、大小 2、Mesh Filter:物体的形状 3、Mesh Renderer:物体渲染(物体的衣服) 4、Collider:碰撞体...
闪烁与常亮的符号状态判断机制(状态机算法)
背景说明 在视觉项目中,经常要判断目标的状态,例如:符号的不同频率闪烁、常亮等。然而常规的视觉算法例如YOLO,仅仅只能获取当前帧是否存在该符号,而无法对于符号状态进行判断,然而重新写一个基于时序的卷积…...
Hyper-V如何将文件复制到虚拟机?教您3个简单的方法!
需要将文件复制到虚拟机! “大家好,有谁知道Hyper-V怎么将文件复制到虚拟机吗?我有一些文件,想要从主机中复制进虚拟机中,但是我不知道该怎么操作,有谁可以帮帮我吗?谢谢。” Hyper-V虚拟机可…...
Vue主要使用-03
组件通讯 组件通讯也是我们需要了解的,在我们的实际开发中,我们使用的非常多,比如父组件内的数据传入到子组件,子组件的数据传入到父组件,什么是父组件什么是子组件?父组件内包含着我们的子组件,我们的父组件可以有多个子组件,父组件就是我们使用子组件拼接的。 …...
LoadBalance客户端负载均衡
1. 前言Ribbon Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时࿰…...
Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描 Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接:Burp Suite Professional 2024.5 (macOS, Linux, Windows) - Web 应用安全、测试和扫描…...
逢3必过报数游戏-第13届蓝桥杯省赛Python真题精选
[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第84讲。 逢3必过报数游戏&…...
解决Qt的multimedia库在clion中依赖库补全的问题
解决Qt的multimedia库在clion中使用报错的问题 在clion中,使用Qt的multimedia库时会报如下错误: defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer" 我猜测出现这个错误的原因很可能是因为…...
图像处理:Python使用OpenCV进行图像锐化 (非锐化掩模、拉普拉斯滤波器)
文章目录 非锐化掩模 (Unsharp Masking)拉普拉斯滤波器 (Laplacian Filter)效果对比总结 在图像处理中,锐化操作用于增强图像的边缘和细节,使图像看起来更清晰。常见的图像锐化方法包括非锐化掩模(Unsharp Masking)和拉普拉斯滤波…...
windows用脚本编译qt的项目
mingw的 cd build ::设置jom环境 set PATHC:\Qt\Qt5.15.2\Tools\mingw810_32\bin;%PATH% set PATHC:\Qt\Qt5.15.2\5.15.2\mingw81_32\bin;%PATH% ::设置Qt环境 amd64_x86 或者 amd64 ::CALL "D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxilia…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
