通用操作系統已窮途末路

最近我在Twitter上看到了一則饒有意思的聊天,不由得想起了可能不是每個人都意識到這一點:通用操作系統正從我們的伺服器上被擠掉。

你所說的通用是啥意思?窮途末路又是啥意思?

首先,有必要澄清一下。我所說的通用操作系統是指大多數人如今用於運行伺服器工作負載的操作系統,無論是RHEL、變種版本(比如CentOS或Fedora或Debian),還是衍生版本(比如Ubuntu)。我們還包括Arch、各種BSD 和opensolaris版本以及Windows。我所說的窮途末路其實不是說它們消亡或不再有用。我的假設是,它們不再成為我們啟動新服務時使用的默認操作系統,最初很緩慢,後來比較快。

容器的虛擬機管理程序

Advertisements

本文的第一個部分包括討論我所說的容器的虛擬機管理程序,如今它們更可能被稱為CaaS,也就是容器即服務。我甚至猜測,VMWare將不得不在這個領域交付某種產品(看看vSphere Integrated Containers和Photon OS方面的工作);把OpenShift排除在外也許為時過早(OpenShift 3主要是作為一種Kubernetes發行版而交付的)。我很快會回過頭來解釋為何這對你鍾愛的Debian伺服器構成威脅。

競相成為PID1

對任何運行過Docker的來說,你可能為這個問題而糾結:主機進程監管工具(可能是systemd)的角色始於何處,容器進程監管工具(Docker引擎)又終於何處?你非得與兩者都要直接交互嗎?

Advertisements

現在設想一下:你伺服器上的所有軟體都在容器裡面運行。為何現在我需要兩個百分之百重疊的進程監管工具?明顯的答案是不需要,這就是為什麼Docker與systemd之爭不可避免。請注意:這也不是Docker所特有的。對cri-o(https://github.com/kubernetes-incubator/cri-o)來說,容器進程生命周期管理是其範圍內的職責。

容器成為軟體單位

隱藏在我那個假設背後未說明的是,容器成為了軟體的單位。我這裡的意思是說,我們構建或購買的軟體將日益作為容器來發布、作為容器來運行。容器將隨帶足夠多的元數據,以便運行時環境能確定需要什麼資源來運行容器。

別低估了來自這種共享契約的簡化性假設的數量。至少,在主機層面,你可能需要大量的近乎相同的主機,它們都向容器調度程序公共其功能。

操作系統的實施細節

我們在這個市場親眼目睹了縱向集成的堆棧(vertically integrated stack)大行其道。

  • Docker for Mac/Windows/AWS/Azure交付時隨帶自己的操作系統,這種Alpine Linux衍生版名為Moby,它並不是為最終用戶直接管理而設計的。

  • 來自CoreOS的Tectonic是一款Kubernetes發行版,它在受管理的CoreOS主機集群上運行。操作系統的大部分由頻繁的原子滾動更新版來加以管理。

  • 來自Red Hat的OpenShift Enterprise是另一種Kubernetes衍生版,這回它是在Atomic主機上運行。

  • Pivotal CloudFoundry交付時隨帶IaaS、主機操作系統、內核、文件系統和容器操作系統,它們都共同經過了測試。

在所有上述情況下,操作系統是更高級軟體的一個實施細節。它不是旨在直接管理,或者至少不是與你如今運行的通用操作系統同樣的程度加以管理。

這就是為什麼說,對運行伺服器的大多數通用操作系統而言,它們已窮途末路。運行容器的機器會運行更單一用途的工作負載,你運行的軟體越來越多地會在容器裡面運行。

你之所以會這麼做,而不是自行構建一切軟體,原因在於兼容性。無論是內核版本、文件系統驅動程序、操作系統變數,還是讓你的操作系統版本與我的操作系統版本不一樣的眾多變化因素,構建和測試在各個地方都可以運行的軟體是一項艱巨而無盡頭的任務。商業因素在這方面也起到了作用;畢竟,能夠為所有人支持經過驗證的單一產品有莫大的優點。

帶來的影響

此舉帶來了許多影響,看看它對早期採用者和企業客戶來說有何影響頗有意思。

  • 這對企業操作系統政策來說意味著什麼?

  • 基於代理的標準監控系統在封閉式垂直堆棧環境下如何運行?

  • 我們會看到AWS市場上的其他類型的服務出現這種模式嗎?在AWS市場上,啟動的實例無法訪問,但是自動更新。

  • 這種行動快速的軟體在變更控制流程僵硬或需要審計的環境下如何運行?

  • 許多大企業最終會運行不止這一種類型的系統,如何才能最有效地管理這種異構環境?

  • 我們會看到來自一些有關方的反對和阻力嗎?尤其是可能覺得這主要滿足廠商要求的開源社區?

  • 通用操作系統窮途末路是否會導致系統管理員當中專業化程度更高?

我很想與對此有過一番思考的其他人就上述任何話題聊一聊。整個行業出現什麼大的變化,以及採用可能事後想想再明顯不過的模式,仍需拭目以待。如果你喜歡這方面的內容,留言告訴我,我會擠時間寫一些更多的東西。

Advertisements

你可能會喜歡