加载中...

本篇要回答的问题:云计算到底改变了什么?它经历的资源交付革命容器革命两个阶段各自迭代的是什么?由此推演,服务端的未来会走向何方?

上一讲我们把客户支持、BOSS 系统这些"业务可支持性"补齐,至此服务治理的话题接近尾声。本讲拉高视角做历史性总结:软件服务化让工程师多了 on call 职能,但保证服务质量极难;云计算正是一次"软件交付方式边界"的重新定义——从对交付过程负责,转向对服务质量结果负责。

关键判断:云计算改变了用户与 IT 服务商的配合方式——交付物从"可执行程序/源代码"变成"互联网服务",双方职责更简单清晰。

资源交付革命(第一阶段)

第一阶段是资源交付的云化,变革点在 IT 资源交付效率

环节 云计算之前 云计算之后
采购 买服务器、交换机等物理资源 买预装操作系统的云主机若干台
物流 运送到 IDC 机房并上架 ——
系统 安装基础操作系统 (已预装)
业务 部署业务系统 部署业务系统

IT 产品形态本身没变(物理机→云主机,用户体验差异不大),但交付效率发生巨变:

优化维度 说明
资金优化 消除物流成本
时间优化 省去物流时间,上架/装系统自助化
资源复用率 不同用户的资源聚集,提升使用效率、减少社会浪费

容器革命(第二阶段)

第二阶段以容器革命为标志、以 Kubernetes 为事实标准,迭代的是服务治理能力

服务治理系统的输入输出模型

服务治理的影响因素复杂,大体分三类:

影响因素 性质 典型场景
软硬件升级/配置变更(发布) 计划性 主动升级、参数调整
软硬件环境故障 非预期 不知何时来一下
终端用户请求 非预期 秒杀、恶意攻击、特定请求耗尽资源

为什么基于物理机/云主机的服务治理不够好?

维度 基于物理机的服务治理 高度自治的服务治理(容器)
自动化程度 可以很高
故障应对 需为不可预期故障做临时变更,难形成高质量检查清单 对软硬件故障天然免疫,自我修复
复杂性 各影响因素交织,难彻底解决 因素解耦

变更是故障之源:只有计划性变更才能按发布计划和检查清单有序执行;为恢复故障而做的临时变更更难保证质量。

Kubernetes 已成 DCOS(数据中心操作系统) 事实标准,带来三大改变:

改变 含义
操作对象不再是机器 最核心概念是服务(DCOS 之名由此而来)
硬件资源池化 服务与硬件解绑,可轻松跨物理机迁移
面向逻辑视图描述集群 配置中心只体现业务逻辑,不体现物理特性

容器革命仍在进行,演进漫长——因为它从根本上改变了我们使用计算力的习惯

服务端的未来

服务治理系统的最终迭代将带来:

未来状态 含义
任何业务轻松 7x24 高并发/高可用/高可靠都"小菜一碟"
做业务足够傻瓜化 不再需要服务端工程师,只要 SQL 工程师
做存储中间件足够便捷 不会比写一个内存哈希表难多少

大胆判断:服务端工程师很可能只是阶段性历史产物。随着基础设施完善、服务端开发成本趋近于零,前端与后端将重新合而为一——回到软件时期不分前后端的样子。

总结

云计算和容器革命把服务端的基础设施化推向高潮。第一阶段(资源交付云化)解决的是 IT 资源交付效率;第二阶段(容器革命)解决的是服务治理能力,让系统从"高度自动化"走向"高度自治"。未来,专门的服务端开发工程师也许不再需要。

先把"是什么"回答清楚

概念 一句话说明
云计算 交付方式从"程序/源码"变为"互联网服务",对结果负责
资源交付革命 物理机→云主机,迭代 IT 资源交付效率
容器革命 以 K8s 为标准,迭代服务治理能力,走向高度自治
DCOS 数据中心操作系统,核心概念是"服务"而非"机器"
高度自治系统 对软硬件故障天然免疫、自我修复

一句话速记

云计算两步走——先把"资源交付"云化(效率),再把"服务治理"容器化(自治);终局是服务端基础设施化到不再需要专门的服务端工程师。

几条值得记住的判断

  • 云计算 = 软件交付边界的重新定义:对结果负责而非对过程负责。
  • 变更是故障之源;高度自治系统对故障天然免疫。
  • K8s 已成 DCOS 事实标准,操作对象从机器变为服务。
  • 服务端工程师或是阶段性历史产物,未来前后端可能重新合一。

思考题

许式伟预言"服务端工程师终将消失,前后端重新合一"。结合你今天的工作栈(Serverless、托管数据库、K8s 平台),你认为自己有多少精力实际花在了"业务"上、多少花在了"伺候基础设施"上?这个比例正在往哪个方向变?

公告栏
这是我的个人知识库。
记录技术,也记录生活 —— 读过的、试过的、想明白的,都堆在这儿。
最新文章
网站资讯
文章数目 :
5
已运行时间 :
本站总字数 :
15.7k
本站访客数 :
本站总访问量 :
最后更新时间 :
全局知识图谱
当前页面 已访问 文章 标签
ESC 关闭 · 滚轮缩放 · 拖拽移动 · Ctrl+G 开关