慣性聚合 高效追蹤和閱讀你感興趣的部落格、新聞、科技資訊
閱讀原文 在慣性聚合中打開

推薦訂閱源

博客园 - 司徒正美
V
V2EX
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
月光博客
月光博客
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI

阮一峰的网络日志

科技爱好者周刊(第 396 期):互联网通信的替代方案 科技爱好者周刊(第 396 期):互联网通信的替代方案 - 阮一峰的网络日志 科技爱好者周刊(第 395 期):软件开发的第三种方式 科技爱好者周刊(第 395 期):软件开发的第三种方式 - 阮一峰的网络日志 科技爱好者周刊(第 393 期):脑腐状态 科技爱好者周刊(第 392 期):axios 投毒与好莱坞式骗术 科技爱好者周刊(第 391 期):AI 的贫富分化 科技爱好者周刊(第 390 期):没有语料,大模型就是智障 套壳中国大模型撑起500亿美元估值?扒一扒 Cursor 的"套壳"疑云 科技爱好者周刊(第 389 期):未来如何招聘程序员 科技爱好者周刊(第 388 期):测试是新的护城河 零安装的"云养虾":ArkClaw 使用指南 科技爱好者周刊(第 387 期):你是领先的 科技爱好者周刊(第 386 期):当外卖员接入 AI 字节全家桶 Seed 2.0 + TRAE 玩转 Skill 科技爱好者周刊(第 385 期):马斯克害怕中国车企吗? 智谱旗舰 GLM-5 实测:对比 Opus 4.6 和 GPT-5.3-Codex 科技爱好者周刊(第 384 期):为什么软件股下跌 科技爱好者周刊(第 383 期):你是第几级 AI 编程 Kimi 的一体化,Manus 的分层 科技爱好者周刊(第 382 期):独立软件的黄昏 AI native Workspace 也许是智能体的下一阶段 科技爱好者周刊(第 381 期):中国 AI 大模型领导者在想什么 科技爱好者周刊(第 380 期):为什么人们拥抱"不对称收益" 科技爱好者周刊(第 379 期):《硅谷钢铁侠》摘录 我如何用 AI 处理历史遗留代码:MiniMax M2.1 升级体验 科技爱好者周刊(第 378 期):预测是新的互联网热点 科技爱好者周刊(第 377 期):14万美元的贫困线 科技爱好者周刊(第 376 期):太空数据中心的争议 科技爱好者周刊(第 375 期):一扇门的 Bug 终于有人做了 Subagent,TRAE 国内版 SOLO 模式来了 科技爱好者周刊(第 374 期):6GHz 的问题 VS Code 使用国产大模型 MiniMax M2 教程 科技爱好者周刊(第 373 期):数据模型是新产品的核心 国产大模型接入 Claude Code 教程:以 Doubao-Seed-Code 为例 科技爱好者周刊(第 372 期):软件界面如何设计 大模型比拼:MiniMax M2 vs GLM 4.6 vs Claude Sonnet 4.5 科技爱好者周刊(第 371 期):一个乐观主义者的专访 科技爱好者周刊(第 370 期):正确的代码高亮 错误处理:异常好于状态码 科技爱好者周刊(第 369 期):Tim 与罗永浩的对谈 科技爱好者周刊(第 368 期):不要这样管理软件团队 一天之内,智谱和 Anthropic 都发了最强编程模型 科技爱好者周刊(第 367 期):Nano Banana 的几个妙用 科技爱好者周刊(第 366 期):旧金山疯狂的 AI 广告 科技爱好者周刊(第 365 期):流量变现正在崩塌 科技爱好者周刊(第 364 期):最难还原的魔方 科技爱好者周刊(第 363 期):最好懂的神经网络解释 科技爱好者周刊(第 362 期):GitHub 工程师谈系统设计 科技爱好者周刊(第 361 期):暗网 Tor 安全吗?
運維的未來是平臺工程
阮一峰 · 2023-03-21 · via 阮一峰的网络日志

互聯網公司有一個重要工種,叫做"運維"。

"運維"的英文是 Operations,簡寫為 Ops,直譯就是"操作",指的是各種服務器操作。

簡單說,運維工程師就是管理服務器、保障代碼運行環境的人。

這是很重要的工作,公司理應非常重視。但是實際上這幾年,運維崗位一直在縮減,Ops 工程師被要求轉型 DevOps 工程師。據我知道,很多運維工程師其實很苦惱。

應該怎麼看待這種變化?運維有沒有前途?將來會怎麼發展?

最近,我讀到一篇老外的文章,標題就叫《運維的未來是平臺工程》

"The future of Ops is platform engineering."

作者系統地回答了上面這些問題,認為運維最終將會消失,演變成一種新的工種----"平臺工程"(platform engineering)。

我覺得他的文章很有啟發,讓我對運維的看法清晰了很多,分享給大家。

一、運維的由來

最早的時候,並沒有運維,程序員同時負責編寫和運行軟件。

但是,編寫軟件和運行軟件,其實是兩種不同的技能:前者需要熟悉代碼,後者需要熟悉服務器。

互聯網軟件發展起來以後,這兩種技能就逐漸分家了。

開發工程師負責編寫代碼,運維工程師負責運行代碼(即保障服務器運行環境)。

二、運維的衰落

事實證明,開發和運維分家是一個巨大的錯誤。

寫代碼的人不瞭解服務器環境,管理服務器的人不瞭解代碼在幹什麼,這樣不利於做出優秀的產品,也不利於排查問題。

因此,有些公司就推動,開發與運維重新合在一起:編寫軟件的人也要負責運行軟件。

這就是 DevOps 的由來,它等於 Dev(開發)+ Ops(運維)。

另一方面,互聯網公司的核心資產和競爭力,更多的是代碼,而不是運維。所以,公司也有意願,把更多的力量投入在開發上,逐步壓縮專門的運維團隊,積極外包儘可能多的基礎設施。

這兩方面因素決定了,運維作為一個單獨的工種,正在逐漸消失。

三、DevOps 的問題

但是,DevOps 實際上沒有辦法取代運維。

越來越複雜的業務,註定了系統和基礎設施也越來越複雜,同時還必須穩定可靠。

普通的開發工程師,根本不可能做到這一點。他既不瞭解所有基礎設施,也達不到專業運維的系統管理水平。

這種情況下,公司就會選擇外包,採購外部的雲服務,把基礎設施外包給專業的雲服務商, 最大化壓縮自身成本。

四、運維的職責

雖然總體上,運維是管理服務器,但是可以細分成兩方面的職責:構建基礎架構 + 管理運行環境。

"構建基礎架構"指的是硬件的採購、安裝、上架、聯網這些工作。

"管理運行環境"指的是保障業務軟件的運行。

DevOps 出現後,"構建基礎架構"這一職責逐漸消失,變成了採購雲服務,"管理運行環境"這一職責則是轉給了 DevOps 工程師。

於是,新的問題出現了:誰負責採購和整合雲服務?

五、平臺工程是什麼

採購合適的雲服務,並不是一件簡單的事情。

雲服務紛繁複雜,各種 API、SDK 和配套工具令人眼花繚亂,即使經驗豐富的運維工程師也不容易說清楚。

因此,需要有專職人員來做出正確決策,選擇一套滿足需要的雲服務,並且負責編寫工具,整合所有采購來的雲服務,供業務開發使用。

這種角色就叫做平臺工程,他負責評估、採購、整合各種雲服務,作為自身的基礎設施,並在外部雲服務基礎上構建自己的平臺,讓開發工程師能夠在其上自助服務,將自己的代碼投入生產。

上面的定義有幾個要點。

(1)基礎設施是外包的,以求成本和開發週期最小化。

(2)平臺工程師負責整合外包的基礎設施,構建成一個平臺。

(3)開發工程師在該平臺上,自主搭建和管理運行環境,自己運行代碼。

六、平臺工程與運維的區別

平臺工程與運維,存在幾個顯著區別。

(1)平臺工程需要開發軟件,包括編寫測試和代碼審核,團隊的運作方式很像開發團隊,有產品經理、甚至設計師和前端工程師。

運維一般不開發應用軟件,最多就是寫一些自動化腳本。

以前,有的工程師寫代碼,有的工程師跑代碼。今後,所有工程師都編寫代碼,並且運行自己的代碼,不管你是開發工程師、DevOps 工程師或者平臺工程師,不同之處只在於按層或功能劃分的職責範圍不同。

(2)平臺工程是雲原生的,所有工作都存在於雲上。

運維不是雲原生的,需要自己管理硬件,只能說是支持雲的。

(3)平臺工程採購雲服務,運維採購的是硬件。

七、運維工程師的出路

隨著傳統的運維角色的消失,現有的運維工程師必然面臨著轉型,不外乎有三種出路可以選擇。

(1)如果喜歡開發業務軟件,可以選擇成為 DevOps 工程師。

(2)如果喜歡開發平臺軟件,可以選擇做平臺工程,專注於基礎設施的整合。

(3)如果更喜歡硬件和底層,可以選擇加入"基礎設施即服務"(IaaS)的雲公司,深入研究基礎設施。

(完)