{"id":22914271,"url":"https://github.com/suse/ha-sap-terraform-deployments","last_synced_at":"2025-08-02T22:04:43.043Z","repository":{"id":33873240,"uuid":"153756958","full_name":"SUSE/ha-sap-terraform-deployments","owner":"SUSE","description":"Automated SAP/HA Deployments in Public/Private Clouds","archived":false,"fork":false,"pushed_at":"2023-11-08T10:41:11.000Z","size":6796,"stargazers_count":127,"open_issues_count":17,"forks_count":87,"subscribers_count":27,"default_branch":"main","last_synced_at":"2025-07-24T02:21:37.791Z","etag":null,"topics":["aws","azure","gpc","hacktoberfest","hana","libvirt","netweaver","sap","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SUSE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-10-19T09:13:16.000Z","updated_at":"2025-04-12T23:11:02.000Z","dependencies_parsed_at":"2025-05-12T13:55:15.552Z","dependency_job_id":null,"html_url":"https://github.com/SUSE/ha-sap-terraform-deployments","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/SUSE/ha-sap-terraform-deployments","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SUSE%2Fha-sap-terraform-deployments","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SUSE%2Fha-sap-terraform-deployments/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SUSE%2Fha-sap-terraform-deployments/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SUSE%2Fha-sap-terraform-deployments/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SUSE","download_url":"https://codeload.github.com/SUSE/ha-sap-terraform-deployments/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SUSE%2Fha-sap-terraform-deployments/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268464576,"owners_count":24254196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","azure","gpc","hacktoberfest","hana","libvirt","netweaver","sap","terraform"],"created_at":"2024-12-14T05:14:12.387Z","updated_at":"2025-08-02T22:04:42.754Z","avatar_url":"https://github.com/SUSE.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automated SAP/HA Deployments in Public and Private Clouds with Terraform\n\n[![Build Status🔗](https://github.com/SUSE/ha-sap-terraform-deployments/workflows/CI%20tests/badge.svg)](https://github.com/SUSE/ha-sap-terraform-deployments/actions)\n\n**Supported terraform version  `1.1.X`**\n\n* [About](#about)\n* [Overview](#overview)\n   * [Components Details](#components-details)\n   * [Products](#products)\n   * [Cloud Providers](#cloud-providers)\n   * [Features](#features)\n* [Project Structure](#project-structure)\n* [Getting started](#getting-started)\n* [Troubleshooting](#troubleshooting)\n\n___\n\n# About\n\nThis Project provides a high configurable way to deploy **SAP HANA**\ndatabase and **SAP S/4HANA** (or **SAP NetWeaver**) on various cloud platforms.\n\nBoth public cloud and private cloud scenarios are\npossible. The major cloud providers _Google Cloud Platform_\n(GCP), _Microsoft Azure_, and _Amazon Web Services_ (AWS) are\nsupported. Furthermore _OpenStack_ and _libvirt/KVM_ can be used.\n\nIt shall give an improved user experience for our SAP customers and partners.\nand deployment will takes minutes/hours instead of days.\nYou can use it for POC or production deploymentes\n\nEverything is powered by SUSE Linux Enterprise Server for SAP Applications.\n\n\n# Overview\n\n![Project Components](doc/project-components.png)\n\nThe diagram above shows components for an example setup. Several\nfeatures can be enabled or disabled through configuration options to\ncontrol the behavior of the HA Cluster, the SAP HANA and SAP S/4HANA\nor SAP NetWeaver. The setup is also dependent on the cloud provider which is used.\n\n## Components Details\n\n - **SAP HANA Database**:\n   HANA might be deployed as a single SAP HANA database instance,\n   or as a two-node configuration with system replication.\n   Even HANA Scale-Out scenarios can be deployed, depending on the cloud provider (see _Features_ section).\n   In addition a SUSE HA cluster can be set on top of that.\n   Please also have a look at [Preparing SAP software](doc/sap_software.md)\n\n - **SAP S/4 HANA (or NetWeaver)**:\n   S/4HANA can be deployed with a single PAS instance or as\n   a full stack including ASCS, ERS, PAS and AAS (multiple) instances.\n   In the latter sce case, a SUSE HA cluster is set on top of ASCS/ERS.\n   For more information see [S/4HANA and NetWeaver](doc/netweaver.md) and [Preparing SAP software](doc/sap_software.md).\n\n - **ISCSI server**:\n   This provides Stonith Block Devices used by the\n   _sbd fencing_ mechanism. Also see [Fencing mechanism](doc/fencing.md)\n   _Native fencing_ mechanisms are available for some cloud environments (see _Features_ section).\n\n - **Monitoring server**:\n   The monitoring solution is based on [prometheus🔗](https://prometheus.io) and\n   [grafana🔗](https://grafana.com/).\n   It provides informative and customizable dashboards to users and administrators.\n   Every node has prometheus exporters installed which are used to collect the needed metrics.\n   For more information see [Monitoring of cluster](doc/monitoring.md).\n\n - **DRBD cluster**:\n   It is used to provide a highly available NFS server for cloud providers that lack a native solution.\n   It will be used to mount SAP NetWeaver shared files.\n   For more information see [DRBD](doc/drbd.md).\n   Some cloud providers have native solutions for high available NFS (see _Features_ section),\n   which should be preferred over the DRBD solution.\n\n - **Bastion server**:\n   A bastion server is used to have a single internet-facing entry point (`ssh`) for the administrator and the provisioning process.\n   Security-wise, it is a best practice to access you machines this way.\n   The availability of this solution depends again on the used cloud provider (see _Features_ section).\n\nFor more on various topics have a look on the following documentation:\n\n   - [SUSE saptune](doc/saptune.md)\n\n## Products\n\nThis repository supports deployment with following products:\n\n| Vendor      | Product                                                  |\n| ----------- | -------------------------------------------------------- |\n| SUSE        | SUSE Linux Enterprise Server for SAP Applications 12 SP5 \u003cbr\u003e Certification: [SLES for SAP🔗](https://www.suse.com/products/sles-for-sap/) and [SAP Process Automation🔗](https://store.sap.com/dcp/en/product/display-0000059520_live_v1/SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications)  |\n| SUSE        | SUSE Linux Enterprise Server for SAP Applications 15 SP4 (or older)\u003cbr\u003e Certification: [SLES for SAP🔗](https://www.suse.com/products/sles-for-sap/) and [SAP Process Automation🔗](https://store.sap.com/dcp/en/product/display-0000059520_live_v1/SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications)  |\n| SAP         | SAP HANA 2.0 with SPS \u003e= 02   |\n| SAP         | SAP NETWEAVER 7.5 (and later) |\n| SAP         | SAP S/4HANA 1610              |\n| SAP         | SAP S/4HANA 1709              |\n| SAP         | SAP S/4HANA 1809              |\n| SAP         | SAP S/4HANA 1909              |\n| SAP         | SAP S/4HANA 2020              |\n| SAP         | SAP S/4HANA 2021              |\n\n\n## Cloud Providers\n\nThis repository supports deployment on the following SAP certified providers cloud providers:\n\n| Vendor      | Product                                                  | Certification                     |\n| ----------- | -------------------------------------------------------- | --------------------------------- |\n| Amazon      | Amazon Web Services (AWS)                                | [SAP Hardware Directory for AWS🔗](https://www.sap.com/dmc/exp/2014-09-02-hana-hardware/enEN/#/solutions?filters=ve:23)  |\n| Microsoft   | Azure                                                    | [SAP Hardware Directory for Azure🔗](https://www.sap.com/dmc/exp/2014-09-02-hana-hardware/enEN/#/solutions?filters=ve:24)  |\n| Google      | Google Cloud Platform (GCP)                              | [SAP Hardware Directory for GCP🔗](https://www.sap.com/dmc/exp/2014-09-02-hana-hardware/enEN/#/solutions?filters=ve:29)  |\n| OpenInfra   | OpenStack                                                | Depends on deployed hardware, \u003cbr\u003e get an overview in [SAP's Hardware Directory🔗](https://www.sap.com/dmc/exp/2014-09-02-hana-hardware/enEN/#/solutions)     |\n| libvirt.org | Libvirt                                                  | not certified                     |\n\n## Features\n\nThe following features are implemented:\n\n| Feature | AWS   | Azure | GCP   | OpenStack | Libvirt |\n| :------ | :---: | :---: | :---: | :-------: | :-----: |\n| **SUSE saptune / SAP sapnotes** \u003cbr\u003e SUSE's saptune is applied with the correct solution template to configure the systems based on SAP sapnotes recommendations. \u003cbr\u003e For additional information see [Tuning Systems with saptune🔗](https://documentation.suse.com/sles-sap/15-SP4/html/SLES-SAP-guide/cha-tune.html). | ☒     | ☒     | ☒     | ☒         | ☒       |\n| **HANA single node** \u003cbr\u003e Deployment of HANA on a single node. \u003cbr\u003e For additional information see [SAP Hardware Directory for AWS🔗](https://www.sap.com/dmc/exp/2014-09-02-hana-hardware/enEN/#/solutions?filters=ve:23) | ☒     | ☒     | ☒     | ☒         | ☒       |\n| **HANA Scale-Up - performance optimized** \u003cbr\u003e Deployment of HANA with system replication in a performance optimized setup. \u003cbr\u003e For addition information see [SAP HANA System Replication Scale-Up - Performance Optimized Scenario🔗](https://documentation.suse.com/sbp/all/single-html/SLES4SAP-hana-sr-guide-PerfOpt-15/). | ☒     | ☒     | ☒     | ☒         | ☒       |\n| **HANA Scale-Up - cost optimized** \u003cbr\u003e Deployment of HANA with system replication in a cost optimized (additional tenant DB) setup. \u003cbr\u003e For additional information see [SAP HANA System Replication Scale-Up - Cost Optimized Scenario🔗](https://documentation.suse.com/sbp/all/html/SLES4SAP-hana-sr-guide-costopt-15/).  | ☒     | ☒     | ☒     | ☒         | ☒       |\n| **HANA Scale-Out - performance optimized** \u003cbr\u003e Deployment of HANA Scale-Out (multi node) with system replication in a performance optimized setup. \u003cbr\u003e For additional information see [SAP HANA System Replication Scale-Out - Performance Optimized Scenario🔗](https://documentation.suse.com/sbp/all/html/SLES4SAP-hana-sr-guide-costopt-15/) and [SAP HANA System Replication Scale-Out High Availability in Amazon Web Services🔗](https://documentation.suse.com/sbp/all/html/SLES-SAP-hana-scaleOut-PerfOpt-12-AWS/).  | ☒ | ☒ | ☒ | ☒ | ☒ |\n| **HANA Scale-Out - with standby nodes (HANA Host-Auto-Failover)** \u003cbr\u003e Deployment of HANA Scale-Out (multi node) with system replication and Host-Auto-Failover via standby nodes. \u003cbr\u003e For additional information see [Setting Up Host Auto-Failover🔗](https://help.sap.com/docs/SAP_HANA_PLATFORM/6b94445c94ae495c83a19646e7c3fd56/879d9dc46bb64ccda028872c86c70afc.html?version=2.0.05) and [Azure: Deploy a SAP HANA scale-out system with standby node on Azure VMs by using Azure NetApp Files on SUSE Linux Enterprise Server🔗](https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/sap/sap-hana-scale-out-standby-netapp-files-suse). | 🚫 | ☒     | 🚫    | ☒         | ☐      |\n| **SAP S/4HANA ENSA 1** \u003cbr\u003e Deployment of a SAP S/4HANA in Enqueue Replication (ENSA) 1 scenario. \u003cbr\u003e For additional information see [SAP NetWeaver Enqueue Replication 1 High Availability Cluster - Setup Guide for SAP NetWeaver 7.40 and 7.50 🔗](https://documentation.suse.com/sbp/all/html/SAP-nw740-sle15-setupguide/). | ☒     | ☒     | ☒     | ☒         | ☒       |\n| **SAP S/4HANA ENSA 2** \u003cbr\u003e Deployment of a S/4HANA in Enqueue Replication (ENSA) 2 scenario. \u003cbr\u003e For additional information see [SAP S/4HANA - Enqueue Replication 2 High Availability Cluster - Setup Guide 🔗](https://documentation.suse.com/sbp/all/html/SAP-S4HA10-setupguide-sle15/index.html). | ☒     | ☒     | ☒     | ☒         | ☒       |\n| **SAP S/4HANA single PAS** \u003cbr\u003e Deployment of a single S/4HANA PAS (primary instance). \u003cbr\u003e For additional information see [SAP S/4HANA - Enqueue Replication 2 High Availability Cluster - Setup Guide 🔗](https://documentation.suse.com/sbp/all/html/SAP-S4HA10-setupguide-sle15/index.html). | ☒     | ☒     | ☒     | ☒         | ☒       |\n| **SAP S/4HANA High Availability Cluster** \u003cbr\u003e Deployment of a full SAP S/4HANA stack including ASCS, ERS, PAS and AAS (multiple) instances. \u003cbr\u003e For additional information see [SAP S/4HANA - Enqueue Replication 2 High Availability Cluster - Setup Guide 🔗](https://documentation.suse.com/sbp/all/html/SAP-S4HA10-setupguide-sle15/index.html). | ☒     | ☒     | ☒     | ☒         | ☒       |\n| **Deployment in different Availability Zones/Sets** \u003cbr\u003e Deployment of virtual instances in different Availability Zones/Sets for HA on hardware level. | ☒     | ☒     | ☒     | ☐        | ☐      |\n\n**Legend:**\n\n| Symbol | Explanation                            |\n| :---:  | :------------------------------------- |\n| ☒      | feature implemented in this repository |\n| ☐      | not implemented in this repository     |\n| 🚫     | not recommended by vendor              |\n\n# Project Structure\n\nThis project heavily uses [terraform🔗](https://www.terraform.io/) and\n[salt🔗](https://www.saltstack.com/) for configuration and deployment.\n\n**Terraform** is used to create the required infrastructure in the specified cloud.\n\nThe code is divided into sub directories for each terraform provider and \nsplit into different terraform modules. There are also some abstracted _generic_modules_\n\n```\n./ha-sap-terraform-deployments\n├── aws\n│    └── modules\n├── azure\n│    └── modules\n├── generic_modules\n│    └── ...\n├── gcp\n│    └── modules\n├── libvirt\n│    └── modules\n├── openstack\n│    └── modules\n…\n```\n\nThis makes the code modular and more maintainable.\n\n**Salt** configures all virtual machine instances that are provisioned by terraform.\nThis includes configuring the operating system, mounting filesystems,\ninstalling SAP software, installing HA components.\nIt does so by using `pillars` and `grains` which are injected by terraform\nin a flexible and customizable way.\n\n```\n./ha-sap-terraform-deployments\n├── pillar_examples\n│    └── automatic\n│        └── drbd\n│        └── hana\n│        └── netweaver\n├── salt\n│    └── bastion\n│    └── cluster_node\n│    └── ...\n…\n```\n\nTerraform will first build up the infrastructure/machines and salt will do the actual provisioning.\n\nUnder the hood, [shaptools🔗](https://github.com/SUSE/shaptools) and [salt-shaptools🔗](https://github.com/SUSE/salt-shaptools) are used, to have a stable API to access\nSAP HANA and Netweaver functionalities.\n\nThe whole architecture stack can be seen here:\n\n![Architecture](doc/project-architecture.png)\n\nThis repository is intended to be configured and run from a local workstation, but should also be runnable from your cloud provider's cloud shell.\n\n**Each provider folder has it own provider relevant documentation,**\n**modules and example configuration.**\n**Be sure to get familiar with these before trying this out.**\n\n\n# Getting started \n\n![SUSE/SAP HA automation project](doc/sap-workload-automation-suse-flow.png)\n\nThe SAP software media has to be available and prepared according to [Preparing SAP software](doc/sap_software.md).\n\nAfter you prepared the SAP software, make sure to have terraform and salt installed.\nClone this repository and follow the quickstart guides of the favored provider.\nThey can be found in `./\u003cprovider\u003e/README.md` or linked below:\n\n  - [Amazon Web Services (AWS)](aws/README.md#quickstart) (pdf guide [SUSE SAP automation guide AWS🔗](https://raw.githubusercontent.com/petersatsuse/SA-SAP-Automation/master/build/SA/SA_color_en_aws.pdf))\n  - [Microsoft Azure](azure/README.md#quickstart) (pdf guide [SUSE SAP automation guide Azure🔗](https://raw.githubusercontent.com/petersatsuse/SA-SAP-Automation/master/build/SA/SA_color_en_azure.pdf))\n  - [Google Cloud Platform (GCP)](gcp/README.md#quickstart) (pdf guide [SUSE SAP automation guide GCP🔗](https://raw.githubusercontent.com/petersatsuse/SA-SAP-Automation/master/build/SA/SA_color_en_gcp.pdf))\n  - [OpenStack](openstack/README.md#quickstart)\n  - [libvirt/KVM](libvirt/README.md#quickstart)\n\nThe _SUSE SAP automation guides_ contain a lot more detailed explanations than the short quick start guides.\n\nEach provider folder contains a minimal working configuration example\n`terraform.tfvars.example`.\n\n**Please be careful which instance type you will use! The selection of\nsystems certified by SAP could lead to expensive unexpected costs.**\n\n\n# Troubleshooting\n\nIn case you have some issue, take a look at this [troubleshooting guide](doc/troubleshooting.md).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuse%2Fha-sap-terraform-deployments","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuse%2Fha-sap-terraform-deployments","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuse%2Fha-sap-terraform-deployments/lists"}