2019年DevOps实践最有价值的技能Top 8
2018年DevOps世界出現了一股Kubernetes浪潮,幾乎每個供應商都開發了自己的Kubernetes產品,例如NetApp Kubernetes,Puppet DevOps儀表板,RedHat的OpenShift 等等。
RedHat的DevOps認證專家Shane Boulden,列出了8條最有價值技能的“DevOps Top 8”,方便DevOps從業人員或那些有志成為DevOps專家的人員帶來一些經驗教訓。
部署和使用合適的Kubernetes
Kubernetes是DevOps應用必須掌握的一個平臺,允許開發人員和運營商使用相同的API管理平臺和容器化應用程序。直接學習上游存儲庫的代碼通常的效果會讓自己越來越迷茫,建議選擇下游的底層從頭到尾學習。例如,可以選擇OpenShift容器平臺,以及最新的OpenShift?迭代,全面地學習Operator框架。
配置和管理基于微服務的可擴展應用程序
在2019年,部署和管理Kubernetes上的應用程序是DevOps從業者的基本技能。可以使用命令行工具(如“kubectl”)與Kubernetes API進行交互,甚至可以使用自定義腳本直接與Kubernetes API進行交互。例如,Python Kubernetes客戶端的’?load_incluster_config?',或者下載API來使用應用程序內的pod元數據。
部署可擴展的監控解決方案,通過產生的指標數據能更好地進行監控性能。例如,Prometheus和Grafana。使用node_exporter通過Prometheus節點可以導出操作系統指標,使用Micrometer等庫可以導出應用程序級指標。不論是開發人員還是運營商可以使用相同的監控基礎架構,提高團隊之間的工作效率。
掌握自動化工具
自動化一直是DevOps的核心,DevOps領域的自動化專家能帶來更高的可信度。在2019年,應該努力獲得專家級的自動化工具知識,例如Ansible,Chef,Puppet或直接使用Bash。應該能夠與開發人員一起輕松實現配置管理、測試和生產部署等所有方面的自動化,并且希望至少嘗試使用“藍綠”(blue-green)或“金絲雀”(canary)等自動高級部署技術。
Ansible可以在混合云中實現自動化配置和應用程序配置,利用Ansible Operators可以將自動化技能應用到Kubernetes,并使用Operator框架管理復雜和有狀態的應用程序。
容器化應用程序的最小化構建
創建基本的Dockerfile并調用應用程序“容器化”,如果只懂得這樣處理就太落伍了。2019年的DevOps從業者應該掌握如何優化容器化應用程序的構建,最小化容器的鏡像文件,最小化運行時的依賴性。構建較小的映像意味著容器注冊表中消耗的存儲空間更少,并且最大限度地減少容器內的運行時依賴性使潛在攻擊的攻擊面最小。
不需要在已部署的容器中使用GCC,但可能需要它來構建Python的依賴項。在這種情況下,最好使用多階段容器構建 – 不再需要構建一體化的鏡像,只要在注冊表中為生產部署提供分階段的強化、精簡的Alpine基礎鏡像。
使用多個不同容器runtime進行交互
多年來,Docker一直主導著Linux的容器世界,提供了簡單的容器圖像格式和易于使用的CLI。Docker在2019年的影響力正在逐漸減弱,它在2018年對其產品進行了一系列令人困惑的變化,以便將該平臺貨幣化,其開源項目Moby的狀態仍不明朗。2018年還啟動了一些新的開源容器計劃,例如CRI-O,現在是Kubernetes的默認容器runtime。對于2019年的DevOps從業者,Docker仍然很重要,因為它牢牢扎根于開發人員和IT主管的詞匯中。應該理解如何在Docker和其他容器runtime之間進行交互,比如Docker的fat-daemon模型和Podman的fork/exec模型,還要掌握它們如何與容器平臺(如Kubernetes)進行交互。
了解并可以管理委派的身份驗證和授權
容器化應用程序的興起意味著管理應用程序身份驗證和授權的變化,嘗試在容器內部打破Kerberos或FreeIPA客戶端是很痛苦的,導致了許多黑客攻擊來讓工作正常進行。2019年將使用OpenID Connect和OAuth 2等協議來創建易于擴展的應用程序架構,作為DevOps從業人員應該樂于使用OpenID Connect來提供身份驗證,并管理應用程序的多因素驗證。
成為操作系統專家級工程師
操作系統的角色在2019年沒有改變,仍然是所有內容的基礎,它決定了DevOps平臺的成敗。無論個人偏好是基于Debian還是基于RedHat,或者是最新的容器優化的操作系統,成為核心操作系統管理和工程方面的專家仍然至關重要。例如,獲得RedHat認證系統管理員和RedHat認證工程師的證書,為開發人員和運營商提供可信的保障,當任何事情發生時,可以直接訪問操作系統并解決問題。
掌握最好的學習方式
DevOps是一個不斷變化、不斷發展的世界,要努力繼續縮短開發人員和運營商之間的反饋循環。隨著框架的發展和流程的變化,了解如何最好地學習是很重要的。Shane Boulden認為,無論是通過實踐學習,還是直接閱讀手冊,都無關緊要,目標是盡可能高效地學習。
Openshift
Containers
DevOps
Docker
Podman
?
總結
以上是生活随笔為你收集整理的2019年DevOps实践最有价值的技能Top 8的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Serverless五大优势,成本和规模
- 下一篇: 深入剖析分布式监控 CAT —— 消息文