天天看點

虹科幹貨 | DevOps 團隊為什麼獨獨青睐 Redis Enterprise ?

快速部署是保障成功的 DevOps 的關鍵要素。Redis Enterprise 提供了一種快速的資料庫,可以幫助 DevOps 團隊更高效地建構和運作應用程式。Redis 易于學習的資料結構和模型也非常靈活,足以涵蓋各種需求用例,且 Redis Enterprise 的持久記憶體存儲和無共享叢集架構等功能也有助于減輕營運的負擔。這就是為什麼 DevOps 團隊像開發人員一樣都青睐 Redis 的原因。

01 DevOps 團隊面臨的挑戰

1.提高應用程式處理速度,赢得商業競争

許多企業中,DevOps 團隊(DevOps 是一組過程、方法與系統的統稱,用于促進開發、技術營運和品質保障部門之間的溝通、協作與整合)正在引領企業向數字轉型的浪潮。這通常會從應用程式和基礎設施的現代化建設開始,他們旨在釋放數字經濟的潛力,同時也要應對隻需點選幾下就能得到的競争。這種競争中,即便應用程式性能滞後隻有幾秒鐘,也會對客戶體驗産生重大影響,進而影響企業的成功。例如,如果 Gap 應用程式不能即時加載,或不能在幾秒鐘内更新庫存,許多購物者會毫不猶豫地轉向其他地方購買卡其褲。

總之,應用程式的資料處理速度必須足夠快,以滿足消費者對實時性能的需求。

2.NoSQL資料庫應運而生

通常而言,傳統的關系型資料庫,其速度太慢,無法滿足當今網絡規模的需求。關系型資料庫最初是為單個節點上的縱向擴充而設計的。相比之下,現代分布式NoSQL資料庫從誕生之初就被設計為支援多節點架構和橫向擴充的模式,這一點使企業在資料庫方面的調整可以更為靈活。

那麼DevOps 對資料庫有哪些要求呢?

02 DevOps 團隊對資料庫的關鍵要求

DevOps 是一種企業的技術願景,它整合了傳統上各自為政的開發、營運和品質保證部門,DevOps 強調各部門之間的溝通與合作,DevOps 團隊會專注于自動化、內建開發、品質測試以及應用程式和服務的開發模式,以求能縮短産品上市時間。

DevOps 團隊緻力于像部署和管理應用程式代碼一樣去部署和管理資料庫。團隊會将資料庫的變更也被視為另一種形式的代碼部署。是以,資料庫的變更也需要采用與應用程式代碼相同的無縫、穩健且可靠的方式進行管理、測試、自動化與改進。資料庫在當今已經成為持續內建/持續部署(CI/CD)工作流的一部分。如果 DevOps 的工作流中不包括資料庫,它就會成為減緩新功能傳遞的瓶頸。實際上,DevOps 團隊不僅要在開發工作流中內建資料庫,還要在整個釋出工作流中內建資料庫。

具有前瞻性思維的 DevOps 團隊在設計應用程式(包括資料層)時,力求滿足以下幾個關鍵要求:

l 操作靈活性(可以滿足雲部署、内部部署或是混合部署)

l 操作簡單

l 真正的高可用性和彈性

l 無限的可擴充性和高性能

l 與平台無關

l 全球部署,且具備像本地一樣低的寫入和讀取延遲

l 更低的總擁有成本(TCO)

03 Redis Enterprise契合DevOps 團隊的要求

Redis 因其易于實施和超高性能等優點,已成為一種流行的資料庫選擇。由于Redis 的低延遲(小于1毫秒)令人印象深刻,大多數實時資料最終都會傳遞給 Redis。作為性能最高的 NoSQL 資料庫,Redis 的吞吐量是其他 NoSQL 資料庫的8倍,延遲時間則低80%。Redis 在單個性能适中的雲執行個體上運作時,可以亞毫秒級的延遲達到每秒150萬次操作的基準。

Redis 非常适合 DevOps 的模式,它易于部署,對 Redis 核心和輔助技術均進行了嚴格的單元測試和功能測試,而且易于通過 Docker、Ansible 和 Puppet 等工具實作自動化。Redis Enterprise 則是一款企業級分布式記憶體 NoSQL 資料庫伺服器,與開源Redis完全相容。Redis Enterprise 擴充了開源 Redis,提供穩定的高性能、零停機時間、線性擴充和高可用性等特性。它的獨特優勢,可以幫助 DevOps 團隊以更少的管理工作量和更低的開銷來實作團隊的目标。

虹科幹貨 | DevOps 團隊為什麼獨獨青睐 Redis Enterprise ?

04 DevOps 團隊為何選擇 Redis Enterprise?

那麼,DevOps 團隊究竟需要 Redis Enterprise 中的哪些功能呢?以下是五項最重要的能力:

1. 五個九(99.999%)的正常運作時間

高可用性是大多數 DevOps 團隊的聖杯,他們往往花費大量的時間和金錢來保證應用程式的運作。但是,如果不能及時從資料庫故障中恢複,可能會導緻資料丢失并損失數百萬次操作。

Redis Enterprise 提供不間斷的高可用性,對 DevOps 團隊完全透明,且具備無磁盤複制、即時故障檢測和跨機架、跨區域和跨地域的個位數秒級故障轉移能力。

即使在叢集變更操作(如向叢集添加新節點、更新軟體、重新平衡和重新分片資料)期間,它也能提供高吞吐量和低延遲的保障。

在全球分布式資料庫的 Active-Active 部署中,這種獨特的高可用性技術組合可確定四個九 (99.99%) 甚至五個九 (99.999%) 的正常運作時間。Active-Active 地理分布允許在多個地理位置同時對同一資料集進行讀寫操作。Redis Enterprise 采用經過學術驗證的無沖突複制資料類型(CRDT)技術,可自動解決寫入沖突問題,而無需變更應用程式使用 Redis 的方式。Redis Enterprise還為地理分布式應用程式提供了防災架構,同時還提供了如同部署在本地一樣的低延遲。

虹科幹貨 | DevOps 團隊為什麼獨獨青睐 Redis Enterprise ?

2.靈活的部署選項

在目前的技術環境下,有相當之多可供選擇的平台。要花時間研究每一個選項幾乎是不可能的,是以企業通常會堅持使用他們熟悉的平台,即使這些平台并不一定是完成任務的最佳工具。要成功實施 DevOps,就必須根據企業環境的獨特背景和流程的性質來選擇最佳平台。這正是 Redis Enterprise 對 DevOps 采取平台無關立場的原因所在。

(1)Redis Enterprise 軟體可在亞馬遜的AWS市場、谷歌雲市場和微軟的Azure市場上購買,隻需點選一下即可輕松部署。它可以部署在任何支援 Linux/RHEL/CentOS 作業系統的虛拟機/裸金屬伺服器上。Redis Enterprise軟體與專為Redis Enterprise設計的的Redis Enterprise Operator相結合,旨在提供企業級功能性。Redis Enterprise Kubernetes Operator可在多個Kubernetes平台上部署,包括 RedHat OpenShift、Google Kubernetes Engine(GKE)、VMware Tanzu Kubernetes Grid(前身為Enterprise PKS)以及upstream Kubernetes。

(2)Redis Enterprise 提供了一個與VMware Tanzu應用服務緊密內建的解決方案。應用開發人員可以本機使用面向 VMware Tanzu 的 Redis Enterprise 服務代理來啟動和管理其資料庫/緩存系統的生命周期,而操作人員則可以使用各種自動化工具來管理其 Redis 部署,這些工具具有增強的監控功能、故障恢複、計劃間無縫遷移和無縫軟體更新功能。

(3)Redis Enterprise 還為 CI/CD 流程帶來更多功能和靈活性的絕佳方式。Redis 可以幫助分布式開發團隊安全地建構并釋出新功能,并在需要時,可以以最小的影響将其復原。

3.幾乎無限的線性可擴充性和高性能

許多 DevOps 失敗的原因是底層基礎架構無法擴充以滿足需求,導緻應用程式崩潰。這的确是個問題,因為擴充資料庫解決方案需要大量額外的基礎設施投資,因為它們會在擴充環境中累積為非線性的開銷。

Redis Enterprise專為DevOps環境而設計,可幫助企業快速向數百萬使用者部署動态應用程式。

4.全球分布部署(Active-Active 地理分布)

DevOps 團隊部署的應用程式越來越多地使用微服務建構。這些應用程式利用大量不同的元件,采用不同的基礎設施方法,托管在各種不同的地點,交由各地的使用者使用,并分布在許多不同的平台上。

為了支援分布式應用程式所需的響應速度和可擴充性,DevOps 團隊正越來越多地尋求創新的資料庫技術,如地理上對資料和處理進行分布式部署,以提供高度互動、可擴充和低延遲的地理分布式應用程式。許多人選擇 Redis Enterprise 作為現代資料庫,是因為它可以在全球範圍内部署,卻能提供如同本地部署一樣低的寫入和讀取的延遲,同時,Redis Enterprise還簡化了一緻性沖突的解決,實作了資料集的最終一緻性。

無論您的應用程式是部署在環境中包含了内部、混合雲或多個雲之上運作的應用程式,還是在所有三種雲的混合雲上運作的應用程式,Redis Enterprise 的 Active-Active 地理分布技術都能達成促進高可用性和低延遲的目标。憑借基于 CRDTs 的内置主動式資料庫技術,Redis Enterprise 可幫助 DevOps 團隊在分布式資料庫上實作高性能。這大大減少了建構現代應用程式的開發工作量,即使這些應用程式需要跨機架、雲或區域,Redis Enterprise 也能提供像本地一樣低的延遲。

5.多租戶架構

大多數開發人員選擇使用 Redis Enterprise,因為它提供軟體級的多租戶支援。Redis Enterprise 軟體的單個部署(通常作為節點叢集部署)即可為數百個租戶提供服務。每個租戶都有自己的 Redis 資料庫端點,與其他 Redis 資料庫完全隔離。

虹科幹貨 | DevOps 團隊為什麼獨獨青睐 Redis Enterprise ?

如上圖所示,一個節點上有多個資料庫,如用于存儲 JSON 資料的 DB1、用于搜尋和過濾的 DB2、用于存儲和分析時間序列的 DB3 等。

虹科是Redis原廠的中國區戰略合作夥伴。我們持續關注各行業當下急切需求,專注于為企業解答疑問,制定專屬服務,提供一站式資料庫和商業智能解決方案。了解更多【企業級資料庫解決方案】及【企業緩存指南】,歡迎前往虹科雲科技官網!

繼續閱讀