SAP HANA in the Cloud versus On-Premise
Original post from Steve Stringer
Performance computing in the cloud reminds me of sending a postcard. It doesn’t matter how quickly I write the text on the back, or how close I stand next to the postbox. The bottleneck will generally be the transmission. The urge to move everything to the cloud is great, but the downsides also need to be carefully considered, especially with high performance and high bandwidth services.
SAP HANA is a high performance hybrid (row and column) in-memory database. Although HANA can be used as a database for almost any application, the vast majority of installations are being used as accelerators or the primary databases for SAP applications. These installations, in the most part, are upgrades from previous instances of the SAP product, not green field sites.
Typical on-premise SAP HANA environment
Business Warehouse (BW) on HANA, is an example of deployment scenario where HANA would be used as the primary database for an SAP application. With BW on HANA it is possible to install the application and the database on the same HANA appliance, but in our example (like most units in the field), the application and DB are installed on separate machines.
Our example consists of a HANA database, a BW application server and clients. All components are connected via networks. The HANA DB and the application server would require a high speed network to connect to each other, preferably 10GbE, but certainly 1GbE as a minimum. The clients will benefit from a high performance network, generally 1GbE is more than sufficient.
However, client queries are, on the whole, low bandwidth, so just a few Mbits could suffice, for example, dashboards could be displayed on a tablet computer over a 3G cellular network with no real difficulties. This means that clients can access the application servers via the cloud with little impact to performance.
However, it should be clear that the separation of the application and database servers via the cloud would probably be detrimental to performance. I use the word “probably” because bandwidth requirements are always different, also the geography and the wallet of customer plays a big role in the capacity, latency and redundancy of their internet pipe.
My advice, in general, is keep the application and database servers together, regardless of on premise or in the cloud deployments. Moreover, if both application and database servers are in the cloud, ensure they are in the same cloud!
Typical SAP HANA Hybrid Cloud environment
So far, so good. But a BW system isn’t going to provide many insights without data being loaded into it from somewhere. In an SAP landscape you are likely to be loading BW with data from other SAP applications, such as ERP and CRM. It is possible to load data from other sources too. Loading data into BW is a time sensitive operation, so ideally you want the best possible network connectivity between BW and the systems loading data into it. This is often the problem when deploying an application in the cloud, the dependencies which are still on premise.
This diagram shows BW on HANA deployed in the cloud. The source applications are still on premise. Data loads to the BW application are done over the internet. This could be a huge problem, or not a problem at all. It depends on the speed, reliability and latency of the link between the on premise application servers and the cloud provider. High speed, low latency, redundant internet connections are not cheap, especially when compared to on premise switch technology.
Typical Cloud based SAP HANA environment
As the lowest bandwidth users are normally the clients, it would make more sense to move all applications to the cloud, as long as it is the same cloud. Then the inter-server network performance will be increased and latency will be lowered.
SAP HANA “Cloud Creep”
But moving all components to the cloud is a costly exercise. Some cloud providers may not support your currently deployed operating systems or databases, making migrations more complex.
OS/DB migrations often means training staff on new technology and not utilising skills that staff already have.
I call it “cloud creep”, the realisation that in order to move one service to the cloud you’ll actually need to shift a whole load of services their too, just to maintain performance.
Considerations when moving SAP HANA into the Cloud
Here is a quick checklist of things to consider when deploying HANA in the cloud:
- Application servers. They must be deployed in the same cloud as the database.
- Dependant services. What impact will there be to other services which interact with the cloud migrated service?
- Connection. What connection do you have to the cloud service. What is the speed, latency and redundancy like?
Unless you have great internet connectivity, SAP HANA in cloud to run SAP applications, seems to be an all or nothing option.