你需要託管資料庫嗎?

danny_2018發表於2022-11-14

我們已經習慣於將應用程式和資料中心基礎設施移動到雲中。一些人甚至發現,體驗真的就像雲提供商承諾的那樣無縫、無痛。

但當涉及到許多組織的核心資料庫時,尤其是需要亞毫秒響應和堅如磐石的有韌性的線上交易處理系統,風險要高得多。弄不好會帶來危機,威脅整個企業的生存。

因此,如果你正在執行實時的NoSQL安裝,意識到速度或可擴充套件性正在成為一個越來越大的挑戰,並且開始渴望雲所能提供的幾乎無限範圍的資料庫服務,從哪裡開始?需要考慮什麼才能成功實現飛躍?

管理雲資料庫的成本

也許首先需要後退一步,考慮一下當前的設定是否可以移動。對於某些應用程式,內部部署是唯一的選擇。

ScyllaDB(該公司生產一個開源分散式NoSQL平臺)的產品副總裁Tzach Livyatan表示,這可能適用於受行業法規約束的金融公司。

同樣,對於在國防或網路安全等特別敏感或高安全領域的組織,遷移到雲可能根本不被允許。

即使確實有將資料庫移動到雲的自由,別忘了,仍有人需要管理它。

雲中的資料庫管理包括什麼?答案是內部管理資料庫所涉及的幾乎所有內容。

“通常不需要在雲上安裝。”Livyatan表示,“但需要定期升級資料庫,需要操作作業系統和第三方軟體包。每週或每月都有Linux或資料庫的補丁,或者其他需要處理的東西。”

當然,需要控制擴充套件,以及保護資料所需的安全組、身份管理和防火牆。

很可能有一個能夠執行所有這些功能的熟練人員團隊,但你需要考慮日常管理資料庫是否真的是這些技能的最佳使用——無論是在內部還是在雲中。

Livyatan說:“通常你會發現,執行資料庫最昂貴的部分是執行資料庫的人,因為這是熟練的工程師。在很多情況下,團隊本身的成本比一年的資料庫運維成本還要高。”

這會影響從該團隊中產生的價值。廣告技術供應商GumGum的工程總監Keith Sader介紹了他的公司如何決定轉向ScyllaDB的託管服務。GumGum從自安裝、自管理的AWS上的Apache Cassandra遷移而來,因為,“管理Cassandra資料庫並不是賺錢的地方。”

即使管理在AWS上安裝的Cassandra,Gum Gum也面臨著“廚房裡廚師太多的問題”。

降低供應商鎖定風險

由於所有這些原因,遷移到託管雲資料庫服務值得好好考慮。

在決定選哪個服務時,需要權衡哪些因素?Livyatan表示,客戶通常希望在其應用程式已經部署的地方執行資料,以確保儘可能低的延遲,並避免雲之間潛在的資料傳輸成本。

這可能會使多雲對一些客戶的吸引力降低。與單個供應商合作也使技術和管理任務更簡單。畢竟,每個雲都有自己的工具集和細微差別,而處理不同的計費系統和費率只會讓情況變得不必要的複雜。

無論你使用的是一個雲提供商還是多個雲,都應該關注供應商鎖定的可能性。從一個簡單的層面上講,放棄內部基礎設施會將你您鎖定在一般意義上的雲中——很難再回到不再存在的內部基礎設施。

但也存在專業知識問題。一旦你的資料庫專家成為“AWS專家”,就很難轉移到其他平臺。

Livyatan表示,就ScyllaDB的託管資料庫服務(ScyllaDBCloud)而言,“我們在一定程度上緩解了這種風險,因為使用的是標準API。所以最壞的情況是,可以隨時返回到執行自己的ScyllaDB(企業或開源),甚至不需要太多工作就可以移動到另一個資料庫,因為這是一個標準API。”

為堆疊的主要部分(包括資料庫)制定退出策略總是一個好主意,但在使用之前需要仔細權衡幾個因素。

Livyatan建議,從長遠的角度考慮所涉及的基礎設施的規模和可能的成本,並與潛在的供應商一起找出最佳和最壞的情況。他指出,如果一些平臺開始每秒處理數百萬個請求,可能會變得昂貴。

信任問題

Livyatan說:“你想決定一條一年後能給你帶來合理成本和效能的道路。但一年後,你可能會非常成功,也可能不那麼成功。對這兩種情況都進行評估是合理的。”

即使一切按計劃進行,高峰和低谷也可能不可避免,在這種情況下,託管服務可以幫助減輕負載。

廣告技術供應商GumGum的Sader介紹了他的公司如何做到這一點:“現在,我們正進入一年中的繁忙時期。廣告在第四季度會有所增長。所以,我們真正要做的是說,‘我們在這些地區需要更多的節點,你能幫我們實現嗎?’他們說沒問題。然後我們付錢,實現了。”

這說明了如果選擇託管資料庫產品,“信任”合作伙伴是多麼重要。Livyatan表示,這種信任可以透過供應商的成熟度以及其提供所需服務水平的能力來實現,只要確保所寫的資料在想要檢索時就在那裡。

這也是對供應商專業水平的信任。他說,一些供應商將提供多種開源產品作為託管服務。但使用者需要問問自己,他們是否有信心提供商在出現問題時會有深厚的專業知識來解決問題,或者是否需要依靠該開源專案更廣泛的“社群”來獲得幫助。

Livyatan建議,在這種情況下,如果知道供應商與編寫和擁有你所依賴的核心產品的人打交道,你可能會感到更舒服。

誰管理遷移?

無論你選擇什麼,仍然存在管理遷移本身的問題。

“第一個問題是,你是從相容的資料庫或類似的資料庫(如Apache Cassandra或DynamoDB)遷移到ScyllaDB,還是相反?”Livyatan問道,“然後,應用程式可以保持大致相同,資料模型可以保持大致不變嗎?我們“只是”談論將資料從一個位置移動到另一個位置。”

然而,遷移到雲可能被視為一個從現有資料庫進行戲劇性切換的機會。“你必須改變資料模型,改變應用程式。然後討論不同的規模。也許你需要重寫另一個應用程式,或者只是改變它。希望移動的資料越多,這項任務可能需要的時間就越長。”

Sader的建議是,如果可能的話,調整自己的設定,“在過渡到託管解決方案之前,儘可能地接近常規執行。果你能讓它成為一個替代品,過渡會更順利。”

無論哪種方式,你都必須面對這樣一個問題,即組織能夠容忍多少停機時間(如果有的話),或者是否希望在兩個平臺執行一段時間後再逐步進入新資料庫。

在這一點上,對新供應商的選擇以及他們管理所需服務的能力將真正發揮作用。“這不是一件小事,專業知識很重要。”

來自 “ 開源雲中文社群 ”, 原文作者:開源雲中文社群;原文連結:https://mp.weixin.qq.com/s/k0vQpjV4ZcaiwogsLekR3g,如有侵權,請聯絡管理員刪除。

相關文章