腳本語言被稱為擴建的語言,是一種介乎于HTML和諸如JAVA、Visual Basic、C++等編程語言之間的一種特殊的語言,用來控制軟件應用程序。在使用諸如Java、C之類的編程語言時,我們不得不面對各種復雜的數據類型、設計模式和大量看起來沒用但又不能缺少的代碼。而對腳本語言來說,這些問題都是天生就不存在的,腳本語言開發講究敏捷,注重效率是實現敏捷開發的一條可行之路。腳本語言在數據中心里應用非常廣泛,可以用于網絡應用程序開發,服務器上的動態網站以及一些開發界面等,腳本語言還具有簡單、易學、易用的特性,上手非常容易,編程功能上相對簡單一些,不具有編程語言復雜、嚴謹的語法和規則,所以不僅在數據中心,在很多領域腳本語言都非常受歡迎。下面來介紹幾款數據中心常用的腳本語言。
Python
Python最大的魅力之一,就是簡單易學,它被稱為非計算機專業人士學習編程的最好選擇。Python的功能強大,標準庫的豐富程度,估計連Java也望塵莫及,特別適合網絡應用程序的開發,有利于開發效率,現在顯得越來越強大。不少的數據中心網絡設備內部都集成了Python解釋器,可以直接在設備上使用Python命令和標準API,可以直接進行系統配置,還可以在網絡設備上執行Python,方便自動化配置系統。Python和TCL腳本語言非常類似,在網絡設備上通過Python可以自動實現各種網絡配置,是實現網絡自動化部署的必要工具之一。在SDN網絡中,通過云平臺對數據中心網絡進行自動化管理,Python腳本語言大有用武之地。
PHP
PHP(Hypertext Preprocessor)超文本預處理器是一種被廣泛應用的開放源代碼的多用途腳本語言,它可嵌入到HTML中,尤其適合WEB開發。PHP作為服務器端腳本語言,特別適合做動態網站。不少的數據中心主動招聘PHP工程師,就是希望利用PHP開發一些基于應用的內容API項目,以此來改善數據中心的運行效率。在數據中心里進行服務器維護時,也要經常用到PHP,使用PHP編寫一段小程序,進行模擬運行,以便測試某個模塊或者功能的情況如何,PHP不僅可以用來開發應用,還可以用來診斷分析問題。
Shell
Unix/Linux Shell也是腳本語言,并且在數據中心運維過程中使用頻率很高,因為數據中心里絕大部分的設備操作系統都是Linux的。我們可以用Shell腳本統計出網站的總訪問量,以及404、500出現的次數,統計出來后,可以看出網站訪問量是否異常,是否存在攻擊,這對于數據中心來說非常重要,業務異常最先感知到的就是應用層面,通過Shell編寫一些監控應用運行的腳本,就可以實時得到應用運行的狀態,以便在出現問題時,第一時間知曉,然后再去徹查產生問題的原因,所以Shell腳本在數據中心里更多是用來監控應用的,尤其是網頁。當然,Shell是Unix/Linux系統的腳本語言,自然可以通過Shell檢查操作系統的運行狀態,Shell提供了豐富的腳本命令,以便可以監控操作系統運行的各種參數,以便系統出現問題時,及時發現。shell應該是腳本語言中偏難的,這和它的語法特點,調試、運行環境等等都有關系。
Perl
Perl是面向系統管理的腳本語言,是一種比較老的腳本語言,且成熟度最高的腳本語言之一,字符串處理非常強。數據中心將Perl引入的目的更多是希望可以通過Perl二次開發一些數據中心監控程序,這些程序可以監控數據中心的各個環節運行狀態,以便及時發現隱患。在數據中心里與Shell語言類似,是運維中適應頻率很高的一種語言。不過,Perl相對大多數人而言,不是那么好上手,語句理解起來晦澀難懂,這也使得Perl慢慢在走下坡路,像Ruby就大有取代Perl之勢。Ruby得益于殺手級框架Rails,在敏捷開發上表現突出。Ruby的語言特色是純面向對象,吸收了Perl、Python等腳本語言的大量優秀元素。可能是太新的緣故,它的標準庫還不夠豐富,成熟的第三方庫也相對較少,但這些情況會隨著時間的推進逐漸改變。
TCL
TCL(Tool Command Language)也是一種腳本語言,TCL很好學,功能很強大,經常被用于快速開發、腳本編程和測試等方面。在數據中心里,可以使用TCL設計多種功能的執行腳本,使用腳本來代替人工操作,將可以大大節省人力成本,將枯燥、重復性的操作交給TCL腳本,由控制云平臺在指定的時間通過TCL腳本自動下發,從而完成業務調整或部署。通過TCL還可以進行網絡性能測試、故障演練、網絡運行監控等等。通過TCL可以將人力從繁瑣數據中心運維的工作中解脫出來,使用TCL來自動完成運維工作。
除了以上介紹的這些腳本語言,還有HTML、CSS、JS、LUA、Groovy等很多腳本語言,這些都可以用到數據中心里,為數據中心運行提供便利。雖然腳本語言與編程語言相比,有其自身的優勢,但依然存在性能問題,當然這可能取決于很多因素,很多情況下,性能問題是致命的。腳本語言得益于計算機硬件的加速發展,高速的硬件計算能力使得腳本語言的性能基本可以忽略,這才有今天的大發展。在數據中心里,腳本語言到處存在,在網絡、服務器、存儲等基礎設施中有非常普及的應用,腳本語言的明天是無限光明的!