2018年即將要自動化的5件事
我們可能還沒有得到一隊隊機器人在等著伺候我們,但自動化革命正在如火如荼地進行著。隨著自動化在日常生活中變得越來越明顯,人們對自動化概念及其消除就業機會的潛力一致存在著一些錯誤誤解和擔憂,而這些正逐漸被自動化將成為一種機會的觀點所取代。而且,鑒于IT部門正在為當今的企業提供著動力,沒什么人能比企業IT部門更好地利用目前的自動化的機遇。
在各行各業中,加快創新速度的壓力不斷增加,預算和人力資源相對停滯不前,未采用自動化戰略的組織正面臨失敗。自動化使計算機能夠完成平凡的任務——而且越來越多,甚至不是那么平凡的任務——使員工能夠專注于創新。
無處不在的自動化
雖然2017年就有跡象表明自動化是IT優化和數字轉型的關鍵,但2018年將是IT自動化真正邁大開步的一年,并會在各行業得到廣泛的、系統的采用。那么,組織接下來應該考慮自動化的哪些趨勢?企業IT中的這五個領域將在2018年實現自動化。
1. 網絡
網絡可以說是企業IT的基石,但真正的網絡堆棧自動化幾乎不存在。事實上,在過去30年中,網絡管理并沒有發生重大變化。網絡工程師仍在登錄各個設備和手工配置,使網絡團隊越來越遠離DevOps革命,并減緩了數字轉型。
今年,網絡自動化將在企業中全速前進,而it部門也別無選擇。
隨著云計算的不斷發展、新的和潛在的大規模物聯網部署,以及為提高效率而對內部IT進行更新換代的壓力不斷加大,網絡工程必須像近年來的服務器和應用程序開發工程們一樣地關注和重視自動化。網絡團隊不能保持孤立,只能是維持現狀;我們應該擁抱他們,向他們展示如何獲得DevOps所提供的相同的好處。
將網絡自動化納入DevOps的范疇將使任務能夠以更高的節奏和更高的準確性執行,同時增加對現代應用程序體系結構的成功至關重要的團隊之間的協作。
更具我的經驗,這部分自動化的途徑和方式有如下幾種:
- 對于傳統的網絡設備,基于TFTP服務的配置文件的集中式更新和管理;這種工具我在很久以前用過BMC的BCAN工具。基于網絡設備已有的可訪問端口,它能夠實現配置的極限、偏移檢查和糾正。
- Terraform可以根據云平臺的開放API,通過代碼的方式管理到AWS,Azure里的虛擬網絡架構,對于私有云的服務器虛擬化平臺,也可以通過對其Provider進行持續擴展的方式,完善網絡的IaC風格的管理,底層也是依賴虛擬化資源池能提供的API。
- Ansible這類的主要是Host配置管理的工具,擴展出的網絡自動化功能,支持的網絡廠商也逐漸增多。
- 軟件定義網絡的自動化,我最近了解過Big Switch的方案,這種基于白盒設備實現的網絡基礎架構設施的自動化配置能力和管理方式是和傳統網絡設備完全不同的。它們還可以隱藏在類似于虛擬化/HCI管理平臺的底層,在管理虛擬機的同時動態的配置虛擬機所需要的網絡配置,實現了資源的更高度的集成化管理。
2. 基礎設施
要運行業務系統,您需要基礎架構,并且必須設置該基礎架構,從而滿足組織的日常運維。無論您的系統是在云、虛擬化環境、容器中運行,還是在裸機上運行,如果仍然需要手動配置和制備基礎架構,您的行動速度就太慢了。如果制備系統需要數周甚至數天的時間,這意味著需要推遲業務所需要的變更。
雖然自動資源制備已經存在了很長時間,但在2018年,我們將看到這種情況進一步擴大,主要原因是自動化工具和平臺的易用性。只有通過自動化,才能夠使基礎架構可以自動擴展,或者使用預先開發好的腳本組合,操作工程師可以快速更新數百甚至數千個設備。這種技術將使IT部門能夠在不增加人力的情況下迅速擴容其基礎架構。
一旦自動資源制備取代了繁重的手工操作,重點就可以轉移到自動化管理、維護和故障排除了。
更具我的經驗:這部分的工具和技術實在太多了,不論是什么環境,工具都是成熟而豐富的。亟待改變人們對純手工的依賴性,人的思維要先解放了,他們就再也不想呆在舊社會了。
3. 微軟
傳統上,在企業中,Microsoft環境由分散的團隊管理。最近,微軟公司都在幫助用戶從行業內更廣泛的經驗中學習(例如加入開源計劃)方面做了大量工作,并幫助打破了一些IT部門的壁壘。Microsoft還致力于在企業中推廣基于Azure的服務,為客戶提供更多采用自動化的機會。
隨著SQL Server越來越受歡迎(在紅帽企業Linux以及傳統的Windows基礎上都可以進行安裝),自動化是一個減輕一些傳統規模負擔的機會。我們已經看到了開源的SQL Server Ansible模塊的開發,這將有助于將這一關鍵應用程序基礎架構融入到DevOps風格的工作流中。
微軟還對開源項目產生了更廣泛的興趣。這包括為可移植社區做出貢獻,幫助用戶將開源項目與其Windows環境集成。
根據我的觀察:微軟產品的純手工管理程度是相當高的,大量的開源軟件開發者和使用者,在碰到微軟平臺的時候就直接放棄了,人們可能在等著Windows的消退,很少見到有人在Windows上積極的使用Ansible、Chef等配置工具。
4. 安全
只有讓任何事情變得更簡單、更容易了,才更有可能被采納。在過去的25年里,我們的生活與互聯網的聯系只是增加了復雜性。這種復雜性使安全專業人員更難保護我們所有人的信息安全。
通過配置管理,我們能夠從根基上就構建起安全性,而不是事后考慮。可以快速記錄和實施變更,從而使我們能夠及時響應事件,甚至在大規模范圍內作出及時響應。
隨著我們在云和網絡領域的同事實現了更多自動化,他們的可擴展性達到了新的水平。今年,我們已經看到了DevSecOps運動的增長,并期望它繼續下去。當我們將系統和流程與自動化結合起來時,這樣做變得更加安全。
根據我的觀察:安全性部署那個信息安全部門的職責,而是所有人的職責;安全團隊人員,如果將安全合規規則集成到開發和運維的日常工作中去?如何將安全基線變成可以代碼化、可以執行、可以測試、可以持續跟蹤和修復的?技術工具是就緒的,需要自動化配置管理工具和日志監控工具一起工作即可。
5. 應用編排
當我們說現代應用程序很復雜時,沒有人會感到意外。它們使用者最新技術,并與遺留系統共存著。它們在云中運行,跨越多個數據庫,需要從各種設備訪問。這使得確地定位問題的根本原因變得非常困難,更不用說告訴這些資源該怎么做了。由于應用程序性能會影響公司的利潤,因此維護它是頭等大事。但是,性能調優通常不能成為IT團隊的全職工作。
編排是流程的自動化。它減輕了時間和資源都非常消耗的工作,例如:管理、監測和服務臺處理。IT團隊可以定義應用程序系統在運行狀態下的狀態/行為模式,這可以對業務流程帶來更大的影響。精心安排的自動化將真正使公司變得與眾不同,從而使團隊能夠快速、可靠地部署應用程序,并實現輕松的維護。
根據我的觀察:k8s的異軍突起正巨大地影響著人民對應用的運維方式,它的自動化程度之高,模式的轉變之大是前所未有的。由于傳統企業有著揮之不去的沉重家底,這部分我暫且將其分類為敏態應用的開發和運維自動化里。傳統的穩態業務系統,如果沒有切實訴求,也不一定必須遷移到這個模式下,不一定為了追逐這個模式的好處而改變。
后記
在運維痛點最大的部分,在自動化程度最低的部分,在我們已經無奈的時候,要能冷靜的跳出問題圈;能在更上一層觀察這個問題。是否我們能淘汰這部分拖后腿的架構,是否能夠升級到我需要的模式,技術的可能性在今天是無處不在的。實現自動化程度根本性的、跨越的提升,必須考慮基礎架構的技術結構升級。就像業務應用架構演進到了微服務架構一樣。基礎架構的短板需要識別和升級,此處同樣可以參照木桶原理。
最后一個補充:參考我上一篇文章的部分內容。(2018年DevOps的幾大趨勢)
在DevOps中,我們經常談論自動化。如果可能,對服務器的零接觸自動化將是未來的趨勢。這并不意味著你必須自動化一切,但如果你必須這樣做,那么你應該能夠做到。了解DevOps循環的6個C,并確保在這些階段之間應用自動化是關鍵,這將是2018年的主要目標。
補充:上圖的每一個圈也是一個自動化的點,每個剪頭也是自動化的點,這樣才能讓這個循環真正的轉起來,讓工作在自動化的軟件裝配線上流動起來,形成需求拉動模式的持續工作流。最終,告別工單驅動方式的批量訂單生產。
【本文為51CTO專欄作者“劉征”的原創稿件,轉載請通過作者微信公眾號“DevOps教練”(MyDevOps)獲取授權】