Wednesday, 14 February 2018

Enterprise applications with optimized costs – SAP HANA-based systems on Hetzner Online

In this article I would like to share my experience  of building our company SAP infrastructure and hardware costs optimization that we  have managed to achieve. Currently we have over 20 internal sap systems in our internal  landscape, including about 15 HANA-based installations. We use a combined approach with Hetzner Online and Amazon web services, and our average monthly expenses  for hardware rental are about EUR 1,000.  In fact, this is not a productive landscape, so most of those tricks  will not work once you have mission-critical systems. However, in many production  scenarios serious costs saving can be achieved, and this is what I am going to describe below.

For a long time enterprise applications  have been associated with expensive (and complicated in maintenance) hardware, mainframes,  committed technical teams and so on. For the last  few years  the role of cloud solutions has increased, where a customer either only rents equipment  (i.e. virtual servers), or complete application service. However, the main feature of cloud – elastic resource allocation  resulting in costs saving  –  is not required with many scenarios typical for small- and mid-size sap installations.
The most popular idea is to optimize costs  thanks to elastic capacity – disable non-required servers, change resource allocation (i.e. memory and CPU). Those make sense in case  you have scale-out environment (i.e. multiple application servers). However, for most cases (except BW) you will have a single “large” HANA instance that requires one solid (and expensive) instance. Once you decide to install SAP – in many cases you do not have  to dynamically resize or start/stop it on request – you just need to have it up and running, and probably you would like to have an option to increase hardware resources in case  your system load grows. So, it looks like a regular  server rental, the only difference is that those servers are located in cloud.

For example, a cloud instance with 256Gb RAM will cost about EUR 1,200-1,700  monthly, depending on the specific cloud provider, geo location and so on.  Even  if we decide to use a 8×5 schedule, in a very optimistic scenario (without taking into  consideration necessary time for updates, long-time background jobs usually scheduled for night time or weekends) we still get about 400-500 EUR monthly.

Those costs might be acceptable (and even more than acceptable) once you are running a mission-critical  production system. However, it is quite expensive  if you are running a set of internal systems (in case if you are a sap partner), or you simply do not need  all features  offered by “big” cloud providers, and/or 2-4 hours’ system downtime is not a critical risk for your business ( which is usually the case with small and medium companies). Frankly  speaking, you  do not need 99.9999% availability of sap,  unless you have the same provisions for internet connection or electrical power in your location.  Based on my experience, I can say that it might make sense to  consider direct server rental instead of virtualized environments.

In our company we started using Hetzner Online  at the beginning of 2014 – as a cheap option to keep non-production  systems for internal needs.   Since 2016 we have been using  it for non-production  purposes together with HANA,  as for those purposes it is a nice and   quite a cheap option.

Now our internal landscape is based on Hetzner Online PX121-SSD servers with single Xeon E5-1650 v3 hexa-core and 256Gb RAM. For sure this is not a certified platform for HANA,  but  for the 2 years of usage we have never faced any hardware-related issues.  We typically run 2-3 systems on one host, including IDES versions with demo data inside. Indeed,  these are low-loaded systems, without a significant number of users logged in, and such a landscape  cannot be suggested for any production  usage.

Non-productive hosting
PX121 SSD: 256 GB Gb RAM, Intel® Xeon® E5-1650 v3 Hexa-Core  117 EUR/month 

As  to production  landscape provided to clients – we use DX291 – Dell PowerEdge R730 with dual Xeon E5-2620 v4 octa-core and up to 768Gb RAM.  This one is officially supported by SAP and listed in HANA certified hardware directory. From the pricing perspective, we get instance with 256Gb RAM for 350 EUR per month, or in “maximum ” configuration –  756Gb RAM for approx. 900 EUR per month.

Let me sum up “ net” hardware costs for productive hosting:

Hosting option Approximate monthly price
256 Gb RAM 512 Gb RAM  756 Gb RAM 
Cloud hosting 24×7 1200-1700 EUR 2500-3000 EUR 5000-5500 EUR
Cloud hosting 8×5  400-500 EUR  700-900 EUR 1400-1700 EUR 
Hetzner Online – Dell Power Edge R730 350 EUR 600 EUR 900 EUR

From the technical point of view the whole production  landscape will look like this:

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Learning

This solution is aligned with enterprise-level requirements. However, there is no way to measure how stable a single server is  – this is nothing without backup solution. After trying several various options we finally decided to use Amazon S3 as external backup storage. All database backups are transferred to S3; as well as redo logs are stored  in it. So, this allows keeping data for point-in-time recovery outside Hetzner Online data center and allows fast restore in case of failure.

As an additional protection option, we use reserve instance on Amazon EC2. The main idea is, that normally on SAP system only database can change, and quite rarely files on the  file system. So once a server is set up on Amazon EC2 as a copy of some production  system, it might be easily actualized via database restore.

The diagram of such protection (disaster-recovery) process will show as follows:

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Learning

In such a way we have primary instance on Hetzner Online, and additional copy of it on AWS, switched-off most time, and  hardly requiring any additional payments. However, in case of failure of “primary” Hetzner Online instance, it can be easily started , updated with latest backup and redo logs, and continue production  operations. This approach allows  using  a cheaper hardware hosting option, and  at the same time keeping unplanned downtime  within 4-8 hours’ slot  in the worst case. To keep access to a system transparent for the end user, access to such a system can be organized via additional load balancing instance as  shown in the schema below:

SAP HANA Tutorials and Materials, SAP HANA Certifications, SAP HANA Learning

In conclusion I would like to say that  nowadays it is possible to keep quite complicated internal landscape and take advantage of modern in-memory computing technologies without any huge investments into internal hardware infrastructure or expensive enterprise-level cloud solution.  Many scenarios   will allow using less expensive hosting options; in combination  with modern cloud services even production environment can be kept in such a way.

No comments:

Post a Comment