思科收購Cilium對開發者的意義

一月 26, 2024 by
Filed under: killtest 

原创 岱军 云云众生s
640
思科收購Isovalent,取得開源專案Cilium。 Cilium利用eBPF(擴展伯克利包過濾器)技術,實現核心級網路與安全。

譯自Cisco Gets Cilium: What It Means for Developers,作者 Torsten Volk。

2023年底,思科宣布意圖收購Isovalent,這是Cilium開源專案背後的公司。 Cilium利用eBPF(擴充伯克利包過濾器)進行核心級網路與安全,是2023年雲端原生空間中值得注意的重要進展之一。

Cilium利用eBPF提供進階網路和安全控制。 eBPF是一項Linux核心技術,可讓動態插入強大的安全、可見性和網路控制邏輯。 這項技術在Cilium中被用來提供高效能網路、多叢集和多雲能力以及進階負載平衡。 Isovalent由一批享譽盛名的投資者支持,如Google、安德森·霍洛威茨(Andreessen Horowitz)、微軟、Grafana以及思科本身。 但是思科為什麼真的要進行這項收購,它對應用程式開發者和DevOps專業人員意味著什麼呢?

讓我們從頭開始
Dan Wendlandt,CEO,和Thomas Graf(CTO)都參與了Open vSwitch和Nicira的網路虛擬化平台(NVP)的誕生,後來成為VMware最重要的產品之一:軟體定義網路(SDN)的NSX平台 。 SDN的全部意義在於將網路交換器轉換為軟體。 這使得應用程式開發者能夠快速迭代和部署網路配置,例如微分段,與應用開發週期同步。 DevOps人員可以自動化和簡化網路供應和管理流程,使其與CI/CD管線保持一致。 安全專業人員可以以程式方式強制細粒度的安全策略和隔離網路流量,以增強整體安全態勢。 這一切聽起來都很棒,那我們為什麼需要Cilium和eBPF呢?

SDN和帶有eBPF的Cilium
640 (2)
網路中SDN和eBPF的詳細集成

SDN透過可程式介面在第1、2和3層提供對網路配置和管理的控制。 另一方面,利用eBPF的Cilium將此可程式控制擴展到傳輸層(第4層)和應用層(第7層)。 這允許透過TCP、UDP、ATP和MTCP等協定強制網路策略,這些協定為應用程式提供端到端的通訊服務。

eBPF,一個起源於Linux核心的革命性技術,允許沙箱化的程式在作業系統內運行,為雲端原生環境中的網路和安全性提供更細粒度和更靈活的控制。 與傳統的用戶空間網路相比,這種核心級網路消耗更少的資源並且運行更快,主要是由於Linux核心和用戶空間之間的通訊減少,以及直接存取系統資源。 作為Kubernetes叢集上每個節點的守護程式集部署的Cilium,強制執行使用者定義的網路策略,並將這些定義轉換為eBPF程式。 這種方法使Cilium能夠提供一個簡單的平面Layer 3網絡,並能夠在第3、4和7層(應用程式層級)為HTTP、gRPC或Kafka等協定強制執行網路策略。

總之,雖然SDN在較低層提供對網路配置和管理的可程式控制,但帶有eBPF的Cilium將此控制擴展到傳輸層和應用層。 這為網路和安全性提供了更細微和更靈活的控制,特別適合雲端原生環境。

對應用程式開發者的優勢
SDN與eBPF的集成,特別是透過像Cilium這樣的工具,為應用程式開發者帶來許多優勢,尤其是在雲端原生環境中。 以下是這些優勢的詳細分析:

增強的可程式性和適應性: eBPF的可程式性質使開發者能夠快速適應雲端原生格局的變化。 這種靈活性在一個以不斷演進和需要快速迭代為特徵的領域至關重要。

簡化的開發過程: Cilium抽象化了eBPF的複雜性,使開發者能夠利用其功能而不需要深入探究編寫eBPF程式碼的複雜性。 這種抽象降低了學習曲線和開發時間,使其更容易被廣泛的開發者所接受。

改進的應用效率: 透過在核心層級實現更智慧的網路和安全控制,應用程式可以更有效地利用資源。 這種效率在雲端環境中特別重要,因為資源通常是動態分配和最佳化成本與效能的。

增強的安全性: eBPF和Cilium有助於在核心層級直接實施進階安全措施。 這種方法允許更細粒度和更有效的安全控制,這對安全性至關重要的雲端原生應用程式來說是必不可少的。

更好的可觀察性和故障排除: Cilium和eBPF的組合增強了對Kubernetes工作負載的可見性。 這種增加的可觀察性有助於效能監控、故障排除,並確保開發人員更清楚地了解其應用程式在雲端環境中的行為。

基於可觀察性的策略執行: 根據即時可觀察性資料執行策略的能力使網路和安全態勢更具動態性和回應性。 這一方面對於確保合規性和維持強大的應用程式效能特別有益。

解決雲端特有的挑戰: 傳統的核心模組或增強功能通常難以處理雲端環境中管理網路介面相關的碎片化和開銷。 SDN、Cilium和eBPF的組合有效地解決了這些問題,提供了減少延遲和增強可擴展性。

核心級操作的可擴展性: 透過SDN和eBPF為作業系統核心帶來可編程性和可擴展性,可以實現更創新和高效的核心級網路和安全任務方法。

簡而言之,Cilium和eBPF與SDN的協同效應為應用開發者,特別是在雲端原生環境中,提供了一個令人信服的解決方案。 它在簡化內核級網路和安全任務中傳統相關的複雜性的同時,提供了增強的安全性、效率和可編程性的平衡。 這種組合在動態和資源優化的雲端環境中特別有益。

為什麼核心級網路對雲端原生應用開發至關重要
如果一個裝有eBPF策略的Linux機器嘗試與另一個沒有相同策略的Linux機器通信,則該通訊不會自動被拒絕。 相反,這些策略將根據其自己配置的規則來決定啟動機器如何處理出站和入站網路流量,而不考慮另一台機器上的策略。 這可能包括根據網路流量中的可疑模式進行過濾、重定向或觀察。 可以將Ansible、Puppet或Terraform等工具設定為在預配流程的一部分自動部署和設定eBPF工具和策略到新機器上。 這種方法確保每個新機器在設定時都採用一致的預定義策略和配置,在整個基礎架構中維護統一性和合規性。

一致的開發者API
Cilium開源專案為應用程式開發者提供了一組consistent API,以便細粒度地控製網路路由、負載平衡、加密、安全性和可觀察性。 由於eBPF程式碼在系統層級運行,所有這些功能都可以在不對應用程式碼或容器配置進行任何更改的情況下添加。 由於eBPF在作業系統層級運行,它可以存取在特定節點上運行的任何pod,使開發者可以使用consistent的API來連接該節點上運行的所有Kubernetes Pod的網路。 基於統一的策略集,開發者可以確保Kubernetes節點所需的一致配置,以確保特定應用程式(Pod)可以安全、可靠地以期望的效能運作。

將Cilium/eBPF與思科的套件(包括Splunk、AppDynamics、思科ACI、Intersight和Tetration)集成,無疑不僅增強了這些平台,而且為開發者帶來顯著優勢:

Splunk和AppDynamics整合: 與Cilium/eBPF的整合極大地豐富了Splunk的網路洞察力和安全分析功能。 對於開發者來說,這意味著可以存取更詳細和準確的核心級數據,使他們能夠做出更明智的決策並開發更健壯的應用程式。 對於AppDynamics,增強的應用程式效能監控功能意味著開發者可以深入了解應用程式行為、網路效率和安全性,從而改善應用程式效能和可靠性。

思科ACI整合: 透過利用Cilium/eBPF,思科ACI可以提供高效能網路和先進的安全功能。 對開發者來說,這意味著其應用程式的網路效率和安全性得到改善。 核心級資料擷取和分析功能為開發者提供了對其應用程式網路互動的增強可見性,允許進行更有效的故障排除和最佳化。

Intersight整合: Cilium/eBPF與Intersight的整合拓寬了它在Kubernetes和傳統基礎架構上的管理能力。 這對於在混合雲環境中工作的開發者特別有利,因為它簡化了監控和管理任務。 eBPF的可編程性使開發者能夠創建更有效率和通用的應用程序,以快速適應不斷發展的雲端原生格局。

Tetration整合: 有了Cilium/eBPF,Tetration可以針對安全性提供細粒度的可觀測性和策略執行。 開發者可以從其應用程式改進的安全性中受益,因為他們可以更輕鬆地實現高級網路和安全控制。 這種集成為開發者節省了時間並降低了複雜性,他們可以專注於應用程式邏輯而不是安全複雜性。

總而言之,在這些思科平台上整合Cilium/eBPF增強了每個工具的功能,同時為開發者提供了實質效益。 這些收益包括改進的網路洞察力、增強的應用程式效能監控、簡化的混合雲環境管理以及加強的應用程式安全性。 這種整合很好地滿足了現代IT格局中開發者的需求,在該格局中,效率、安全性和適應性至關重要。

最後的話
2023年成為eBPF真正起飛的一年並非巧合,因為這也是Kubernetes大規模採用之年的開始。 這項技術在網路、安全性和可觀察性方面具有巨大的潛力,而不僅僅是網路和安全性。 企業採用分散式雲端原生應用架構的越多,自動確保策略驅動和因此一致的網路、安全性以及細粒度的即時監控就會變得越重要,而幾乎不會帶來效能開銷。 綜上所述,雖然我不知道價格標籤,但這次收購是正確的,因為Isovalent基於eBPF的功能可能會成為思科未來在雲端原生應用領域區分自己的重要因素。

Comments

Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!





*