自動化使您能夠消除重復(fù)性任務(wù),從而降低運(yùn)營成本、提高效率并提高團(tuán)隊(duì)生產(chǎn)力。但是,將自動化引入復(fù)雜的 IT 環(huán)境還需要編排,這個術(shù)語經(jīng)常與自動化混淆(或互換使用)。本文探討了編排和自動化之間的區(qū)別,這兩個相關(guān)概念可以改變您的 IT 運(yùn)營。我們定義了這兩種實(shí)踐,看看它們是如何重疊的,探索各種用例,并概述依賴自動化而不是重復(fù)的手動任務(wù)的好處。
自動化與編排:主要區(qū)別
自動化是指自動化單個流程或少量相關(guān)任務(wù)(例如,部署應(yīng)用程序)。編排是指管理多個自動化任務(wù)以創(chuàng)建動態(tài)工作流(例如,部署應(yīng)用程序、將其連接到網(wǎng)絡(luò)以及將其與其他系統(tǒng)集成)。
自動化是一個簡單的“如果這樣,那么那樣”的過程,編排有許多活動部分,需要高級邏輯,可以:
- 根據(jù)自動化任務(wù)的輸出做出決策。
- 擴(kuò)展到不同的步驟和行動。
- 適應(yīng)不斷變化的環(huán)境和條件。
- 同時協(xié)調(diào)多個任務(wù)。
這兩個概念之間的界限可能很模糊。例如,您可以擁有一個包含 100 個步驟的流程并將所有步驟自動化,您仍然會依賴自動化。只有當(dāng)您在流程中引入一些協(xié)調(diào)和決策時,您才開始編排。從技術(shù)上講,自動化是編排的一個子集,因?yàn)槟鸁o法編排手動的非自動化任務(wù)。
自動化和編排并非旨在完全取代人員。隨著公司越來越依賴自動化任務(wù),人工參與變得不那么頻繁,但更有價(jià)值。IT 人員開始專注于解決問題和創(chuàng)新,而不是平凡的日常任務(wù)。
什么是自動化?
自動化使您能夠設(shè)置單個流程以在無需人工參與的情況下運(yùn)行。與工作人員手動執(zhí)行任務(wù)不同,計(jì)算機(jī)可以按照腳本快速可靠地執(zhí)行任務(wù),并根據(jù)需要多次執(zhí)行。在自動化中,系統(tǒng)管理員已經(jīng)做出了所有與任務(wù)相關(guān)的決定。計(jì)算機(jī)只執(zhí)行指令的“配方”并實(shí)現(xiàn)一個目標(biāo)。
自動化使耗時的流程更加高效和可靠。企業(yè)可以在本地和云端自動執(zhí)行各種重復(fù)性任務(wù),包括:
- 在流量或使用量激增時配置虛擬服務(wù)器。
- 從 CRM 傳輸客戶數(shù)據(jù)。
- 啟動Web 或應(yīng)用服務(wù)器。
- 在用戶提交在線表單后向客戶發(fā)送 PDF。
- 集成軟件 API。
- 如果入侵檢測系統(tǒng) (IDS)發(fā)現(xiàn)威脅,則在端點(diǎn)上部署安全措施。
- 將信息發(fā)送到第三方應(yīng)用程序(例如票務(wù)系統(tǒng))。
- 更改所有 JSON 或YAML 文件中的一行代碼。
- 根據(jù)營銷漏斗的不同階段發(fā)送自動電子郵件。
- 在批處理作業(yè)開始時將記錄添加到數(shù)據(jù)庫。
如果您的團(tuán)隊(duì)擁有必要的專業(yè)知識,您可以自動化任何您想要的 IT 流程。雖然設(shè)置軟件和部署自動化是一個常見的決定,但公司通常會在基礎(chǔ)設(shè)施和云自動化上投入最多的時間和精力。
什么是編排?
編排是管理一組自動化任務(wù)以創(chuàng)建整個工作流的過程。系統(tǒng)管理員設(shè)置系統(tǒng)以根據(jù)一組特定的規(guī)則和參數(shù)執(zhí)行一系列作業(yè)。編排可能涉及多個配置、協(xié)調(diào)和管理:
- 計(jì)算機(jī)系統(tǒng)。
- 技術(shù)。
- 應(yīng)用。
- 數(shù)據(jù)集。
- 中間件。
在編排中,設(shè)計(jì)過程的人決定了期望的結(jié)果。但是,計(jì)算機(jī)可以根據(jù)不斷變化的情況做出決定。這種能力使編排比任務(wù)自動化復(fù)雜得多。一個協(xié)調(diào)的系統(tǒng)可以:
- 根據(jù)不同的因素做出決定。
- 對不同的事件做出反應(yīng)。
- 跟蹤各種 IT 環(huán)境(應(yīng)用程序、移動設(shè)備、數(shù)據(jù)庫等)。
系統(tǒng)越復(fù)雜,管理其移動部件就越具有挑戰(zhàn)性。編排可幫助 IT 人員更輕松地處理復(fù)雜的任務(wù)和工作流。編排的一些典型用例包括:
- 在動態(tài)環(huán)境中管理容器的生命周期。
- 部署應(yīng)用程序并將程序連接到網(wǎng)絡(luò)以與用戶和其他應(yīng)用程序進(jìn)行通信。
- 在云中設(shè)置自動啟動活動,同時確保任務(wù)以當(dāng)前順序發(fā)生并具有適當(dāng)?shù)脑瓢踩?guī)則。
- 通過自動化測試和部署加快軟件開發(fā)生命周期。
- 配置虛擬機(jī)、安裝必要的軟件并設(shè)置特定的防火墻規(guī)則。
- 在復(fù)雜的分布式系統(tǒng)和服務(wù)(本地或云端)之間調(diào)度和集成任務(wù)。
- 部署服務(wù)器、分配存儲容量和設(shè)置網(wǎng)絡(luò)。
- 注銷所有用戶、鎖定數(shù)據(jù)庫、運(yùn)行特定任務(wù)、驗(yàn)證批處理是否成功以及解鎖數(shù)據(jù)庫。
自動化和編排的目標(biāo)是什么?
自動化和編排的目標(biāo)是加快 IT 流程并使任務(wù)更加可靠和可預(yù)測。這兩種做法在不同的層面上實(shí)現(xiàn)了這一目標(biāo):
- 自動化加快了簡單的單一目標(biāo)任務(wù)。
- 編排簡化了一組自動化任務(wù)并優(yōu)化了更復(fù)雜的流程。
所有公司的目標(biāo)都是更快地完成工作,這使得編排和自動化成為采用的首選。公司決定開始自動化任務(wù)的其他常見原因包括:
- 新技術(shù)(云部署、虛擬機(jī)、容器等)的規(guī)模太大,無法手動處理。
- 需求的增長速度快于 IT 和業(yè)務(wù)能力。
- 團(tuán)隊(duì)發(fā)現(xiàn)在采用新系統(tǒng)時很難跟上舊系統(tǒng)的步伐。
- 新方法(如DevOps 和敏捷)正在推動文化 IT 變革。
當(dāng)您將耗時的任務(wù)自動化并使復(fù)雜的流程變得更快、更可預(yù)測時,您將變得更具競爭力并縮短公司的上市時間。編排和自動化的其他值得注意的好處包括:
- 由于更好的資源消耗和更少的業(yè)務(wù)流程缺陷,降低了總體 IT 成本。
- 更多時間和可用資金用于創(chuàng)新和新項(xiàng)目。
- 錯誤的可能性較低。
- 由于減少了低價(jià)值的重復(fù)性任務(wù),提高了員工的幸福感和保留率。
- 由于標(biāo)準(zhǔn)化的工作流程和更少的人為干預(yù),產(chǎn)品更加一致和可靠。
- 更有效的災(zāi)難恢復(fù)和數(shù)據(jù)丟失預(yù)防。
- 更快地集成新工具和技術(shù)。
- 由于流程編碼,更簡單的治理和更可靠的合規(guī)性。
DevOps 中的自動化和編排
編排和自動化是 DevOps 文化中的基本概念。這兩種實(shí)踐使 DevOps 工程師能夠跨CI/CD管道加速和準(zhǔn)確執(zhí)行流程,這是任何DevOps 團(tuán)隊(duì)的兩個關(guān)鍵目標(biāo)。
團(tuán)隊(duì)通常通過自動化小型技術(shù)任務(wù)來開始消除手工工作。隨著 DevOps 人員繼續(xù)自動化流程,工程師開始編排整個 IT 工作流程以改進(jìn)部署并確保:
- 快速發(fā)布新功能。
- 部署時間和中斷的顯著減少。
- 有限的員工參與發(fā)布管理。
- 近乎即時且可靠的供應(yīng)(通過基礎(chǔ)設(shè)施即代碼 (IaC))。
DevOps 團(tuán)隊(duì)?wèi)?yīng)該依賴本地和云端的編排:
- 現(xiàn)場編排對于遷移存儲庫、管理中斷、安裝更新、管理版本和部署非存儲庫項(xiàng)至關(guān)重要。
- 云編排使 DevOps 團(tuán)隊(duì)能夠?qū)⒃兀ㄩ_發(fā)、測試、QA 等)轉(zhuǎn)移到云端,并享受顯著的成本節(jié)約和高可擴(kuò)展性。
編排 DevOps 流程通常通過編排工具進(jìn)行。頂級工具提供了一系列支持 DevOps 工作的功能,例如:
- 透明、深入的分析。
- 更高的基礎(chǔ)設(shè)施穩(wěn)定性。
- 顯示依賴關(guān)系的工作流可視化。
- 簡化持續(xù)交付、部署和集成的功能。
- 有助于確保任務(wù)在生產(chǎn)前成功執(zhí)行的過程模擬。
- 通過簽出/簽入功能解決沖突。
- 完整的審計(jì)跟蹤和修訂歷史。
如何開始自動化和編排
將自動化引入您的 IT 工作流程和運(yùn)營需要一種戰(zhàn)術(shù)方法。以下是一些可以幫助您開始自動化之旅的提示:
- 從一開始就有一個計(jì)劃:在選擇自動化流程時要有策略。與其選擇適合自動化的隨機(jī)任務(wù),不如從團(tuán)隊(duì)經(jīng)常執(zhí)行的耗時任務(wù)開始。
- 優(yōu)先考慮容易出錯的任務(wù):容易出現(xiàn)人為錯誤的流程是自動化的主要候選者。尋找機(jī)器可以比您的一名員工更快、更準(zhǔn)確地完成的低價(jià)值任務(wù)。
- 咨詢員工:自動化使您的員工生活更輕松。考慮您的團(tuán)隊(duì)必須說的話,并開始將他們認(rèn)為過于重復(fù)或乏味的任務(wù)自動化。
- 從影響重大的任務(wù)開始:自動化流程需要時間和金錢。通過考慮自動化的影響和創(chuàng)建自動化流程所需的時間來確定任務(wù)的優(yōu)先級。
- 不要忽視網(wǎng)絡(luò)安全:根據(jù)您自動化的內(nèi)容以及連接移動部件的方式,您可能會意外地創(chuàng)建一個可利用的弱點(diǎn)。在自動化之前、期間和之后考慮每個任務(wù)的安全性。
公司通常專注于在數(shù)字化轉(zhuǎn)型之旅開始時將任務(wù)自動化。由于編排更加復(fù)雜,大多數(shù)團(tuán)隊(duì)通常從一開始就選擇使用工具。一些最流行的編排工具是:
- Ansible(持續(xù)交付平臺)。
- Control-M(應(yīng)用程序工作流程編排)。
- Jenkins(持續(xù)集成工具)。
- Kubernetes(容器編排)。
- Portainer(容器化應(yīng)用的服務(wù)交付平臺)。
- HashiCorp 的 Nomad(開源集群調(diào)度引擎)。
- Rancher(Kubernetes 的開源部署工具)。
- CircleCI(用于構(gòu)建和部署軟件的 CI/CD 平臺)。
現(xiàn)代 IT 的基石
您的團(tuán)隊(duì)管理的工作負(fù)載和操作越多,您就會發(fā)現(xiàn)自動化和編排的價(jià)值就越大。無論您是在本地還是在云中(或兩者)托管應(yīng)用程序和數(shù)據(jù),您都應(yīng)該開始消除手動任務(wù),以使您的業(yè)務(wù)流程更加可靠、可預(yù)測和更快。