天天看點

優秀開源雲原生工具推薦 -- 系列2

雲原生技術在效率上的巨大優勢,使其日益成為IT發展的主流趨勢。根據Gartner的預測,到2025年,雲原生平台将成為95%以上的新數字化計劃的基礎。

圍繞雲原生中的各個方面,都有這非常出色的開源工具,涵蓋容器排程、可觀察性、持久性存儲、容器運作時和其他領域。我們需要的就是發現優秀的工具,并在工作中合理的運用,讓雲原生之旅更加便捷高效。

本文繼續為大家推薦雲原生各方面的優秀開源工具。

Service Proxies

CNCF對service proxy給出的說明是:攔截進出給定服務的流量,對其應用一些邏輯,然後将該流量轉發到另一個服務。 它本質上充當“中間人”,收集有關網絡流量的資訊和/或對其應用規則。

在系列前面文章中推薦過service mesh的開源工具,service meshd的實作實際上也依賴于service proxy工具,比如Istio、kuma等項目就是基于Envoy實作的。

優秀開源雲原生工具推薦 -- 系列2

要推薦的是Envoy。

Envoy 的項目介紹中描述自己為“為雲原生應用程式設計的開源邊緣和服務代理”。微服務從業者很快意識到的那樣,遷移到分布式架構時出現的大多數操作問題最終都基于兩個領域:網絡和可觀察性。 與單個單體應用程式相比,聯網和調試一組互相交織的分布式服務隻是一個數量級的問題。Envoy 最初是在 Lyft 建構的,是為單一服務和應用程式設計的高性能 C++ 分布式代理,也是為大型微服務“服務網格”架構設計的通信總線和“通用資料平面”。 基于對 NGINX、HAProxy、硬體負載均衡器和雲負載均衡器等解決方案的學習,Envoy 與每個應用程式一起運作,并通過以與平台無關的方式提供通用功能來抽象網絡。 當基礎設施中的所有服務流量都通過 Envoy 網格流動時,通過一緻的可觀察性可視化問題區域、調整整體性能并在一個地方添加底層功能變得很容易。

網站:​​https://www.envoyproxy.io/​​

除了Envoy以外,還可以關注的開源ce proxy工具包括BFE ,OpenELB等。

相關項目位址如下:

​​https://github.com/bfenetworks/bfe/​​

​​https://github.com/openelb/openelb​​

Persistent Storage

在容器化方面,實施資料的持久存儲有點違反直覺。 臨時容器是一個短暫的計算環境,代碼不會永遠存儲。 但是您仍然需要将資料存儲在某處。是以雖然持久化存儲的問題一直在雲原生範疇内被讨論這,圍繞着這一領域也有着很多優秀的開源工具。

優秀開源雲原生工具推薦 -- 系列2

首先推薦的是Rook.

Rook 對自身的定位是Storage Operators for Kubrnetes。Rook 将分布式存儲系統轉變為自我管理、自我擴充、自我修複的存儲服務。 它可以自動執行存儲管理者的任務:部署、引導、配置、供應、擴充、更新、遷移、災難恢複、監控和資源管理。

Rook 使用 Kubernetes 平台的強大功能通過 Kubernetes Operator for Ceph 提供其服務。

網站:​​https://rook.io/​​

項目:​​https://github.com/rook/rook​​

接下來是Longhorn

Longhorn的自我定位是Cloud-native distributed storage built on and for Kubernetes。Longhorn 是 Kubernetes 分布式塊存儲的開源工具。 使用 Longhorn,您可以為 Kubernetes 叢集複制存儲,并利用持久卷的内置增量備份。 您可以使這些快照重複出現并将它們備份到輔助對象存儲。 根據文檔,這是通過“将大型塊存儲控制器劃分為多個較小的存儲控制器”來實作的,進而有助于緩解與各種基于容器的微服務的存儲相關的問題。 Longhorn 還與非雲托管的 K8s 叢集相容,并具有可免費使用的時尚圖形管理 UI。 與 Rook 類似,它是 Kubernetes 原生的。 Longhorn 最初由 Rancher 開發,現在是 CNCF 内的一個孵化項目。

網站:​​https://longhorn.io/​​

項目:​​https://github.com/longhorn/longhorn​​

其他推薦的雲原生 持久化存儲項目包括: CubeFS, K8up, OpenEBS, ORAS, Piraeus Datastore 等

Cloud-Native Database Tools

除非您的應用程式完全是無狀态的,否則它将需要存儲和檢索持久資料。 這就是資料庫的用武之地——它們使用一種簡單的查詢語言,允許授權使用者檢索和編輯資料。 現在已經在支援有狀态的 Kubernetes 部署方面取得進展,許多組織正在尋求将容器化和 Kubernetes 的相同可擴充性優勢帶入資料庫管理。

優秀開源雲原生工具推薦 -- 系列2

首先要說到Vitess。

Vitess為解決MySQL橫向擴充而實作的叢集管理系統。

Vitess 誕生于 2010 年,旨在解決在 YouTube 上大規模運作 MySQL 時遇到的問題。 Vitess 被描述為 MySQL 的分片中間件。 使用 Vitess,您可以對 MySQL 資料庫進行分片,同時從一開始就好像您正在與一個統一的資料庫進行通信,所有這些都無需向您的應用程式添加額外的邏輯。

由于 MySQL 本身不支援分片,Vitess 是一個有用的中間件,可以保留 MySQL,同時支援更多的分布式資料庫架構。 Vitess 還包括其他智能功能,例如自動處理故障轉移和備份以及重寫可能導緻性能不佳的查詢。 YouTube、Weave、Square、Slack 和 Hubspot 隻是衆多使用 Vitess 的公司中的一部分。

網站:​​https://vitess.io​​

項目:​​https://github.com/vitessio/vitess​​

優秀開源雲原生工具推薦 -- 系列2

另一個推薦的是TiKV

TiKV 是一個擅長處理大量資料的鍵值資料庫。 它本質上是一個統一的分布式存儲層,旨在擴充到 PB 級部署或數萬億行。 TiKV 提供了一個符合 ACID 的事務鍵值 API,并擁有極短的響應時間。

TiKV 的結構包括存儲鍵值對的 TiKV 節點和管理 TiKV 叢集的 Placement Driver (PD) 節點。 TiKV 的靈感來自 Google 的 Spanner,這是一個全球分布的資料庫。 TiDB、Zetta、Tidis、Titan 和 JuceFS 等項目都使用 TiKV。 要開始使用 TikV,您可以按照此處的分步說明進行操作。

需要特别提到一點,TiKV 最初由 PingCAP 建立,是我們中國的開源項目,現在是 CNCF 旗下的一個畢業項目。

網站:​​https://tikv.org/​​

項目:​​https://github.com/tikv/tikv​​

安全和合規性

在安全和合規性方面,開源項目推薦HummerRisk。HummerRisk 是一款開源的雲原生安全平台,以非侵入的方式解決雲原生的安全和治理問題。核心能力包括混合雲的安全治理和K8S容器雲安全檢測。

優秀開源雲原生工具推薦 -- 系列2

首先可以快速實作跨雲的持續合規性檢測,因為是國内開源,對國内的雲支援度非常好。另外就是可以對雲原生資源進行安全檢測,比如鏡像、容器、K8s以及源代碼等。同時項目保持了高度的靈活性,針對規則和檢測都可以快速的實作自定義,以及産品擴充。

網站:​​https://www.hummercloud.com/​​

項目位址:​​https://github.com/HummerRisk/HummerRisk​​

雲原生展望

繼續閱讀