我這開發的十年

2008年,剛開始接觸互聯網,那時候用的手機還是Windows Mobile,對於iPhone來說根本買不起,當然這一年也是移動互聯網的熱點之年。第一款真正的安卓手機也隨之發佈,諾基亞也毫不示弱,Symbian開源了。那時候雲計算在國內也不是很流行,我們都在用虛擬主機。這一年MySQL也被收購了,Windows Server 2008也橫空出世了,十年前的今天,真的是相當精彩!
那麼回顧之前,我們的IDC是一個什麼情況呢?那時候是成千上萬的物理服務器,每個服務器上需要安裝操作系統,比如Linux或Windows Server,然後在其之上部署應用。直到有了虛擬化的出現,可以將一系列操作過程鏡像化的批量去做,同時虛擬化可以很好的利用硬件,避免其中的性能浪費。目前整個雲計算的時代已經普及,雲和虛擬化最大的區別就是雲計算賦予了API的能力。
虛擬化是一種技術,允許我們從單個物理硬件系統創建多個虛擬系統,我們管它叫VM。 這些VM依賴於VM管理程序將計算機資源與硬件分離。08年正是虛擬化盛行的一年,KVM、Hyper-V、Xen等虛擬化技術越來越流行。當時最早還是在Parallels(一家虛擬化軟件公司)實習,做技術支持,我們給客戶解決在使用Parallels虛擬化產品中遇到的各種問題。
隨着虛擬化的流行,後面又刮來了一陣大風,這就是雲計算的出現,雲給我最大的感觸就是,它有了API,可以讓我們做更多虛擬化做不到的事情。剛開始最早接觸雲計算還是在公司中做OpenStack的PoC(概念驗證),直到支撐着整個生產環境的運行。那時候接觸的最早的版本是Havana,當時走了很多彎路,每一次部署都會失敗,都會有問題。那時候的OpenStack Bug非常多,沒有現在的穩定。那麼當時我們是怎麼一步一步達到生產級別的?這裏面付出了太多的心血。我們爲了推向生產的時候保持和測試環境一樣的部署架構,包括每個package版本以及配置文件,幾乎調研了當時所有可以自動化部署OpenStack的開源軟件,比如:Juju solutions for OpenStack、Autopilot、puppetlabs-openstack、openstack-ansible、Kolla、RDO(Packstack)、TripleO等等。但是這裏面會有一個通病,就是通過這些軟件部署出來的環境並不是我們想要的。而且當時PuppetLabs的Module還不支持高可用部署,我們諮詢了官方,官方給出的答覆是在後面版本會支持這個能力。最後,我們決定重複造輪子,一個真正支持高可用部署的OpenStack Provisioning工具。後來,在GitHub上創建了個項目,開始搞起來,這個項目叫Playback,這個項目的作用正如同它的名字(回放)。Playback可以真正按照用戶需求,自定義部署架構,且支持高可用的一個OpenStack的Provisioning工具(提供命令行和API)。最後我們通過Playback將整個OpenStack部署到了生產環境,這是一個很大快人心的事情呀!但後面也會存在很多失落感,這就是搞開源的寂寞,幾乎沒有人用我們的產品,除了我們自己使用。沒有任何人發issue,沒有任何人fork,沒有任何人鳥你。後來我們打算把這個項目進入到OpenStack的Big tent裏,Big tent是OpenStack所有子項目的一個大集合。這個很難進,原因是什麼?我們的速度跟不上,因爲官方已經有了Playback具備的所有能力。
雖然這個開源項目可以說是搞黃了,但這些經歷,這些經驗是非常寶貴的。首先,我們一定要明確是否需要重複造輪子?怎麼造?造出來怎麼運營?這都是技術之外的事情。其次,速度不一定是勝利的必要條件,但速度是最基本的條件。技術發展很快,技術顛覆也很快,我們應該如何把握這之間的時速?最後,無論結果如何,一定要堅持,當你決定要下手幹的時候。
但是今天,越來越多的中小企業幾乎不在IDC中構建自己的私有云了,更多的企業轉而投入了公有云的懷抱中,這是爲什麼?看我們之前搞OpenStack來說,我們付出了很多人力成本,而中小企業不願意去投入這個人力成本。這是原因之一。還有就是之前大家都覺得公有云不安全,所有數據都放在公有云上,這樣安全嗎?但是大家目前都在用公有云環境,從而也慢慢消除了這種概念。我一些朋友所在的公司,幾乎也都在用阿里雲,這是一種趨勢。

作者:賈爽 銀泰高級技術經理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章