[譯註]翻譯這篇文章,主要是覺得老外在思考問題時,勇於打破固有的技術棧積累,嘗試不同的選擇,從而找到最合適自己的技術方案、得到真正的實惠。 Synergy SKY提供多種軟體解決方案,本文想討論的是關於一套用於視頻相關的呼叫記錄(CDR)分析解決方案。 為客戶提供方案時有兩種選擇,一是讓客戶避免所有 ...
[譯註]翻譯這篇文章,主要是覺得老外在思考問題時,勇於打破固有的技術棧積累,嘗試不同的選擇,從而找到最合適自己的技術方案、得到真正的實惠。
Synergy SKY提供多種軟體解決方案,本文想討論的是關於一套用於視頻相關的呼叫記錄(CDR)分析解決方案。
為客戶提供方案時有兩種選擇,一是讓客戶避免所有的前置安裝、構建一套純粹的雲方案,但這種架構還是有很多術語如數據存儲、計算需求和管理;二是直接提供一鍵式軟體預裝,這也許是我們要做的。
我們在VMWare類似的虛擬機環境,可以構建全棧測試環境,但首先面臨的問題就是操作系統的選擇。CentOS當然是我們的首選。
在測試過程中,我們經歷的其中一個主要的問題是當應用程式占用太多記憶體時,Systemd會試圖讓整個dbus-systemd連接崩潰,導致整個系統處於不穩定的狀態,只有重啟才能解決問題。
我們還遇到一些其它的問題,可能在最新的CentOS中已經解決了吧。
我們在CentOS系統上已經積累了大量的經驗,這在我們做決定時是件好事。
我們在構建平臺時所關註的點:
- 容器技術 (docker進行了全方位的測試,LXC進行了一些)
- 軟體包與軟體倉庫管理工具 (yum/dnf)
- 自動化安裝
- 服務管理(Systemd)
- 如何處理系統的基礎配置(網路、服務啟動等)
帶著CentOS的經驗,對於FreeBSD的體驗過程也是從頭編譯了所有要用到的軟體。
然而抱著“行動前先獲得點印象”的想法,我們還是決定測試其它的Linux發行版。這正是事情的一個轉折點。
FreeBSD 10.3給我們的第一印象就超出了預期。幾分鐘就可以完成安裝,線上手冊編寫得異常的好。令我驚訝的是有預先編譯好的軟體包,幾乎是開箱即用。幾個小時後,我就用FreeBSD搭好了整個技術棧環境。
通過對基於FreeBSD Jail和ZFS的行業案例的瞭解及自己的體驗,我們立馬決定不再尋找其它的替代品,專註於測試和學習FreeBSD。
- 容器技術 ⇒ FreeBSD Jails
- 軟體包和軟體倉庫管理工具 (yum/dnf) ⇒ Pkgng / pkg / ports
- 自動化安裝 ⇒ bsdinstall (我們甚至構建了PXE安裝鏡像,讓你可以幾分鐘運行起來一套開發系統)
- 服務管理系統 ⇒FreeBSD rc
- 如何處理系統的基礎配置(網路、服務啟動等) ⇒ FreeBSD rc 及 rc.conf
我們基於Pkgng作為二進位軟體包的發行格式。整個過程中當然也會遇到這樣那樣的一些挑戰,但從來不上穩定性和性能方面的。在OS和用戶空間層軟體的隔離清晰,這一點完全符合邏輯,也被完美執行了。這也讓整個系統自動變得更整潔,很容易知道在哪去找配置文件、在哪存放數據。
FreeBSD 給到我們的是那種“剛好就能用”的體驗,而且沒有犧牲完整的控制能力。它在實際表現中非常成熟、穩定而又性能強勁!
FreeBSD已經伴隨我們走過兩年的時間,我們沒有再中斷過。
有幾點要再提一下,也是幾個讓FreeBSD變得更棒的方面:
- Freebsd-update, 讓你的基礎操作系統保持更新、與軟體包系統相互獨立
- Pkg 倉庫持續更新,不會像ubuntu/debian/CentOS那樣
- 開箱即用
- 通過ports系統,非常容易修改、重新構建和分發定製後的軟體包
- 原生集成ZFS,而不僅僅是用戶空間層面的驅動
- 商業許可問題更容易處理
- Network 相關的技術棧,FreeBSD中總共有三種不同的防火牆,我們選擇了pf
原文:http://blog.synergysky.com/whydidwebuildoursolutionontopof_freebsd
譯文有部分刪減