系統管理員寶典:2019年7種實用的編程語言
譯文【51CTO.com快譯】如果你是系統管理員,可能純粹為了搗鼓和鉆研學習任何編程語言。沒有人阻止你,但一些語言特別有意義。你的情況可能不一樣,這取決于你的基礎架構、應用程序、代碼庫和工具鏈等因素。不妨看看值得今天的系統管理員考慮的7種語言。
1.Bash
Bash命令語言(全稱是Bourne Again Shell,意指取代了Bourne Shell)有大批的鐵桿IT粉絲。Nebulaworks的***技術官Rob Hernandez說,這種語言特別適合系統管理員學習,因為它適合一些基本的工作職責。
Hernandez說:“系統管理員發現自己往往需要將流程或現有工具結合起來。這常常說起來容易做起來難。通常系統面臨各種制約,而你安裝解釋器或編譯器的能力可能有限。”
這時Bash應運而生。Hernandez指出,大多數Linux發行版和UNIX OS上都有這個shell。此外,Bash命令語言非常適合處理系統管理員經常要處理的諸多問題。
Hernandez說:“[Bash]提供了解決無數問題所必需的結合機制(glue),又沒有較復雜的語言所需的許多樣板代碼。迅速建立原型、甚至解決初始問題的這種能力通常是經驗豐富的系統管理員所使用的***個工具。由于現在通過WSL包含在Windows中,它肯定不會很快消失。”
2.Python
Hernandez特別指出,shell腳本會遇到極復雜的情況。對于Hernandez來說,Python是那種下一級語言。原因在于:“Python提供了一系列優于shell的優點,還讓你可以編寫單元測試。[Python]可以安裝在任何現代的UNIX OS或Linux發行版上,語法并不專橫。我發覺,對熟悉shell的人來說這是一種平易近人的選擇。”
如果你是這門語言的新手,Hernandez也提供了建議:“從Python 3.6入手,因為總的來說Python 2.x已壽終正寢。兩個版本之間的語法略有不同,但這樣你可以馬上學會好的習慣。”
英國4D Data Centres Ltd的董事總經理兼聯合創始人Jack Bedell-Pearce說:“這幾年Python重新流行起來,意味著網上有更多的資源可供學習,而且是***的。Python是所有系統管理員必須掌握的。它是跨平臺的,適合任何復雜的任務。”
3.PowerShell
如上所述,適合你的語言取決于你在使用的環境。PowerShell就是個典例。
Bedell-Pearce說:“對于Windows系統管理員來說,PowerShell非常寶貴。”
“PowerShell讓用戶可以通過命令行來訪問和控制整個系統。管理任務可以完全自動化,節省了時間,并盡量減少了人為錯誤。可以編制Powershell腳本,輕松地自動完成數小時的重復任務。”
4.Azure PowerShell
Azure Powershell表面上是PowerShell面向公共云的擴展,這種語言可能非常適合面對Azure的系統管理員,尤其是在多云和混合云環境下。
NetEnrich的***技術官Jared Sikander說:“Azure PowerShell提供了一套使用Azure資源管理器模式來管理Azure資源的cmdlet。Azure PowerShell使用.NET Standard,因而適用于Windows、macOS和Linux。”
5.Node.js
Sikander還提到Node.js是DevOps部門及自動化受到重視的其他環境中另一個不錯的選擇。用該項目的話來說,這個開源JavaScript運行時環境“旨在構建可擴展的網絡應用程序”。它還經常被提到很適合微服務架構。Sikander通常推薦使用與DevOps文化和實踐有關的語言(比如Node.js等)和工具。市面上諸如Ansible之類的配置管理工具就是這一類工具。
6.Kubernetes
Kubernetes不是傳統意義上的語言。但這個平臺已成為管理容器化應用程序的***之一,隨著更多的公司在生產環境中部署容器,它可能會越來越受歡迎。雖然我們通常將Kubernetes稱為容器編排或管理工具,但它確實擁有自己的原生命令行接口kubectl,kubectl有自己的一套特定語法來管理Kubernetes集群。
7.Go
說到集群,Kubernetes在關鍵概念和功能方面有自己的一套語言或詞匯。Kubernetes項目網站上有一份詞匯表和用于運行命令的kubectl速查表。如果這里再添加一種實際的編程語言,不妨考慮Go(又叫Golang),如果你希望為管理容器化應用程序及基礎架構的角色構建你的登錄信息,更是如此。Kubernetes用Go編寫,Docker和rkt也是如此。
原文標題:7 valuable programming languages for sysadmins in 2019,作者:Kevin Casey
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】