☁️ 第七章 云服务的导入
📄 一句话概括

从自建到用云,上线一套系统的步骤其实没少几步,少的是等待——被压缩掉的几乎全在【准备阶段】。但更快不等于更轻松:导入工作的内容从【物理的】变成了【逻辑的】,从【把线接对】变成了【把配置填对】。而后者有一个更麻烦的特点:它错了不响。

📝 本节和前面几节的关系

它接着 7-3 往下走:战略对齐解决了【先做哪个】,这一节开始真正动手,要看清楚【动的手变成了什么样子】。

它同时把 4-8 那节【基础设施代码化】的动机落到了导入现场:那一节讲的是【为什么要用代码管基础设施】,而这一节讲的是【导入这一刻,你实际面对的活儿是什么】。

一、快的是准备阶段

先把一句容易被说糊的话说清楚:云并没有让【上线系统】这件事消失,它压缩的是其中一个特定阶段。

把上线一套系统拆成两段:

云压缩掉的是第一段,第二段几乎原样保留。 所以【云上线很快】这句话,准确的版本是【环境准备很快】——你要写的那部分代码、要改的那部分配置,一行都没少。

这条区分很实用:如果项目卡在【环境还没到货】,云能帮上大忙;如果项目卡在【代码还没写好】,云一点忙都帮不上。

二、动手 Demo:自建与云的两条时间线

看到什么算成功:

==================================================================================================
【Demo 4】导入过程的差异:导入工作
==================================================================================================

  【一】同样上线一套系统,两条路的节奏不一样

  阶段                  自建机房                    使用云服务
  --------------------------------------------------------------------------------------------
  1 需求与设计          自己做                      自己做
  2 选型与采购          询价、招投标                网页上选规格
  3 到货与安装          等 4 ~ 8 周,进机房上架     几分钟就开通
  4 环境搭建            装系统、配网络、装中间件    控制台点选托管服务
  5 上线与回滚          排割接窗口,回滚很麻烦      滚动发布,随时可回滚

  【二】时间账(同一套中等规模的系统)

  环节                  自建机房        云服务          差异
  --------------------------------------------------------------------------------------------
  采购与审批            4 ~ 8 周        当天            在线下单
  硬件到货              2 ~ 4 周        0               机器已在机房
  安装与配置            1 ~ 2 周        几小时          中间件交给托管
  首次可用(合计)      7 ~ 14 周       1 ~ 3 天        从数十天到几天

    注意:快出来的这一段,几乎全在【准备阶段】——
    真正写代码、改配置的活儿,两条路一样多。

  【三】导入工作的【内容】也变了

    自建:把机器装进机柜、把线接对、把系统装好
      出错大多是【物理上的】:接口松了、电源不够了

    云上:把配置填对、把权限收紧、把标签打全
      出错大多是【逻辑上的】:端口开大了、权限给多了

    → 这也是为什么第六章讲的安全,在云上更依赖【配置】:
      你不再需要拧螺丝,但填错一个勾,可能就是一个洞口。

读结果:

三、导入工作的内容也变了

把第三段展开成一张对照表:

环节 自建机房 云上
采购 询价、招投标、签合同 网页上选规格
到货 等物流,验货 不存在
上架 进机房,接电源网线 不存在
装系统 装 OS、打补丁 选镜像
配网络 拉线、配交换机 改安全组、配路由表
出错方式 物理的、会响的 逻辑的、不响的

最后一行的差别最值得注意:自建时代的错误大多是【显性】的——线没接好,机器不亮;电源不够,直接跳闸。这些都会立刻被发现。 而云上的错误大多是【隐性】的——端口开了 0.0.0.0,业务一切正常,只是全世界都能连进来;权限给多了一点,日志里也看不出异常。

所以云上导入真正需要补的,不是【操作技能】,而是【复核习惯】——每填一个开通项、每加一条规则,都要问一遍【这条能不能更小一点】。这正是第六章反复讲的那件事,在这里换了一个场景重演。

四、为什么【填表单】比【拧螺丝】更容易出错

这一节最后落在一个反直觉的结论上:操作变简单了,出错反而更容易。

原因有三条:

三条合起来,就是这一节真正要带走的东西:变快的同时,必须补上一个新的动作——【复核】。 而这个动作没有工具能替你做(工具只能提醒,判断还得靠人)。

下一节把视角再抬高一格:既然动手快了、出错方式变了,那么【目标】该怎么定,才能让这件事不跑偏?

30 秒实验

打开任意一个云服务的控制台(或者你能找到的任意一个网络设备的设置页),做一件事:

找到【默认设置】,然后挑三项问自己:

  1. 它默认是开着还是关着?
  2. 如果它一直是默认值,会有什么暴露?
  3. 你原本【以为】它是什么状态?

做完你多半会发现一两项和你以为的不一样——这就是本节【隐性错误】在你手上的第一次现身。而更值得记住的是:它现在【一切正常】,不会给你任何提示。 这类错误只能靠【主动看一遍】发现,不能靠【等它报错】。

常见误区

  1. 错误:云上导入更快,所以整个项目会更快完成。——纠正:快的只有【准备阶段】,项目总工期往往没变多少。Demo 第二张表里,被压缩的 7 ~ 14 周几乎全是等待;而真正消耗工期的部分(写代码、改配置、调数据、跑测试)两条路一样长。所以如果项目本来卡在【开发】,用云不会让它提前上线——它只会让你【更早地开始】那件同样费力的事。 分不清这两段,就容易对工期做出过于乐观的判断。

  2. 错误:云上不用管硬件,所以运维工作没了。——纠正:运维工作没有消失,它换了个对象。过去管的是机器、机柜、电源、网线;现在管的是配置、权限、标签、配额、账单。工作量未必更少,但性质不同:物理运维靠【能开机】判断,云上运维靠【看不出问题】判断——后者对纪律的要求更高。所以【不用管硬件】的正确含义是【不用管那一类硬件问题】,不是【不用管了】。

  3. 错误:控制台点选比命令行安全,因为不会敲错命令。——纠正:点选降低了【拼写错误】,但提高了【默认值错误】。敲命令时你至少知道自己在做什么;而点选时大量选项是【不点就默认】的,人会自动跳过不理解的项。Demo 第三段说的【端口开大了、权限给多了】,绝大多数不是故意开的,而是没去关。所以点选环境里,真正要练的不是【怎么点】,而是【点完回头查一遍开了什么】。

  4. 错误:导入工作就是技术活,交给技术团队就行。——纠正:这一节的对照表里,有一半的行根本不是技术判断。采购要不要签、权限该给谁、数据落在哪个区域、哪些端口对外开——这些都要业务方拍板,技术团队负责执行和提供事实。云上导入之所以容易出问题,很大一部分原因就是这些决定被默认交给了【执行的人】——而执行的人没有权限说【这个不该开】。

自测三问(点开对答案) 1. 为什么说云省掉的是【日历时间】而不是【工作量】? —— 因为**它压缩的是【等待】,不是【劳动】**。Demo 第二张表里,**采购 4 ~ 8 周、到货 2 ~ 4 周——这些时间不是在做事情,而是在等手续和物流**。云把这两段变成了【当天】和【0】,所以**日历上的几十天消失了,但需要动手的活儿(1 ~ 2 周安装配置)只是从【自己装】变成了【选托管服务】**。**换句话说:云改的是【从想到做之间隔多久】,不是【做本身要多久】。** 这条区分直接决定了对工期的预期是否准确。 2. 为什么【错误不响】这件事,在云上是个比前一条更严重的问题? —— 因为**它把反馈回路切断了**。自建时代,**物理错误会立刻被感知**(机器不亮、跳闸),**所以人有机会马上修正**;而云上的配置错误,**系统会【一切正常地】跑下去**——**错误和症状之间的时间被拉长了几个月。** 更麻烦的是:**这段时间里,团队会建立【我们的配置是对的】这个错误信心。** 所以真正的风险不是**错误本身**,而是**错误被发现得太晚,以致于它已经被当成了基准**。 3. 为什么【默认值偏向能用而不是最安全】这件事,不能被当成服务商的过错? —— 因为**这是一个合理的产品设计选择**。托管服务面向的是**刚开始用、还不了解细节的多数用户**——**如果默认全锁死,大部分人第一次连都连不上,会认为【这服务坏了】**。所以服务商在默认值上**优先保证【能跑起来】**,**把收紧的责任留给了【知道自己在保护什么的人】**。这正好接上第六章讲的**责任共担**:**平台负责让你能用,安全配置是你自己的那一半。** 而**意识到【默认不等于安全】,就是接管这一半责任的第一步。**

相关笔记