基于云內核的未來云計算架構
早期單機操作系統也是分層架構,后面才演化成今天的如 linux windows 的宏內核微內核架構,云操作系統也會有類似發展趨勢
以前都是單機應用,而現代應用幾乎都是分布式應用,kubernetes 已經成為事實上的“云操作系統內核”,能讓云內核普及的發型版呼之欲出
你會發現現在 IaaS PaaS SaaS 在云原生技術普及的浪潮中已經名存實亡,比如容器運行在裸機上就已經擁有非常好的性能了,是否還需要 IaaS 這一層,PaaS SaaS 本質都是容器是否還需要去可以區分,這三層架構已經被擊穿!
程序員很認“鴨式辯型”,就是會游泳長了翅膀的就是鴨子,這種抽象思維是極重要的,這也就是為啥 linux 一切皆文件的設計哲學了。而一個運行的 mysql 集群與一個 crm 軟件其實也沒有本質區別,所以在云操作系統中,“內核之上皆為應用”。
云計算三次浪潮
基于云內核的云操作系統未來會引發云計算的巨大變革。
先來看看有意思的 web1 web2 web3, 再把互聯網的變革套用到云計算中,你會發現,生產關系有非常類似的地方。
【1 對 n 關系】
- web1 : 門戶網站生產內容,用戶查看內容
- 云計算 1.0 : 公有云廠商開發服務,企業和開發者使用
這個階段生產關系是 1 對多的,你會發現云廠商幾十款云產品是無法滿足市場上體量龐大偏好各異的需求的,就像 web1 用戶只能看小編寫的一些新聞一樣。
【n 對 1 對 n 關系】
- web2 : UGC 用戶生產內容,用戶之間產生鏈接
- 云計算 2.0 : 開發者生產云計算應用,給用戶使用
漸漸的云廠商開始弄 markting place, 一定程度想通過開放市場來連接云計算的生產者與消費者,這就是云計算朝著 2.0 過度的信號, 但是缺乏標準就意味著難以協作,這個階段想要徹底爆發必須要有“實際上的標準”出現。
Docker 鏡像算是非常好的標準,但是可惜難以覆蓋分布式軟件,但是大家通過 docker hub 協作就是一個非常好的協作模型了。
kubernetes 的 API 的標準是真正有潛力成為云計算 2.0 事實標準的。未來大家都通過這個系統來相互協作,就像安卓生態蓬勃的應用爆炸一樣,這樣才能誕生越來越多優質的云服務出來。
【n 對 n 關系】
- web 3 : 網絡所有權屬于網絡的所有參與者,數據回歸用戶自己手中
- 云計算 3.0 : 算力屬于所有計算的參與者,一臺分布式超級計算機誕生
整個過程其實是讓計算和服務更民主,任何組織個人都可以貢獻自己的算力,發布和使用應用的人也不用關心應用到底運行在哪個地方,整個計算的使用像使用一臺虛擬計算機一樣。 和現在很多大的公鏈一樣,不過目前的智能合約還是場景過于局限,計算成本過高,形式上很像超級計算機,效果上還是差了好幾個鴻溝。
基于云內核設計的云計算會更便宜
當前公有云提供的云服務還是極其昂貴的, 在某云廠商官網查到的價格和 IDC 托管硬件相比,如果是存儲類型的機器,價格相差十倍?。ú贿^云廠商對大B都有非常大的折扣,小B沒有這種福利)
很多公有云廠商妖魔化私有云,說私有云就不叫云,我想問私有云怎么就不叫云了,是因為私有云太便宜還是私有云動了誰的蛋糕?
這個價格對比小學生都能算的清楚。其實在云內核設計的云操作系統出現之前公有云確實會便宜,因為軟件成本很高,企業想云在自己機房玩一套如 openstack 這樣的 IaaS 幾乎每年會花費上千萬成本,而現在開源生態逐漸成熟讓軟件成本變得便宜和穩定,私有云的成本便宜邏輯又開始成立了。
那還有個問題就是“傳統公有云為什么貴?”
- 第一,因為基于的還是 IaaS PaaS SaaS 的架構,每一層都意味著成本,軟件的復雜度直接決定成本,所謂的一切自研的優勢現在反而會變成成本劣勢,這是最主要的原因。
- 第二,談邊際成本,這個不是按照公有云的用戶體量去計算的,而是按照每個可用區的建設成本去計算的,如果軟件體系復雜,每個機房需要大量管理節點,需要大量交付人員配合,那成本就無法降下來。但是基于內核設計的云操作系統管理節點只需三臺,實習生都能在半個小時以內交付,就像裝 centos 一樣簡單。
- 第三,次要原因是因為公有云的彈性都是要預留資源的,這部分成本都會攤到消費者頭上。
很多企業的業務資源使用都是相對固定,半年一年作一次擴容等,托管或者自建肯定會更便宜,促銷活動什么的一年也就幾次,在促銷時使用公有云即可,這樣成本可以大幅度降低。
云計算會走向開源開放
封閉的云服務對于企業來說是災難,最簡單的一個場景是應對云廠商的漲價行為,如果強綁定就意味著失去了議價權,近期某云廠商云開發就提價十倍,有些小企業的利潤直接就被云服務吃光了。
第二個原因是云廠商的云產品如果發展的不好是有可能被下架的,如果企業不幸使用了這類產品,下架時又需要付出巨大遷移成本,有些與代碼耦合的甚至需要重寫代碼。
開源自然是開放的最好實現方式,不僅對上面幾種場景有比較好的應對措施,關鍵還可以自由按照自己的需求進行定制。
所以未來開源與云是左右腿,像 vercel supabase sealos 這樣的產品是云計算的大勢所趨。
基于內核架構的云計算會變得更簡單
復雜的東西無法普及,復雜的軟件要么走向腐爛和消亡,要么重構變得簡單,云計算也是如此,你會發現 centos ubuntu 這樣的 linux 發行版普及了,但是現在的一些公有云能力很難到處運行和做到普及,即便是開源了,像 openstack 一直未能普及,原因很簡單,需要幾十個人的團隊才能在生產環境玩起來的話絕大多數企業都會放棄。
什么叫“內聚”,就是功能不是以犧牲復雜度來換取的,像 linux 的 core 很內聚,驅動即使擴展了一萬個系統復雜度也沒增加,雖然代碼在一直增加。所以軟件設計時的抽象能力就變得極重要,基于云內核架構設計的云操作系統也是高“內聚”的,通過擴展應用來擴展能力,而各應用之間是低耦合的。
內核架構云操作系統爆發時機
基于開源技術的云服務在侵蝕昂貴且強綁定的公有云的服務
現在可以發現公有云云原生領域提供的服務商業化做的好的幾乎都是開源強相關的, 如基于 kubernetes 的云服務,基于 prometheus grafana 的可觀測服務等。
用戶越來越聰明了,便宜還是貴按按計算器就能算出來,而且綁定意味著認人魚肉,技術選型明顯往開源技術傾斜。
云原生侵蝕傳統 IaaS 服務
基于虛擬機的業務增長速度已經遠遠趕不上云原生生態的發展速度了,基于 kubernetes 的云原生生態每年幾倍甚至有些產品每年幾十倍的增長,大量企業在從虛擬機架構往云原生架構遷移。
前幾年市場被教育的很好,越來越多企業知道云原生降本增效不是一點點,該填的坑也被填的差不多了,開始考慮從觀望狀態變成實踐了。
市場需要一款云操作系統進一步降低云原生門檻與成本
現狀是企業在實踐云原生的時候還是容易迷失,生態過于龐大復雜,上千款生態軟件讓很多企業無從下手,而且真要落地至少得有個專家能把云原生計算存儲網絡都玩的明白,所以這個生態依然還是缺乏好用的開箱即用的發行版。
其實這個發行版的要求還是很高的,要非常簡單不多不少的去滿足客戶的需求,還不能給用戶帶來負擔,這就必須得非常好的設計理念和實現機制。
如何實現這樣一個云操作系統
如何去設計這樣一個操作系統,首先一定需要有非常好的設計理念
- 化整為零,這意味著如果你不裝應用,這個系統就是空的,就是 nothing,就是 void*,就和你買了一臺新電腦里面除了操作系統什么也沒裝一樣。
- 自由組裝,所有用戶的需求都是通過具體應用實現的而這些應用都是按需求從應用市場中下載,不會硬塞給用戶不需要的東西,未能得到滿足的需求也是通過應用去擴展。云操作系統不會去追求各種應用風格的統一,就像 macOS 上的微信和飛書不會有統一的風格和賬戶系統一樣,只有這樣各應用才能在自己的場景盡情發揮出最大優勢。
實現層面,core 是非常內聚的意味它向下僅提供云內核生命周期管理,如安裝/伸縮/升級/清理,向上做好應用的打包與管理即可。
應用市場方面很重要,一定要有好的標準,這涉及到應用的提供者與消費者之間的協作,OCI registry 倉庫就是個非常好的已有事實標準,兼容它是最好的選擇。
User interface 一定要簡單極致,這是用戶直接使用你東西的地方,API > CLI > GUI, Desktop 是產品化的終極形態,真的做到用云像用 PC 操作系統一樣簡單。
剩下一切都在于擴展應用的寬度和深度:
- 廣度,常用分布式軟件如 mysql 集群,redis 集群,消息隊列等逐步覆蓋,不斷擴展常用分布式應用數量
- 深度,基本安裝->高可用->可監控->自運維->高性能/安全性->產品化,幾個階段衡量一個分布式應用成熟度
那 sealos 就是使用這樣的思維去設計的,laf 就是 sealos 上的第一款殺手級應用。
總結
未來的云會更便宜 更開放 更簡單,最終會有一款優秀的發行版本實現云原生的普及,而 sealos 誕生之日起就朝著這個目標不斷進步~
相信未來云計算屬于所有算力的提供者,云的價值也會屬于所有云計算的參與者,不再受任何廠商綁定之苦,更便宜的享受云計算帶來的便利。開源開放帶給大家簡單/便宜的云計算!
作者:fanux.方海濤.中弈 sealos 作者, CNCF sealer 項目發起人。曾就職阿里云,現任環界云計算 CEO, 環界獲得陸奇博士奇績創壇種子輪投資