DigitalOcean是如何做到支持FreeBSD的?
很高興宣布DigitalOcean支持FreeBSD了。作為一個穩定且高性能的操作系統,FreeBSD將會是第一個在我們平臺上適用的非Linux發行版。雖然與其他的開源類Unix系統類似,但其內核和用戶空間是由同一個核心團隊來維護。
作為一個穩定且高性能的操作系統,FreeBSD 將會是第一個在我們平臺上適用的非 Linux 發行版。雖然與其他的開源類 Unix 系統類似,他的獨特之處就是它的內核和用戶空間程序是由同一個核心團隊來維護,以此確保整個項目的持續發展。FreeBSD 也提供了一個簡單的但是強大的軟甲你報管理系統,讓您可以輕松編譯和安裝第三方軟件。
FreeBSD 項目的亮點之一是其文檔的質量,包括使用手冊。DigitalOcean 喜歡簡潔有效的技術協作風格,并且我們也制作了大量的 FreeBSD 教程來幫助新用戶。
據我們了解,這個用戶請求已經存在相當長的時間。我們很清楚,可能你會問——為什么花了這么長時間?
隨著時間的推移和公司的不斷發展壯大,DigitalOcean 技術團隊的內部結構也發生了很大的變化。從一開始在布魯克林的一個小房間里瘋狂編碼的幾個人已經膨脹到現在的100多人來為各地的數十萬用戶服務。隨著發 展,我們很有必要調整和重組內部結構和系統來更好的為用戶服務。
技術基礎
去年,我們建立了元數據服務——使得 Droplet 在在創建的同時就可以訪問自己的數據。這是一個重要的功能,這樣鏡像就可以獨立的配置自己。在以后,這將會給我們更大的靈活性。我們的后臺代碼也不用知道 那些內容。一旦創建,Droplet 自己就能確認配置——主機名,SSH Keys,等等——而不用依賴第三方了。
解耦和是一個老生常談的問題:建立良好定義的接口,不要因為不必要的邊界而出問題。我們將鏡像這部分從后臺代碼中脫離出來,這樣就避免了調整來自 Linux 主機的 UFS 文件系統的棘手問題。
因為現在我們的機制是讓鏡像獨立于后端的實例,只需要在創建時將這一部分寫到配置里面。FreeBSD 本身沒有提供像 Red Hat 和 Canonical 那樣的云 OS 版本,所以在通過在公共端口啟動一個云初始化,就意味著讓 FreeBSD 運行在 OpenStack 上。
為了查詢元數據,需要有一個初始的網絡配置來建立網盤,我們的配置,由于 DigitalOcean Droplets使用靜態的網絡,在啟動時,我們為大家提供了V4的本地鏈路鏈接,來做初始化的查詢。由此我們獲得真正的網絡配置,主機名和 SSH Keys。云端初始化將在相關的 Droplet 的 ID 上寫一個配置。這樣就可以知道這個鏡像是新創建的還是一個快照,或者只是重新啟動。
一旦配置被寫入,FreeBSD 在啟動時就可以據此啟動相關的實例。
焦點
這項工作開始時我們也正在組織自己的團隊。我們有幾周的時間去接一個項目,然后自己組織跨職能的團隊,開始工作。最終成功完成了這個項目。
截止日期是一個強有力的事情,不是指懲罰或者消極之類的。而是在某種程度上一個明確的時間,到時所有工作都要停止。所以做什么,怎么做看起來就比較清晰,在明確的目標和日期的驅動下,我們專注于單一的目標,有效的溝通,最終滿足了用戶這項長期以來的要求。
在2015年,我們會有很多令人期待的事情,這是一個開始!
原文:https://www.digitalocean.com/company/blog/presenting-freebsd-how-we-made-it-happen/
譯文: http://code.csdn.net/news/2823757 譯者: Misslio