5、自動化運維工具
嚴(yán)格意義上說,自動化運維工具不能算是云計算特有的,在傳統(tǒng)IT架構(gòu)下也有自動化運維的需求與實現(xiàn)。只不過近些年業(yè)界興起的DevOps與云計算相結(jié)合,重新賦予了自動化運維新的理念,在此背景下,也出現(xiàn)了不少優(yōu)秀的開源自動化運維工具,Ansible就是目前業(yè)界最為熱門的一個。Ansible是一種模型驅(qū)動型配置管理工具,充分利用SSH技術(shù),改善安全、簡化管理。除了配置管理外,它還能夠?qū)崿F(xiàn)應(yīng)用程序部署(甚至多層部署)、工作流程編排和云配置自動化等功能。Ansible基于五大設(shè)計原則,包括易于使用(不需要編寫腳本或自定義代碼)、易于掌握(對管理員和開發(fā)者來說都是如此)、全面的自動化(讓你可以做到你環(huán)境中的幾乎一切都實現(xiàn)自動化)、高效率(因為它在OpenSSH上運行,因而不依賴內(nèi)存或處理器資源),以及安全性(它天生來得更安全,因為不需要代理、額外端口或根級守護(hù)程序)。與其他許多開源項目一樣,Ansible也有一款收費產(chǎn)品,使用一種名為Ansible Tower的Web用戶界面。
問題三:開源可能帶來哪些問題?
1、開源不等于免費
這是開源領(lǐng)域一個永恒的話題,也是任何機(jī)構(gòu)、組織或公司想要用好開源軟件需要接受的一個觀點。開源軟件是對傳統(tǒng)商業(yè)軟件開發(fā)及應(yīng)用模式的一種變革。傳統(tǒng)商業(yè)軟件按照許可售賣,用戶在部署、使用及后期維護(hù)方面遇到的問題,均可由軟件商提供明碼標(biāo)價的服務(wù)。開源軟件為用戶提供了一個免費的社區(qū)版軟件,但通常情況下,它只能算是一個“半成品”,僅能滿足用戶最基本、最通用的功能需求,一些定制化的功能需要用戶在社區(qū)版基礎(chǔ)上二次開發(fā)。另一方面,對于軟件前期的部署、中后期的運維也缺乏專業(yè)的團(tuán)隊支持。如果將軟件比作一輛車,國內(nèi)外大部分電信運營商都習(xí)慣于做一名合格不出事故的司機(jī),即從設(shè)備制造商手中買一輛“成品車”,然后努力學(xué)好駕馭這輛車的技能。然而,開源軟件則是一輛“半成品車”,在它可以平穩(wěn)駕駛前,首先要對其進(jìn)行優(yōu)化改造,而這需要機(jī)械師的技能。因此,多年來習(xí)慣于做“司機(jī)”的運營商或許需要考慮如何補(bǔ)充“機(jī)械師”技能了。想要成為一名合格的機(jī)械師,學(xué)費是不可避免的。
2、開源阻礙技術(shù)發(fā)展
這個觀點似乎與大眾的認(rèn)知相去甚遠(yuǎn),但現(xiàn)如今這個問題在開源領(lǐng)域確實存在。開源項目的初衷是希望集合全世界廣大開發(fā)者的力量打造一款優(yōu)秀、強(qiáng)大、快速迭代的軟件,替代傳統(tǒng)IT巨頭開發(fā)的閉源商業(yè)軟件,從而消除技術(shù)壁壘,避免廠商控制技術(shù)演進(jìn)路線的現(xiàn)象發(fā)生。例如Linux項目的發(fā)展促成了服務(wù)器X86化趨勢,讓系統(tǒng)封閉且價格高昂的小型機(jī)逐漸退出歷史舞臺。又如安卓項目的誕生加速了移動互聯(lián)網(wǎng)的繁榮發(fā)展,讓非智能手機(jī)消失在人們的視野中,這些成功的開源項目確實促進(jìn)了技術(shù)的發(fā)展。但近年來,伴隨眾多IT巨頭相繼關(guān)注開源事業(yè),投入資金支持社區(qū)發(fā)展后,曾經(jīng)相對純粹的開源項目產(chǎn)生了微妙的變化。一些由少數(shù)廠商主導(dǎo)的開源項目變得不再開放、友好,相關(guān)廠商為了自身利益的最大化做起了與開源項目初衷背離的事情,導(dǎo)致一些優(yōu)秀的開源項目走向衰敗。這種現(xiàn)象發(fā)生在開源項目上,通常比商業(yè)軟件危害更大。因為同類型的商業(yè)軟件一般可由多個競爭廠商分別提供,并長期共存。而同類型的開源軟件在發(fā)展初期會充分競爭,但隨著時間推移,基于“叢林法則”最終形成一家獨大的格局。如果勝出的項目被少數(shù)商業(yè)公司掌控,這些企業(yè)就可以控制某一行業(yè)、某一領(lǐng)域的技術(shù)趨勢,這與完全壟斷某個市場的商業(yè)軟件幾乎毫無差別。
3、開源并不安全
在前文中筆者曾將“安全”作為開源軟件的優(yōu)點加以論述,現(xiàn)在又將其視為開源軟件的潛在問題來討論,這看似有些悖論的意味,卻又真實存在。提出開源軟件更加安全論點的人們普遍認(rèn)為社區(qū)有成百上千的人在審核代碼以便發(fā)現(xiàn)漏洞或缺陷,從而快速修復(fù)漏洞,不被攻擊者利用。但持有這種觀點的人往往忽視了一個問題,即代碼中的漏洞是開放給所有人查看的,攻擊者也在其中,而大部分漏洞從發(fā)現(xiàn)到完全修復(fù)的耗時明顯要大于惡意代碼產(chǎn)生耗時,這就給了攻擊者可乘之機(jī)。這從早幾年OpenSSL爆出的“Heartbleed”漏洞到MongoDB的“贖金事件”,再到最近由Memcached漏洞引起的“DRDOS攻擊”,均反映了開源軟件并不安全這一事實。