如何采用多云和分布式計算解決企業(yè)的數(shù)據(jù)難題
很多企業(yè)正在將云計算投入其IT戰(zhàn)略。越來越多的IT預算正在轉向云計算服務和運營支出,而不是資本支出。與此同時,IT團隊被要求加強并改進企業(yè)的數(shù)字計劃。
根據(jù)調研機構Forrester公司在2019年的預測,大約25%的***信息官將轉變?yōu)槿? 領導角色,將技術投資規(guī)劃、數(shù)據(jù)管理、運營責任整合到一個統(tǒng)一的整體中。與此相關的挑戰(zhàn)是,數(shù)據(jù)和數(shù)字化轉型所解決的所有問題都與企業(yè)內部的其他問題交織在一起,從管理客戶體驗到滿足銷售和增長目標。對于一些***信息官來說,解決這些問題的機會自然是下一個步驟。對于其他人來說,這將超出他們和他們所在公司的舒適區(qū)。
縮小這些差距將依賴于數(shù)據(jù)管理。然而,即使企業(yè)更多地致力于云計算,他們也無法解決圍繞數(shù)據(jù)和云計算周圍存在的真正問題。
從更多的云到多云
企業(yè)正在增加對云計算服務的支出,以提高靈活性并實現(xiàn)更大的增長。調研機構IDC公司已將其對全球云計算基礎設施支出的預測提高至2018年的652億美元,隨后幾年將同比增長37.2%。基礎設施支出的增加包括計算、存儲、數(shù)據(jù)、應用程序服務。
對于使用云計算來支持其新服務的公司來說,計算和存儲等領域可以快速擴展。但是,數(shù)據(jù)庫元素要復雜得多。來自應用程序的數(shù)據(jù)必須存儲和用于分析,數(shù)據(jù)庫仍然是隨著時間的推移管理這些數(shù)據(jù)的最合適方式。這些數(shù)據(jù)庫也正在轉向云端,根據(jù)市場研究,全球云計算數(shù)據(jù)庫市場預計未來每年達到216.6億美元,并且應該增長到2072年的46.78%。
這個研究評估涵蓋了一系列不同的云計算數(shù)據(jù)庫部署選項,從完全托管服務到購買的云計算數(shù)據(jù)庫平臺。然而,這一系列選擇并不一定能提供許多企業(yè)所尋求的自主性水平。跨多個服務或混合部署運行數(shù)據(jù)庫比較困難。
許多企業(yè)和軟件開發(fā)團隊正在采用基于容器的技術,為他們的應用程序提供一定程度的自主性,這些應用程序是為在云中運行而構建的。容器可以在任何兼容的公共云服務或內部云服務上運行,因此這些應用程序不依賴于任何特定的提供程序。但是,大多數(shù)數(shù)據(jù)庫服務都不支持相同程度的獨立性。為了理解這個原因,有必要研究一下數(shù)據(jù)庫設計理論。
企業(yè)將應用程序轉移到云端時,可以分散這些應用程序,并在分布式環(huán)境中運行它們。無論是在混合云中還是在多云中,這都會將應用程序分散到不同的站點,然后這些站點必須相互通信,并處理所創(chuàng)建的任何新數(shù)據(jù)。隨著時間的推移管理數(shù)據(jù)涉及選擇處理一致性、可用性和分區(qū)容錯,或簡稱CAP。
隨著時間的推移,任何分布式數(shù)據(jù)存儲都必須保存和管理數(shù)據(jù)。企業(yè)根據(jù)其應用程序要求,可以優(yōu)先考慮的是要優(yōu)化性能、數(shù)據(jù)一致性還是可用性,企業(yè)通過采用CAP方法可以選擇專注于優(yōu)化的兩個元素,第三個元素的優(yōu)先級更低。因此,這將導致對應用程序性能、一致性和可用性的潛在權衡。但是,應該注意的是,仍然會提供類似一致性的區(qū)域,但不會達到某些應用程序可能需要的性能級別。
對于設計在云中運行的應用程序的架構師來說,分布式計算方法得到了進一步的發(fā)展。任何服務都必須采用相同的CAP方法,無論它是在內部私有云上運行還是在公共云服務上運行。數(shù)據(jù)庫本身必須與多個云計算服務兼容并可用,并以相同的方式在所有云計算服務上運行。但是,大多數(shù)公共云數(shù)據(jù)庫服務都綁定到云計算提供商的云平臺,或者只能在混合環(huán)境中運行。
在云中運行數(shù)據(jù)庫需要預先考慮并解決這些問題。例如,當應用程序吞吐量和性能更重要時,可調優(yōu)一致性。相反,對于需要實時數(shù)據(jù)一致性和特定事務訂單的應用程序,其性能可能不太符合要求。同樣,企業(yè)是否愿意以多云支持換取數(shù)據(jù)自治?在容器中部署應用程序可以為企業(yè)提供更大的靈活性和獨立性,但這也必須與數(shù)據(jù)管理策略相一致。如果不同時考慮這種方法,就很難充分利用多云的潛力。
多云和數(shù)據(jù)自治——開放源代碼的角色
對于希望保持對數(shù)據(jù)控制的企業(yè)而言,采用多云是一個關鍵因素。根據(jù)Gartner公司的研究,估計有70%的企業(yè)希望采用這種方法。那么,企業(yè)如何能夠圍繞數(shù)據(jù)獲得與使用容器的應用程序相同的獨立性?
在過去的十年中,開發(fā)的開源數(shù)據(jù)庫已經開發(fā)出來,以滿足大規(guī)模運行應用程序的一些新要求。這些新數(shù)據(jù)庫在云應用程序部署中非常流行。Sumo Logic公司關于現(xiàn)代應用程序部署的報告顯示,NoSQL數(shù)據(jù)庫已經比傳統(tǒng)的云計算部署關系數(shù)據(jù)庫更受歡迎。開發(fā)這些數(shù)據(jù)庫是為了存儲和處理大量數(shù)據(jù);每個數(shù)據(jù)庫都有自己的方法和質量,可以幫助開發(fā)人員滿足他們的需求。
作為查看多云和NoSQL選項的一部分,重要的是要強調所選的任何服務都必須能夠以完全分布式的方式運行,而不需要單一的主節(jié)點。相反,部署中涉及的所有節(jié)點都應該能夠執(zhí)行指令,然后集群節(jié)點組織自己來創(chuàng)建新事務的完整記錄。對完全分布式計算的支持對于使多云部署成功工作至關重要;如果沒有這種獨立性,應用程序將無法跨多個云計算服務運行,并提供所需的可用性級別。通過保持這種獨立性,即使服務從一個云服務遷移到另一個云服務,應用程序也可以繼續(xù)運行。
在市場上潛在的產品中,Apache Cassandra™是目前唯一可以在真正的多云或混合云部署中運行的選項。Cassandra主要應用于獨立運行多個位置和云服務,它可以自動在不同的數(shù)據(jù)中心和地理位置分布數(shù)據(jù)。
這種跨多個位置運行的能力,不需要重寫代碼,也不需要鏈接到特定的云計算提供商,這應該可以幫助企業(yè)運行其應用程序并利用多云技術。然而,除此之外,還必須考慮支持和性能優(yōu)化。雖然開源產品可能適合非關鍵應用程序或測試,但生產部署可能需要額外的專業(yè)知識、操作簡單性和支持,以擴大規(guī)模并滿足當今客戶對性能的嚴格要求。
對于具有一定規(guī)模的企業(yè)而言,設計和運營改進方面的專業(yè)知識對于構建支持這些應用程序的框架至關重要。除此之外,還需要查看實施的安全***實踐,尤其是對于處理大量客戶數(shù)據(jù)的新應用程序。雖然這些項目的開源版本提供了一些此功能,但查看具有企業(yè)級支持和服務的版本可填補生產應用程序的空白。這些步驟共同確保這些新的任務關鍵型應用程序可以在多云部署中運行,以***方式執(zhí)行并提供出色的客戶體驗。
將云計算和數(shù)據(jù)結合在一起
隨著越來越多的企業(yè)將部分或全部工作負荷轉移,云計算將繼續(xù)增長。云計算提供的是實驗能力、成功、規(guī)模。但是,這種易于部署不應該隨著時間的推移將該應用程序鎖定為一種方法。相反,對數(shù)據(jù)的所有權以及如何隨著時間的推移對其進行處理、管理和存儲應該是架構師的一個重要考慮因素。
為了避免這個問題,必須從一開始就將分布式數(shù)據(jù)支持設計到新的應用程序中。使用像Cassandra這樣的開源平臺,企業(yè)可以采用多云而無需采用單一的云計算提供商提供的云平臺。