ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

从虚拟机到云原生:云计算十年技术演进与关键拐点解析

从虚拟机到云原生:云计算十年技术演进与关键拐点解析 记性好的朋友应该还记得2015年前后我们聊起云计算说的还是“把服务器放上去”“按需付费”“弹性伸缩”这些词。那时候上云是个大工程要写一堆迁移方案要说服老板要评估安全合规虚拟机开出来还得手工装环境。十年过去同样是“云计算”这三个字背后承载的技术体系、运维方式和业务形态已经完全不是一回事了。这篇文章我不打算写编年史而是从一个从业者的视角把2015到2025这十年里最关键的几个技术拐点、底层逻辑变化和踩坑经验拆开来讲。不管你是刚入行的运维新人还是带团队做技术选型的老手应该都能从中找到一些能直接用上的判断依据。1. 从“资源租赁”到“云原生”上云逻辑在十年间的根本性翻转1.1 2015年之前我们是怎么理解云的2015年的时候大部分企业上云本质上做的事情是“把机房搬进别人的机房”。你买的还是一台台虚拟机、一块块云硬盘、一条条带宽只不过不用自己拉网线、不用自己装空调。那时候的典型架构是运维在云控制台上点击购买几台ECS或者EC2然后按照传统物理机的思路去部署应用装JDK、装数据库、配Nginx、写systemd脚本。云厂商提供的核心价值说白了就是“你不用再等采购流程信用卡一刷机器几分钟就能到手”。那个阶段的痛点非常明确机器虽然“弹性”但应用架构不弹性。流量高峰来了你疯狂扩容Web层但数据库还是那一台连接数一上去照样雪崩。更难受的是云厂商的API能力参差不齐从一个云平台迁到另一个云平台几乎等于重写一遍自动化脚本。我当时做过一个项目客户要求“上云但又不想被云厂商绑定”结果我们在IaaS层之上又封装了一层自己的抽象API现在想想纯属吃力不讨好——底层的资源语义根本就不一样硬抽象的结果就是每一层都在打补丁。1.2 云原生的本质把“资源”变成“能力”到了2018年前后云原生这个概念开始大规模落地。很多人以为云原生就是“用容器、用Kubernetes、用微服务”这个理解只对了一半。云原生最核心的思想变化是把“提供资源”变成了“提供能力”。你不再关心虚拟机有几核几G而是关心“应用能不能以声明式的方式描述自己需要什么”。比如你的应用说“我需要3个副本每个副本需要1个CPU和512M内存”剩下的事情全部交给平台去协调。这里有个非常关键的认知转变传统上云是“应用适应云”云原生是“云适应应用”。怎么理解传统上云你得提前预估流量预留资源把你的无状态应用和有状态应用分开部署手动处理故障转移云原生架构下应用只需要告诉平台自己的SLA要求平台会自动完成弹性伸缩、故障恢复、滚动更新。这听起来很美但实际上对开发和运维的协作模式提出了全新要求。我自己在落地云原生时的真实感受是容器化相对容易难的是把“不可变基础设施”的理念贯彻到底。以前服务器出问题运维习惯SSH登上去“修一修”云原生的铁律是——服务器是牲口不是宠物出了问题直接杀掉重建绝不在上面修修补补。这个转变我见过太多老运维适应不了因为他们引以为傲的“复杂故障排查能力”突然变得没有价值了。1.3 十年逻辑翻转带来的商业化结果从商业角度看这个翻转最直观的结果是云厂商的收入结构变了。2015年AWS、Azure、阿里云这些头部厂商的收入大头是计算和存储的IaaS资源消耗到2025年数据库、容器服务、数据处理、AI平台这类PaaS和SaaS产品的收入占比快速上升。这说明客户的付费意愿从“为硬件资源付费”变成了“为业务效率付费”。也是这个逻辑催生了后面要讲的Serverless的爆发。顺便说一句这个阶段我踩过最大的坑是“盲目追求云原生改造”。当时有个金融客户听到云原生就兴奋非要一个月内把核心交易系统全拆成微服务上K8s。结果呢团队根本没有容器化经验也没有完善的监控告警体系上了K8s之后隔三岔五出问题最后老板拍板退回虚拟机。所以云原生是好东西但要判断你的团队和业务形态是否匹配。如果你连基础的自动化部署和监控体系都没有先别急着上K8s。2. 容器、Kubernetes与Serverless三大技术杠杆如何重构交付体系2.1 容器是起点但Kubernetes才是真正的分水岭2013年Docker刚出来的时候大家只是觉得“这个打包方式挺方便”。真正让行业发生地震的是Kubernetes在2015年前后开始流行并在2017年成为事实上的容器编排标准。很多人问为什么Docker没有成为“云原生操作系统”原因是Docker只解决了“打包和运行”的问题没有解决“如何调度、如何编排、如何服务发现、如何滚动升级”的大规模分布式问题。Kubernetes做的事情本质上是一个“分布式操作系统”——它把一群服务器抽象成一个大的资源池然后通过声明式API告诉你“我要什么状态”剩下的交给control plane去执行。这个东西的出现让“混合云部署”第一次有了真正的技术基础你在家里的工作站跑一个K8s集群在云上跑几个K8s集群只要它们都遵守同一套API语义应用发布到哪里都一样。我记得2018年做K8s迁移时最痛苦的是网络插件选型。Flannel简单但功能弱Calico功能强但学习成本高还有各种Ingress Controller的选择。那时候有个老前辈跟我说了一句到现在我都觉得是真理的话“K8s真正的难点不是部署而是你如何让开发者用得不难受。”后来我们的做法是把所有常用的部署模式封装成内部平台开发者不需要碰YAML提交一个表单就能完成发布。这也是后来平台工程Platform Engineering思想的雏形。2.2 Serverless把运维的重担从“平台”推向“平台代码”如果说K8s是云原生时代的“操作系统”那Serverless就是这个系统里最激进的形态。2015年AWS推出了Lambda真正把“函数即服务”这个概念产品化。Serverless的核心价值不是“不用服务器”而是**“你不用关心服务器”**。理论上你只需要写业务代码剩下的弹性扩容、高可用、资源复用都交给平台。但我在实际项目中看到的真相是Serverless并不是银弹。冷启动问题、长连接处理、有状态服务、调试复杂性这些坑每一个都能让人掉进去。我记得2021年帮一个团队优化一个数据处理管道他们用了Lambda高峰期并发一高数据库连接池直接被打爆。查了半天才发现他们的Lambda函数里按传统方式初始化了数据库连接池每个实例hold住一堆连接几个并发实例就把数据库拖垮了。解决方案也很简单改用连接代理层并限制单实例并发度。这个教训告诉我们Serverless架构下的开发者必须重新理解“连接管理”和“状态管理”否则分分钟让你从“无服务器”变成“无发服务器”。2.3 三大杠杆的适用边界与选型建议说了这么多到底怎么选我自己的判断框架如下技术形态适合场景不适合场景团队要求虚拟机/IaaS存量系统迁移、强合规要求、需要完全掌控底层新业务快速迭代、弹性要求极高传统运维技能为主容器K8s中大型微服务、混合云部署、需要统一调度单体小应用、运维能力薄弱的小团队需要DevOps理解容器/网络/存储Serverless事件驱动、间歇性负载、短周期任务、API后端长连接、重计算、有状态服务、冷启动敏感业务需要精细控制依赖和冷启动优化所以说这十年的技术演进并不是“新一代取代旧一代”而是“新一代覆盖了更多场景”。云计算行业的特点是几乎所有炒作的技术都有其真实的适用边界。2019年大家疯狂地批评虚拟机老土但到2024年很多银行核心系统还在虚拟机上跑得好好的因为它稳定、可控、同理可证。技术选型的核心永远不是追求最新而是追求业务目标与团队能力的匹配度。3. 混合云与多云大型企业落地云计算的真实选择逻辑与成本账3.1 为什么大企业都变成了“墙头草”2015年的大企业上云策略非常两极分化保守派坚持自建机房激进派恨不得把所有系统都扔到公有云上。到了2020年以后实际落地的主流变成了“混合云”和“多云”并存一部分业务放在公有云一部分放在自建IDC或私有云中间通过网络专线打通。原因不难懂安全合规要求敏感数据不出内网成本考量上长期稳定业务跑自建更省钱但又想在爆发性场景下享受公有云的弹性。我陪一家制造业客户做过一次整体规划他们当时是典型的“三朵云”架构核心ERP在自建私有云生产协同系统跑在公有云A研发测试环境在公有云B。账怎么算的呢核心ERP如果搬上公有云按他们3年的TCO算成本比自建高出40%左右而且还要承担一次高风险迁移。研发测试环境就不同了环境按需创建、用完释放比自建资源池省了不止一半。新业务和弹性负载上公有云稳态业务和敏感数据留在自有基础设施这就是混合云的核心逻辑。3.2 多云的真相不是“自由选择”而是“被逼无奈”很多人以为企业上多云是为了避免厂商锁定享受竞争红利。实际上大部分企业搞多云要么是并购整合后的历史遗留要么是业务部门自己偷偷上云形成了影子IT。真正把这套玩得好的企业非常少因为多云带来的管控复杂度是指数级上升的网络互通、统一监控、数据同步、权限管理、成本分摊每一项都是地狱难度。这里我踩过一个大坑曾经帮客户做过一个跨云容灾方案要求两朵公有云之间的数据库实时同步。我们用了某知名数据同步工具结果在云环境下的网络延迟、端口限制、IP白名单机制上反复折腾了整整两周最后还是放弃实时同步改成准实时同步延迟控制在5秒内。这个妥协换来的是运维复杂度降低了不止一个量级。所以如果你想推动多云架构先问自己一个问题每一朵云上的业务之间数据一致性要求到底多强如果能够接受准实时同步你的方案会简单很多。3.3 云成本账FinOps视角的省钱经验2015年的时候大家聊的都是“上云省钱”到2020年后大家聊的是“上云成本失控”。因为随取随用的资源太方便了开发者根本不心疼随手开一台GPU实例放着吃灰月底账单出来老板血压就上来了。于是近两年FinOps云财务管理成了运维圈的新兴热门词。按照我个人的实际经验云成本控制最有效的三个手段是第一预算告警和配额管控——在云平台设置项目级别的月度预算超了就直接限制创建新资源第二标签体系强制化——所有资源必须打上业务标签否则自动清理第三定期做“僵尸资源”扫描——很多公司都有大量未挂载的云盘、闲置的负载均衡、忘了释放的弹性IP。我们曾经在一个稍大点的账号里找出价值相当于几个高级工程师年收入的闲置资源。所以别以为上云了就一定省钱省不省钱取决于你有没有一套精细化的资源治理机制。4. AI浪潮下的云基础设施变革从CPU到GPU再到智算中心4.1 算力需求结构变了GPU成为云上最紧俏的资源2020年是AI云计算的分水岭。以深度学习为代表的新一代AI应用对算力的需求和传统Web应用完全不同。传统Web应用是“高并发、低延迟、轻计算”AI训练则是“低并发一个任务、超高计算密度、长时间运行”。云厂商的应对之道是推出GPU实例、TPU实例、AI加速卡实例并逐步发展出专门的AI云平台。我最早接触GPU云实例是2018年当时租一张入门级显卡一个小时的费用够买好几杯咖啡。到了2024年一张高性能AI加速卡市场上一卡难求云厂商甚至推出了“按小时计费预约排队”的模式。这背后反映的是算力供给严重不足也导致了很多创业公司开始“囤卡”。但从技术演进角度说更值得关注的是云基础设施为了适配AI发生了哪些底层变化网络从25G升级到100G、400G甚至更高存储从传统的块存储演变成高性能并行文件系统调度系统从K8s扩展到支持GPU分片、拓扑感知调度、弹性训练任务队列。4.2 云上AI平台从“过路收费”到“全栈服务”如果你只把AI云理解为“租GPU”那大概率用不好。过去两年主流云厂商都在推“AI全栈平台”数据标注、模型训练、超参调优、模型评估、推理部署、A/B测试、AI应用开发全都集成在一起。这样做的目的很明确客户懒得自己搭MLOps机器学习运维体系直接买现成的。我自己试用过几家的AI平台最大的感受是“门槛降了但成本刺客变多了”。门槛降体现在以前你要自己管数据管道、训练脚本、推理服务现在平台自动帮你编排成本刺客体现在训练时保存Checkpoint非常费存储推理时如果没配好自动缩容GPU实例空转也是在烧钱。所以我给团队定的规矩是所有AI训练任务上线前必须先跑一个小规模基线估算单位时间的成本再决定是否值得跑大任务。毕竟一张高配GPU一小时几十上百块钱跑一个几千小时的训练任务这笔账必须算清楚。4.3 智算中心与能源效率下一个基础设施竞赛到了2024、2025年“智算中心”这个词频繁出现在行业新闻里。什么是智算中心简单说就是专门为AI计算优化的数据中心——高功率密度机柜、液冷散热、高速互联网络以及区域性的绿电供应。它和传统数据中心的区别就像集装箱卡车和普通家用轿车的区别载荷、发动机、散热系统都完全不一样。在这个趋势下做云运维的人面临的挑战也在变化。以前我们关注的是CPU利用率、内存利用率、磁盘IO现在还要看GPU利用率、显存占用率、高速互联网络如RDMA的运行状态甚至液冷系统的漏液检测。我记得有一次排查一个训练任务性能下降的问题最后发现是GPU在高温下降频导致的。所以如果你开始接触AI云基础设施请务必把“散热和功耗”放到和“算力”一样高的优先级上。5. 云计算运维的十年之变从人工值守到AIOps、FinOps与平台工程5.1 运维角色的变迁从“救火队员”到“平台建设者”2015年的云运维日常工作是盯监控面板、处理告警、扩容缩容、发版回滚。那时候的告警规则很简单CPU超过80%就报警内存超过80%就报警。但问题是弹性伸缩和容器化之后资源层面的告警意义越来越小——应用自己会扩容了你盯着CPU报警也没用。运维的核心价值从“维持系统稳定”慢慢变成了“建立系统自适应能力”。这个变化最典型的体现是“平台工程”的兴起。平台工程不是说运维做一个内部网站就完了而是要把基础设施能力产品化开发者自助创建环境、自助发布、自助查看日志和监控。我们内部做了两年多这个方向最明显的收益是内部支持工单下降了70%左右开发和运维的协作摩擦小了很多。所以我的结论是云原生时代的运维本质上是在做“面向研发的云产品经理”。5.2 AIOps让人工智能接管告警还是让告警变得更高级AIOps这个词2016年就有厂商在炒但直到大模型成熟之后才开始落地。传统告警有一个老大难问题告警风暴。一到大促或者故障时成千上万条告警一起来值班工程师根本分不清哪个是根因。AIOps的做法是通过算法做告警压缩、根因分析、关联分析给你一条“最有可能是根因”的信息。我实操过的AIOps项目里效果最好的场景是监控指标异常检测——用时序预测算法替代固定的阈值。比如流量波动比较规律的系统算法能提前预判到“接下来要异常了”比固定阈值报警早十几分钟。但这东西也有明显的坑好的AIOps模型高度依赖历史数据质量和专家标注。如果你的系统还在频繁变更模型会一直学不“稳”频繁误报反而让人更不信任。我的经验是先做告警聚合和关联梳理再上智能检测顺序别反了。5.3 FinOps运维团队的新KPI是毛利率以前运维的KPI是稳定性、SLA、故障恢复时间现在很多公司的运维团队还要背一个成本优化的KPI。这倒不是说运维要去控制研发同事用云资源而是说运维需要把成本可视化做出来每个业务线的云资源消耗、成本趋势、单位请求成本这些数据要能自动生成。我见过一个做得比较好的方式用资源标签成本API每月自动生成各业务线的云成本账单并把“成本/请求数”或者“成本/日活用户数”作为一个核心指标在会上汇报。为什么要上升到KPI因为只有成本被量化到业务维度研发才会认真考虑“这个接口真的要每次都回源数据库吗”类似这样的问题。所以FinOps看似是财务手段实则是一种工程文化。这几年我最大的体会是云成本治理的关键不是小气而是透明。不同团队可以比拼性价比而不是比拼谁能占资源多。6. 下一个五年的思考云计算会走向哪里以及从业者该怎么准备6.1 云计算的三个确定性方向站在2025年这个时间点往后看我认为有三个方向是确定的第一AI基础设施会成为云厂商的核心竞争力。哪里能提供更便宜、更稳定的AI算力哪里就容易吸引到AI创业公司。GPU的调度效率、推理成本优化、模型生态支持会取代虚拟机性能成为云选型的第一指标。第二应用交付会继续向“更高抽象”演进。从虚拟机到容器到Serverless到“用自然语言描述应用AI自动生成部署架构”这个趋势不会停。以后开发者写代码可能不在于怎么部署而在于怎么描述业务逻辑和约束部署的事情全部交给智能平台自动完成。第三云安全将从“边界防守”变为“内建可信”。传统安全模型假设内网是可信的现在大家基本接受了“零信任”每个请求、每个服务调用都要验证身份和权限。云原生架构本身就要求安全能力内建到基础设施之中而不是在边界上单点控制。6.2 给从业者的三条具体建议如果你刚进入云计算行业或者打算转岗到云原生/AI基础设施方向我觉得可以提前做三件事一是尽快补上Kubernetes和容器网络的底层原理。不要只停留在“会敲kubectl命令”的水平你需要理解Pod如何通信、Service如何转发、Ingress如何暴露流量。这些基础知识决定了你在排查复杂问题时的上限。二是养成写“事后复盘”的习惯。每次故障处理完不要只填个报告就完了。我坚持了快十年把每一次自己处理过的重大故障都整理成文档包括时间线、临时方案、根治方案、为什么前面没发现。后来这些文档成了团队最宝贵的知识库。云计算的复杂度已经远超一个人的记忆范围沉淀机制非常重要。三是关注成本和技术效率的关系。现在的企业越来越务实新技术的引入一定要回到“降本增效”这个基本点。你在推荐任何一项新技术时最好能给出量化账能减少多少运维人力能提升多少研发效率能给业务带来多少灵活度如果能从这三个维度说服老板你的技术方案被接纳的概率会高很多。7. 写在最后我的几点真实体会这篇文章写到这里我觉得可以分享一些个人层面的感受了。我入行云计算差不多就卡在这个十年区间里。最直观的体验是这个行业变化太快快到很多人两年前刚学会的技术现在已经快过时快到云厂商的文档经常刚看完就更新。所以我的一个习惯是不追求掌握每一个新产品的所有细节而是先把底层原理吃透比如网络、存储、调度、一致性。底层原理十几年没有大的变化掌握它们不管新技术怎么变你都能很快上手。另一个体会是云计算越来越不只是技术问题。到后期你会发现做技术选型要懂财务做平台建设要懂产品做容量规划要懂业务增长模型。这个趋势在未来只会更强想在这行长期发展的朋友建议把眼界放宽一点多主动了解业务和成本而不是只埋头捣鼓配置。最后一点也是我在无数项目里反复验证过的一个原则云计算的本质是工程工程就需要务实。新概念总会层出不穷但解决客户问题的永远是简单、稳定、可维护的方案。把“合适”放在“流行”之前这大概是这十年带给我最大的教训。
返回列表