從概念驗證(POC,proof-of-concept)到生產環境部署,客戶在遷移到SAP HANA內存數據庫平臺之前需要考慮許多因素,其中包括硬件選擇,備份與恢復計劃以及安全性管理等等。
但客戶究竟該從何入手呢?
理解HANA的架構
首先,你需要理解HANA并不是一個黑盒子;你可以把它看做是一個運行在特定硬件設備(有很多內存)上的Linux操作系統,它并不是一個簡單的兼容SQL92的內存數據庫。說到對于Linux的支持,HANA最早是部署在SUSE Enterprise 11上的,而目前新版HANA還支持RHEL 6.5。在部署之前,你需要仔細閱讀SAP的產品指南。
HANA還是一個應用服務器,但并不是基于傳統的SAP NetWeacer Application Server那樣的ABAP或Java技術。它是一個精益的Web應用服務器,能夠運行強大的內建SAPUI5或JavaScript的Web應用。
硬件選擇
在硬件方面,SAP提供了許多經過認證的硬件廠商合作伙伴。今年早些時候,SAP還開放了硬件限制,客戶可以在購買HANA許可證之后使用自己的硬件來運行。盡管仍然需要對硬件的配置進行特殊安排,比如內存、固態硬盤用來存儲日志文件,高速硬盤存放數據,內存與CPU核心需要有固定比例,但此舉無疑讓SAP HANA的硬件選擇范圍得到了極大的擴展。同時,SAP目前已經運行客戶自己進行HANA的部署了。在今年5月,VMware也通過了SAP認證,可以支持1 TB的HANA實例虛擬化。更多的硬件以及虛擬化合作伙伴,意味著SAP HANA將為客戶提供更多的備份與恢復選項。
那么在進行HANA部署環境規劃的時候,我們可以參考傳統的三層系統環境方式,做到每一個實例與其他實例之間的隔離。舉例來說,我們可以針對每一個軟件開發生命周期中的元素選擇一個單獨的硬件:一個用于開發環境,一個用于質量保證(QA),一個用于生產環境。這里要注意,HANA不支持每個服務器部署一個以上的數據庫,因此沙箱和開發可以用一臺服務器,而 QA和培訓則需要另外另外一臺服務器。
HANA還支持分布式的部署,其中包含一個控制(Master)節點和若干工作(Worker)節點,這樣就可以非常輕松地構建一個QA環境來匹配生產環境的場景。比如兩個節點可以支持單一的HANA開發實例以及一個分布式的QA實例。
備份與恢復策略
當針對生產環境進行硬件規劃的事后,我們還需要充分考慮到備份策略以及災難恢復需求。在我看來,“雙活”環境的每一個主機都能接收請求,如果一個主機宕機,客戶端連接可以迅速地重啟。但在HANA環境當中,SAP并沒有提供這樣的雙活集群配置。他們提供了一個自動化的主機故障轉移功能,也需要做一些DNS的變更。能不能做到立即切換?答案是否定的。但切換速度快不快?答案是肯定的。
我們可以使用一個復制的備用系統,它可以在幾分鐘之內完成故障轉移,但它稱不上是真正高可用,比如NetWeaver那樣。在復制備用數據庫場景下,要記住兩個關鍵點:第一,在災難場景下,我們需要通過DNS變更來重新定向客戶端數據庫請求;第二,我們可以利用備用數據庫作為其他實例的非生產環境數據庫,比如QA與測試。根據我的經驗,備用數據庫場景下SAP提供了非常好的靈活性,而且SAP在讓客戶充分利用硬件方面投入了很多研發精力,使得客戶數據中心里的每一臺機器都能夠物盡其用。
在HANA中進行備份是非常簡單的,每一個數據中心管理者與中層IT人員對此應該都不陌生。我們必須經常進行數據庫和日志文件的備份以便能夠提供一個即時恢復能力。我們可以通過SAP HANA Studio或者在操作系統層面上使用命令行來進行數據庫備份,這些都是開箱即用的功能。當然也有一些客戶選擇了SAP的合作伙伴來進行備份,比如Symantec、IBM、HP等等,而針對備份的SAP認證叫做HANA-BRINT 1.1,你在SAP官網上搜索它就可以出現許多備份的產品。
管理員技能
現在,我們已經理解了HANA的架構,接下來的問題就是:“我們該做哪些準備?我們如何進行備份?”此外,部署HANA對企業內部資源的技能集也是有特定要求的。從管理角度來說,SAP Basis管理員如果在UNIX平臺方面有足夠的經驗的話,那么他可以非常輕松地理解并上手HANA。整個HANA的部署機制都和SAP非常相似。我們需要將HANA連接到SAP Solution Manager for Enterprise SupportServices,這是在NetWeaver平臺上最常見的Basis任務。而使用內存數據庫的確需要在系統監控方面添加其他維度,Basis管理員需要對新技術敞開胸懷并迎接新的挑戰。另外,SAP在實時與歷史數據分析方面也為我們提供了足夠多的好用的工具。
安全性考慮
對于已經有專門的安全團隊來管理SAP Business Suite或其他基于NetWeaver應用的企業來說,在HANA中管理安全性是變化最大的一個方面。如果你在HANA上運行NetWeaver BW 或 SAP Business Suite,那么對于安全團隊的工作并不會有太大影響。但如果你選擇把HANA部署為一個單獨的數據倉庫或者應用服務器的時候,那么安全團隊就需要大量時間來學習新的架構和功能。在HANA中究竟誰來負責安全性?對于我來說仍然是一個讓人迷惑的問題。在傳統的數據庫管理系統中,DBA處理基本的數據庫維護之外還要全權負責數據庫安全的工作。而在SAP NetWeaver環境中,由于SAP把安全性工作放到了應用層,因此在數據庫層面基本不要擔心安全問題。Basis管理員稱不上是好的安全管理員,如果我在進行生產環境的HANA部署,我就會仔細考慮由誰來負責HANA的安全性管理工作。
Solution Manager
此外,還有很多客戶對于HANA中的Solution Manager的使用存在誤解。Solution Manager仍然是HANA系統預警報告(Early Watch Reports)的唯一實現機制,同時也是SAP持續質量監測的載體,后者已經包含在所有SAP客戶的標準化或企業維護協議當中。那些投入大量資金在HANA部署上的客戶,在正式上線之前一定要利用好SAP的Going Live認證服務以及主動監控功能,這些功能都包含在SolutionManager當中。
部署HANA的確是一件充滿挑戰的任務,然而通過團隊協作與知識分享,你的新項目將會為企業帶來新的價值。HANA的潛力非常大,等待著每一個企業去開拓。