別了,Linux 的魔法時代!

別了,Linux 的魔法時代!

波士頓時間 2019 年 5 月 8 日,紅帽峰會進入第二天。

今天在會場跟一些紅帽的新老朋友們聊天,聊到工程師們的兩個特點:

  1. 工程師們很可愛。開這麼大一個會議,只要給他們一些五顏六色的貼紙和 T-shirt 收集他們就很開心了。(很像是在用很便宜的玩具打發小朋友們有木有?)


別了,Linux 的魔法時代!


某工程師在 Twitter 上曬的歷代 RHEL 版本收藏(這個收藏就不是那麼便宜了)

工程師們很純粹。他們當中的很多 nerds 在傳統的現實世界原本是很難存活的物種,能夠為他們打造一個環境讓他們專心的發揮自己的才能,其實是很了不起的一件事!

別了,Linux 的魔法時代!


一群工程師為了領一件 T-Shirt 列隊做題

閒話不多說,進入今天的正題。

別了,Linux 的魔法時代!


當天上午的主題演講由紅帽技術總裁 Paul Cormier 主持,主要是請了一群工程師們帶著服務器上臺把本次發佈的 RHEL8、OpenShift 4 都公開演示了一遍,特別是展示了用 Satellite 去升級系統到 RHEL8、用 Operators 去升級 OpenShift 上運行的 SQL Server 實例的過程:升級系統時有各種 Ansible 的腳本可以選用自動執行、有各種 Insights 的規則提供自動保護避免搞砸,升級 SQL Server 可以做到前端用戶無感知,刷新一下頁面看到版本號更新才發現升級已經做完了。

在沒跟服務器打過交道的人看來,這些演示看起來只是點點鼠標、屏幕上幾個數字變了而已,一點兒也不炫酷;但是在識貨的人看來,這些工程師們真的是在炫技!服務器運維的自動化是漫長的工程,將這些經驗凝聚到開源的工具上經歷了大量的探索。這幾場 demo 背後的工作量其實是非常可觀的。

個人覺得特別有意思的一點是,整個演示不是通過命令行進行的,而是在瀏覽器裡面點點鼠標進行的!而且還專門選用了一臺 Windows PC!

別了,Linux 的魔法時代!


三位 Linux 工程師在紅帽峰會的舞臺上圍著一臺 Windows,堪稱奇觀

要知道,但凡任何一個敢於自稱 Linux 用戶的人,多少都會使用命令行;並且幾乎每一個 Linux 用戶,都為自己能夠掌握更多的命令行而感到自豪。甚至可以這麼說:為數不少的 Linux 用戶會因為鄙視 Windows 用戶而自豪!

但今天的演示所做的事情其實是在告訴所有人:即使你不是 Linux 用戶,即使你不會用命令行,也可以毫無阻礙的管理成百上千臺 Linux 服務器。

這在開始對我來說簡直難以想象:到底是什麼樣的人會需要這種東西?

世界上真的需要不會用 Linux 命令行的 Linux 服務器管理員嗎?

一位叫做 Brendan Paget 的紅帽工程師解答了我的疑惑。

別了,Linux 的魔法時代!


他說他們在亞太區發展業務的時候,發現了一個日益嚴重的問題:

缺乏會用命令行的專業 Linux 運維人才。

各個行業都需要更多的 Linux 服務器,但是找不到人去管理它們,咋辦?所以紅帽想到了一群人:以前做 Windows 服務器管理員的那幫人。

他們懂服務器,只是不懂 Linux 命令行而已。所以把 Linux 管理的功能做成鼠標點點就能用,這些人就可以來管理 Linux 服務器啦。

這是其一。另一方面,懂 1 條 Linux 命令,和懂 100 條 Linux 命令,差別還是很大的。所以把 Linux 管理的功能做成鼠標點點就能用,就能夠讓那些原本只懂 1 條 Linux 命令的人,有機會探索更多的用法,增長知識。

這時,來自 RHEL 部門的一位女性、紅帽的 VP 與 GM——Stephanie Chiras 補充了一句:

別了,Linux 的魔法時代!


“我們希望通過這種方式,讓更多學生們進入到 Linux 的世界。”

使用命令行的 Linux 世界,就像是神秘的魔法世界。你對著黑暗的虛空念出一句咒語——一句其他人都不知道的咒語——然後這個黑暗的虛空會蹦出一堆五顏六色的信息回應你的咒語。這個世界對你的反饋符合你的預期,一切盡在掌握;在這些別人看起來如同天書的五顏六色的信息當中,你找到一些別人看不見的蛛絲馬跡,解決了別人都解決不了的系統問題,那種成就感是難以用言語形容的。

(對於此類體驗,開源界有一個專有名詞來形容:智商炫富。)

使用鼠標的 Linux 世界,是世俗的、透明的,失去了那種神秘感。如果按下打火機就能得到火焰,那麼造火的魔法師將從神壇跌落,成為舞臺上的演員吧?

但整個世界收穫的,是人人都可以隨時隨地的擁有自己的火焰。

Brendan Paget 所描述的問題,如果你來到紅帽峰會的現場,你會特別有體感:你周圍的絕大部分參會者都是 30-40 歲以上的男性,年輕人少,女性更少。

別了,Linux 的魔法時代!


紅帽峰會某會場內部一瞥

Linus Torvalds 出生於 1969 年。1991 年創作了 Linux 的他 22 歲,正在讀大四。

在中國,今天我們看到活躍在 Linux 世界的這批工程師們,大多數是在 90 年代到 00 年代在大學期間接觸到 Linux 而進入這個圈子的。那時候的大學生大概也沒有特別多的東西玩,一臺電腦可以玩很長很長的時間。

而在美國,今天活躍在 Linux 世界的這批工程師們,很多是從更早的 Unix 世界過來的。

從什麼時候開始,在學校裡面玩 Linux 的人越來越少了?

90 年代的 Linux 只是玩具,吸引了那麼多年輕人去玩;今天的 Linux 已經成為全球商業的基石,年輕人卻不喜歡玩了。

這其實很正常,因為在今天,比 Linux 好玩的東西多太多了。

這也很危險,因為 Linux 太重要了。

雖然紅帽做出了很多努力吸引年輕人接觸 Linux,比如專門為女中學生打造的 CO.LAB 項目,但目前看來效果好像不是很明顯。

未來會怎麼樣呢?

別了,Linux 的魔法時代!


參與 CO.LAB 項目的女中學生們

還有另外一種可能性。

Brendan Paget 在他的分享中有提到一個趨勢:由於有了 Insights 的自動化分析與 Ansible 的自動化干預,現在越來越多的 RHEL 系統故障可以在人類管理員發現之前就被機器自動解決掉。

為什麼 Operators 項目會叫做 Operators 這個名字?我們來看看項目設計者是怎麼說的。

Operators 項目始於 2016 年的 CoreOS 項目組,後來的 OperatorHub.io 是該項目的延伸,是由微軟、Google Cloud、AWS 與紅帽一起建設的倉庫,專門用來索引工程師們編寫的各個 Operator 軟件。在該網站的介紹頁面上有這樣一句話:

“The goal of an Operator is to put operational knowledge into software.”

“Operator 的目標就是將(人類的)運維知識結晶到軟件當中。”

機器人管理員。

軟件就是機器人。

如果將運維知識粗略分為系統運維和應用運維,那麼在系統層面(RHEL),Insights 是機器人的腦,Ansible 是機器人的手。

腦可以做什麼?腦是處理邏輯的引擎,比如這樣:

  1. 部分 Xeon CPU 在 uptime 超過 200 天后可能出現 kernel panic,建議升級內核版本後重啟系統。
  2. 出現新的 Heartbleed 漏洞報告,建議立刻更新 OpenSSL 至最新版本。
  3. ……

上面的每一條都是 Insights 裡面的一條“規則”(Rule),這樣的規則現在已經積累了 600 多條,並且將不斷繼續積累下去。

手可以做什麼?手是執行的工具,比如這樣:

當 Insights 告訴我要給一臺服務器升級內核版本後重啟系統的時候,在設定好的時間去照做。

再來看應用層面。

Operators 可以做什麼?

Operators 是手。比如你要在 OpenShift/Kubernetes 上創建一個 Kafka 集群,如果全靠人肉手動操作,需要敲很多命令,花好幾個小時,就算是再喜愛命令行的 Linux 高手也不會想要做這種事情——他們會寫腳本來做這個事情。曾經,高手們寫好腳本自己用用就結束了,頂多放到 Github 上分享代碼;現在,寫好的腳本按照 operators 的規格打包,於是我們有了 AMQ Streams operator,後來的人只需要點點鼠標,幾分鐘就創建好了。

目前,大部分 operators 還只能做最基本的部署操作,智能還談不上。在整個 Kubernetes 社群帶著大量開發者向前奔跑的過程中,這可能會是接下來幾年蓬勃發展的一個領域。

別了,Linux 的魔法時代!


Linux 的魔法時代即將結束,命令行的英雄們將成為歷史。即將迎來的,是規模化的時代,是自動化的時代,是機器人管理員的時代,是軟件領域之外的各個領域的人才共同參與創新的時代。

曾經,同時管理上萬臺服務器是互聯網巨頭們的特權。現在,同時調用上萬臺容器成為每一位開發者手邊的可能性。

講真,管理服務器這個活兒本來就不是適合人類做的事情。年輕人不喜歡 Linux 命令行,其實也沒什麼關係吧!


分享到:


相關文章: