學(xué)會(huì)這五種編程語言,再來研究DevOps也不遲
如何確保我們采用的DevOps能夠成功?是否有某些語言非常適合應(yīng)用于DevOps?今天,我們來看看眾多編程語言中,哪個(gè)才是最適合DevOps的(順序與排名無關(guān))。
1. JavaScript
許多深受歡迎的流行框架和庫都是用JavaScript編寫的,例如Angular、React和Node。這種語言不僅提供服務(wù)器端的實(shí)現(xiàn),數(shù)量龐大的社區(qū)意味著在GitHub或Stack Overflow上總會(huì)有幫助。對開發(fā)者來說,JavaScript是安全的選擇。
盡管JavaScript對DevOps(所有這些庫和依賴關(guān)系)來說有些復(fù)雜,但這并不意味著它們不能進(jìn)行良好的協(xié)同工作。
2. Go
Golang。Google的開源編程語言,或多或少可以說是為樂DevOps研發(fā)的。Go是為了提高速度而建立,但它強(qiáng)調(diào)的是精益,網(wǎng)絡(luò)高效的運(yùn)行對DevOps意義重大。它比Java更簡潔,而且是建立在C的基礎(chǔ)上,某種程度上可以說是沒有任何缺點(diǎn)的。
容器之王Docker就是用Go編寫的。為什么各種DevOps工具都是用Go編寫的呢?因?yàn)樗梢暂p松編譯為所有主流操作系統(tǒng)獨(dú)立、靜態(tài)的二進(jìn)制文件。沒有庫、沒有依賴和其他任何東西。
3. Python
Python正在成為通用語言之一。最近GitHub將其評為第二大熱門編程語言。Stack Overflow稱它是增長最快的主要編程語言,Python甚至被認(rèn)為是機(jī)器學(xué)習(xí)***的語言。
那么,Python可以為DevOps做些什么呢?Python可以通過監(jiān)視和部署工具(如Ansible和salt等)減少維護(hù)問題。像OpenStack這類的選項(xiàng)為開發(fā)人員提供了創(chuàng)建私有云和公共云基礎(chǔ)框架的資源。
4. C / C ++
雖然C可能比較“大齡”,但在很多方面仍然與計(jì)算有著千絲萬縷的關(guān)系。C / C ++是許多現(xiàn)代計(jì)算的基礎(chǔ),如果您需要直接操作硬件本身,那么沒有比C更好的語言了。
但是,C / C ++在DevOps中面臨著一個(gè)非常大的障礙:自身大小。C / C ++的絕對比Go或Ruby等語言大一個(gè)或兩個(gè)數(shù)量級。C / C ++的編譯時(shí)間更長,還有二元問題。由于C / C ++被編譯為本地機(jī)器代碼,大小問題導(dǎo)致了它的應(yīng)用程序二進(jìn)制接口問題。
5. Ruby
Ruby的鼎盛時(shí)期可能已經(jīng)過去了,但它仍然是一個(gè)實(shí)用的語言學(xué)習(xí)。許多流行的自動(dòng)化工具都是用Ruby編寫的,特別是Chef。Ruby是一種面向?qū)ο蟮?、編譯的并且功能全面的編程語言。如果您了解Python或Perl,那么對這個(gè)語法也不會(huì)感到陌生。
需要說明的是,Ruby已經(jīng)不像以前那么受歡迎了。其他的語言從Ruby中提取了實(shí)用的功能,并以自己的語法實(shí)現(xiàn)。然而,GitHub上許多項(xiàng)目仍然使用Ruby編寫,包括流行的Ruby on Rails。
+1 Rust
不要忽略Rust,Rust很可能成為下一個(gè)大型基礎(chǔ)設(shè)施語言。許多Ruby狂熱者開始紛紛轉(zhuǎn)向Rust,部分原因是因?yàn)镽uby for Ruby有非常詳細(xì)的教程。
在DevOps中,Rust在系統(tǒng)自動(dòng)化、容器管理和容器編排方面承擔(dān)了越來越多的責(zé)任。甚至在一些項(xiàng)目上與Docker結(jié)合使用。Oracle的***個(gè)容器程序就是在Rust中編寫的。顯然,Rust可能是2018年要著重關(guān)注的技術(shù)。