11:45
日益激烈的市場競爭和不斷增長的客戶期望促進企業業務的發展。與此同時,采用DevOps對一些企業來說可能是一個挑戰,因為它包括調整實踐和更新基礎設施。盡管工程資源可能很少,但是無服務器提供了解決DevOps挑戰的解決方案。從改進的物聯網設備到經濟高效的機器學習應用程序,無服務器生態系統正在促進企業采用DevOps。
為什么無服務器對DevOps有利?
DevOps加快了企業開發速度,同時減少停機時間,從而為企業提供了競爭優勢,在特性和功能方面加快了產品成熟度,并改善了客戶體驗。盡管DevOps具有吸引人的優點,但采用DevOps成本高昂并且耗時。無服務器能夠以更低的成本和更高的回報克服障礙,并支持DevOps解決方案的實施。
無服務器技術提供了一種按需付費模式,允許企業為使用的資源付費。例如使用AWS Lambda,企業可以根據調用的次數和持續時間支付費用,從而有可能降低成本。功能即服務(FaaS)的價格可能會比容器更昂貴,具體取決于流量體驗。流量越高,一致性越強,無服務器工具的成本就越高,并且這些成本可能會比容器成本上升得更高。
由于無服務器技術具有自動擴展性和完全可管理性,它允許團隊專注于DevOps基礎設施實際構建的業務邏輯,而不必花費大量時間來維護DevOps架構。
可用性和性能監控
諸如AWS Lambda或Azure Functions之類的功能即服務(FaaS)相對容易啟動,可以自動擴展且具有成本效益。這些可以對企業的服務進行API調用,而API調用可以由用戶通過前端接口進行。這些定期檢查可確保其服務連續可用,并且監視工具可以捕獲生產環境中發生的任何故障,以通知任何性能下降。用戶可以通過事件管理軟件即服務(SaaS)工具整合來自監視工具的警報。
功能即服務(FaaS)可用于自動可用性和性能檢查。然而,無服務器的事件總線將警報作為功能即服務(FaaS)功能的調用在整個DevOps基礎設施中進行通信,從而降低了功能即服務(FaaS)功能的按需付費模型和自動擴展性的總體成本。
ChatOps改進DevOps流程
在GitHub開發的ChatOps是一個對話驅動的開發程序,允許用戶在聊天工具中輸入命令,通過自定義腳本和插件啟動持續集成(CI)/持續部署(CD)過程。腳本的操作需要后端支持,這是無服務器技術可以提供支持的地方。
功能即服務(FaaS)功能使DevOps工程師能夠簡單地編寫腳本以執行預期的操作,并將其上傳到功能中,同時確保聊天工具可以調用它。這消除了繁瑣的容器編排和網絡設置。此外,只有在通過聊天機器人調用功能即服務(FaaS)功能時才會產生成本,而不是按小時計算。
無服務器增強了持續集成(CI)/持續部署(CD)流程以實現連續部署
與ChatOps相似,無服務器可用于增強持續集成(CI)/持續部署(CD)流程,但與ChatOps不同,無服務器可通過合并拉出請求以在生產環境中實現自動化整個過程。這稱之為GitOps。
由Weaveworks構思的GitOps是Kubernetes集群管理和應用交付的一種方法。通過利用Kubernetes的聚合特性,Git推送觸發了連續交付。GitOps允許Kubernetes集群管理和應用程序交付,使用Git作為聲明性基礎設施和應用程序的唯一真實來源。由于Git是交付管道的中心,開發人員可以加速拉取請求,并簡化Kubernetes的應用程序部署和操作任務。
GitOps為基礎設施和應用程序代碼提供了“真相來源”,以進一步提高開發團隊的速度。使這成為可能的工作流從持續集成(CI)工具開始,將Docker映像推送到托管工具。然后云計算功能將配置圖和Helm圖從主存儲桶復制到主要的Git repo。最后,GitOps操作人員通過Lambda功能提取Helm圖表。
通過復制Helm圖,可以將功能即服務(FaaS)功能用于主要Git repo。功能即服務(FaaS)功能易于設置且具有成本效益,這意味著DevOps工程師可以專注于GitOps基礎設施的其他部分,并在這一過程中降低成本。
DevOps之路充滿挑戰,但無服務器可以提供幫助
無服務器可通過按需付費、自動擴展、完全托管的服務來減輕DevOps采用的復雜性,從而使DevOps基礎設施更高效、更具成本效益。從開發和測試到持續集成(CI)/持續部署(CD)和事件管理,無服務器技術可在整個DevOps堆棧中使用,以最佳成本運行,并且在開發速度和代碼可靠性方面非常有效。