{"id":83732,"date":"2021-01-21T08:35:53","date_gmt":"2021-01-21T16:35:53","guid":{"rendered":"https:\/\/cloudblogs.microsoft.com\/opensource\/?p=83732"},"modified":"2025-06-23T11:14:37","modified_gmt":"2025-06-23T18:14:37","slug":"deploying-suse-sap-ha-automation-in-microsoft-azure","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/","title":{"rendered":"Deploying SUSE SAP HA Automation in Microsoft Azure"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"why-automation\">Why automation<\/h2>\n\n\n\n<p>Maintaining a competitive advantage often depends on how quickly you can deliver new services. SAP applications are designed to help companies analyze data to anticipate new requirements and rapidly deliver new products and services. This gives you the ability to keep existing customers happy while attracting new business.<\/p>\n\n\n\n<p>In line with SUSE\u2019s vision is to simplify, modernize, and accelerate with technology, the <span style=\"font-size: 1.4rem\">first release of <\/span>SUSE Linux Enterprise Server for SAP Applications <span style=\"font-size: 1.4rem\">already included automated installation features for the SAP software stack. Over the last 10 years, our SAP LinuxLab and development engineers have introduced several additional features to automate routine system administration.<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2021\/01\/sles-for-SaP-azure-value.png\" alt=\"graphical user interface\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Simplify the deployment of an SAP Landscape in Azure for dev, test, and production.<\/li>\n\n\n\n<li>Modernize customer environments by taking advantage of the power of the public cloud.<\/li>\n\n\n\n<li>Accelerate customer migrations to the cloud.<\/li>\n<\/ul>\n\n\n\n<p>Starting from the idea of simplifying and modernizing SAP HANA and SAP Interweave deployments, SUSE worked on rewriting the deployment wizards we had built.<\/p>\n\n\n\n<p>Building the infrastructure to running SAP applications can get quite complex and demands a big effort if they get deployed manually. In addition, reproducing the process can be tedious and error-prone. An additional challenge is to make the infrastructure highly available, as this will add more complexity and tasks.<\/p>\n\n\n\n<p>SUSE\u2019s major motivation was to improve, simplify and unify the installation of SAP Landscape on SUSE Linux Enterprise Server for SAP Applications and clearly standardize deployments and allow customers to use one level of tooling in various ways\u2014from a Command Line interface, through some GUI-driven process and SUSE Manager, or other automation frameworks. So it was clear for us to move to a more modern approach, like infrastructure-as-code, in order to reduce the effort and errors.<\/p>\n\n\n\n<p>As SUSE Linux Enterprise Server and many other SUSE products ship with a universal configuration management solution for the last few years, we used this as the base for the new automation. This configuration infrastructure management system is called Salt from SaltStack and provides a highly scalable, powerful, and fast infrastructure automation and management, built on a dynamic communication bus. Salt can be used for data-driven orchestration, remote execution for any infrastructure, configuration management for any app stack, and much more.<\/p>\n\n\n\n<p>Combining this management system with an infrastructure deployment solution like Terraform makes it possible to do a hands-free setup of an SAP Landscape, ready to login to start customizing your SAP System.<\/p>\n\n\n\n<p>Such a number of systems have an additional challenge: getting an overview of what\u2019s going on after the install is done. So we added the possibility to allow insights into your SAP Landscape with comprehensive dashboards, real-time and historic views, and active alerts and reporting based on flexible and powerful open-source projects Prometheus and Grafana. The deployment automation can be configured to also set up a monitoring environment for the clusters, HANA, and Netweaver.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-we-cover-with-automation\">What we cover with automation<\/h2>\n\n\n\n<p>SAP HANA and Netweaver applications can be deployed in many different scenarios and combinations. So we created building blocks, which are modular and reusable to attend from single install to full cluster deployment.<\/p>\n\n\n\n<p>As of today, we take care of:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HANA single node<\/li>\n\n\n\n<li>HANA HA Scale-up Systemreplication, including\u00a0performance-optimized (active\/passive and active\/readonly) and cost-optimized scenarios<\/li>\n\n\n\n<li>Netweaver<\/li>\n\n\n\n<li>Netweaver HA with Enqueue Replication Version (ENSA1)<\/li>\n\n\n\n<li>S\/4 HANA<\/li>\n<\/ul>\n\n\n\n<p>The solutions will get extended continuously depending on the demands of customers and partners and development is already underway for Netweaver HA with ENSA2 (Enqueue Standalone Architecture).<\/p>\n\n\n\n<p>If you want to know more about the ENSA2 details, please have a look at this <a href=\"https:\/\/www.suse.com\/c\/suse-ha-sap-certified\/\">SUSE blog post<\/a>.<\/p>\n\n\n\n<p>The overall landscape that gets deployed looks like:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2021\/01\/SAP-Architecure-overview.png\" alt=\"SAP Architecure overview\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"details-of-what-s-inside\">Details of what\u2019s inside<\/h2>\n\n\n\n<p>SaltStack\u2019s configuration management system lets you define the applications, files, and other settings that should be in place on a specific system. The system is continuously evaluated against the defined configuration, and changes are made as needed.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Salt works with so-called &#8220;States&#8221; that express the state a host should be in, using small, easy to read, easy to understand configuration files.<\/li>\n\n\n\n<li>The automation is written as &#8220;formulas&#8221; which are a collection of pre-written Salt States and Salt &#8220;Pillar&#8221; files.<\/li>\n\n\n\n<li>The Pillar files are the variables and data to build the system.<\/li>\n<\/ul>\n\n\n\n<p>The good thing is that SLES-for-SAP Applications 15 SP2 ship all these formulas now as part of the product, so you can set up as you need.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"hana\">HANA<\/h3>\n\n\n\n<p>The HANA formula takes care of the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Extract the required SAP files for SAP Medias (.tar,.sar,.exe)<\/li>\n\n\n\n<li>Installs SAP HANA<\/li>\n\n\n\n<li>Apply &#8220;saptune&#8221; for HANA to configure and tune the OS for HANA usage<\/li>\n\n\n\n<li>Configures system replication<\/li>\n\n\n\n<li>Preconfigure the High Availability cluster requirements<\/li>\n\n\n\n<li>Configures the SAP HANA Prometheus exporter<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"netweaver\">Netweaver<\/h3>\n\n\n\n<p>The Netweaver formula for bootstrapping and managing the SAP Netweaver platform takes care of:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Extracting the required SAP files for SAP Medias (.tar,.sar,.exe)<\/li>\n\n\n\n<li>Setting up\n<ul class=\"wp-block-list\">\n<li>ASCS instance<\/li>\n\n\n\n<li>ERS instance<\/li>\n\n\n\n<li>PAS instance<\/li>\n\n\n\n<li>AAS instance<\/li>\n\n\n\n<li>Database instance (currently only HANA)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Beyond that, the formula sets up all of the pre-requirements as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hostnames<\/li>\n\n\n\n<li>Virtual addresses<\/li>\n\n\n\n<li>NFS mounts<\/li>\n\n\n\n<li>Shared disks<\/li>\n\n\n\n<li>SWAP partition space<\/li>\n<\/ul>\n\n\n\n<p>The formula follows the best practices defined in the official <a href=\"http:\/\/documentation.suse.com\/sbp\">SUSE documentation.<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"high-availability\">High availability<\/h3>\n\n\n\n<p>The HA bootstrap formula takes care of creating and managing a high availability cluster.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creates and configures the High Availability cluster (Pacemaker, Corosync, SBD, and resource agents)<\/li>\n\n\n\n<li>Adjustments for the Azure Infrastructure<\/li>\n\n\n\n<li>Handle Netweaver, HANA and DRBD<\/li>\n<\/ul>\n\n\n\n<p>Depending on the cloud requirements it may need an iSCSI server to be able to provide a shared disk for fencing where we use the iscsi-formula from&nbsp; SaltStack.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"other-dependent-services\">Other dependent services<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"ha-nfs-service\">HA NFS Service<\/h4>\n\n\n\n<p>To build a HA NFS Service if there is none available, we can create one with help of 3 Linux services and the following<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DRBD formula<\/li>\n\n\n\n<li>HA formula<\/li>\n\n\n\n<li>NFS formula from SaltStack<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"iscsi-service\">iSCSI Service<\/h4>\n\n\n\n<p>The iSCSI-formula from SaltStack is able to deploy iSNS, iSCSI initiator, and iSCSI target packages, manage configuration files, and then start the associated iSCSI services.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"nfs-formula\">NFS formula<\/h4>\n\n\n\n<p>A SaltStack formula to install and configure nfs server and client.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"monitoring\">Monitoring<\/h3>\n\n\n\n<p>Starting from the idea of improving user experience, SUSE worked on how to monitor the several High Availability clusters that manage SAP HANA and SAP Netweaver in a modern way. For monitoring, we use the Prometheus toolkit and the Grafana project to visualize the data.<\/p>\n\n\n\n<p>To be able to monitor the clusters on either HANA or Netweaver we have written Prometheus exporters for it.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"sap-hana-database-exporter\">SAP HANA Database Exporter<\/h4>\n\n\n\n<p>The exporter provides metrics from more than one database or tenant. It provides<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Memory metrics<\/li>\n\n\n\n<li>CPU metrics<\/li>\n\n\n\n<li>Disk usage metrics<\/li>\n\n\n\n<li>I\/O metrics<\/li>\n\n\n\n<li>Network metrics<\/li>\n\n\n\n<li>Top queries consuming time and memory<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"high-availability-cluster-exporter\">High Availability Cluster Exporter<\/h4>\n\n\n\n<p>Enables monitoring of Pacemaker, Corosync, SBD, DRBD, and other components of High Availability clusters. This provides the ability to easily monitor cluster status and health.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pacemaker cluster summary, nodes, and resource status<\/li>\n\n\n\n<li>Corosync ring errors and quorum votes. Currently, only Corosync version 2 is supported<\/li>\n\n\n\n<li>Health status of SBD devices<\/li>\n\n\n\n<li>DRBD resources and connections status. Currently, only DRBD version 9 is supported<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"sap-host-exporter\">SAP Host Exporter<\/h4>\n\n\n\n<p>Enables the monitoring of SAP Netweaver, SAP HANA, and other applications. The gathered metrics are the data that can be obtained by running the sapcontrol command.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SAP start service process list<\/li>\n\n\n\n<li>SAP enqueue server metrics<\/li>\n\n\n\n<li>SAP application server dispatcher metrics<\/li>\n\n\n\n<li>SAP internal alerts<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2021\/01\/dashboard.png\" alt=\"SUSE Dashboard snapshot\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Note that the dashboards aren&#8217;t currently shipped within the product, but provided by SUSE as open source.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-get-it-running\">How to get it running<\/h2>\n\n\n\n<p>The simplest way is to use the Terraform project in Github. As development is always a moving target. SUSE provides releases to provide a stable setup. As of writing this, v6 is current. You should have knowledge of Terraform, Linux, and SAP to use it.<\/p>\n\n\n\n<p>First, make sure that all pre-requirements are done:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Have an Azure account<\/li>\n\n\n\n<li>Have installed the Azure commandline tool <em>az<\/em><\/li>\n\n\n\n<li>Have installed <em>terraform<\/em> (v12) (it comes with SLES within the public cloud module)<\/li>\n\n\n\n<li>Have the SAP HANA install media<\/li>\n\n\n\n<li>Have created an Azure File Share<\/li>\n\n\n\n<li>Copy the SAP HANA install media to the Azure fileshare<\/li>\n\n\n\n<li>Extract the install media<\/li>\n\n\n\n<li>Open a browser and go to <a href=\"https:\/\/github.com\/SUSE\/ha-sap-terraform-deployments\">https:\/\/github.com\/SUSE\/ha-sap-terraform-deployments<\/a><\/li>\n\n\n\n<li>Click on <em>tags<\/em><\/li>\n\n\n\n<li>Click on version (e.g., <em>6.0.0)<\/em>\n<ul class=\"wp-block-list\">\n<li>See what\u2019s new and what has changed. If you use older versions, be sure to read it carefully.<\/li>\n\n\n\n<li>The <em>Usage<\/em> section provides you with a link to a OpenBuildServer (OBS) repository where the RPM packages of the above-discussed building blocks are stored that fit the project version.<\/li>\n\n\n\n<li>You need to use this value within the terraform variables file. So copy the line as described.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Now go to <em>Assets<\/em> and download the <em>Source code<\/em> as .zip or .tar.gz<\/li>\n\n\n\n<li>Extract it into a folder on your computer<\/li>\n\n\n\n<li>Go to this folder and into the sub folder <em>azure<\/em><\/li>\n\n\n\n<li>Copy the file <em>tfvars.example<\/em> to <em>terraform.tfvars.<\/em> You will see many key-value variable pairs, some enabled some disabled with a # in front. To have a simple start, only touch what we describe below.<\/li>\n\n\n\n<li>Change the region where you want to deploy the solution, so change <em>az_region = &#8220;westeurope&#8221;<\/em> to the azure region you want to use<\/li>\n\n\n\n<li>To make it easier to start, please change all four images types to pay-as-you-go (PAYG). To do so, replace all <em>offer<\/em> settings with &#8220;sles-sap-15-sp2&#8221; and <em>sku<\/em> with 15. Do this for hana, iscsi, monitoring, drbd e.g.<br><code>hana_public_offer     = \"SLES-SAP-BYOS\"<br>hana_public_sku       = \"12-sp4\"<\/code><br>with<br><code>hana_public_offer = \"sles-sap-15-sp2\"<br>hana_public_sku   = \"gen2\"<\/code><br>This will make use of the on-demand images, which have automatically all needed SUSE repositories attached.<\/li>\n\n\n\n<li><span style=\"font-size: 1.4rem\">Next is to set the name of the <\/span><em style=\"font-size: 1.4rem\">admin_user<\/em><span style=\"font-size: 1.4rem\"> to a name that you want to use.<\/span><\/li>\n\n\n\n<li><span style=\"font-size: 1.4rem\">The next step is to provide ssh keys to access the machines that will be deployed. <\/span><span style=\"font-size: 1.4rem\">We recommend creating new keys for this as you need to provide both keys as they need to get copied to the machines. So change the two locations variables and point them to your files in your ssh directory.<\/span><\/li>\n\n\n\n<li><span style=\"font-size: 1.4rem\">As we need SAP Install Media for the automatic deployment of HANA, you need to create an Azure storage account where you will copy the HANA media. Best would be if you already have extracted the SAP media to save time during the deployment. <\/span>Then we need to provide the name, key, and the path to this storage account to the system. Change:<br><code>storage_account_name<br>storage_account_key<br>hana_inst_master<\/code>The inst_master variable should point to the directory where you have the extracted HANA install files. There are more possibilities, but for the simplest usage have everything already extracted on you share.<br>Disable the other SAP HANA variables by adding a &#8216;#&#8217; in front of them.<code>#hana_archive_file = \"IMDB_SERVER.SAR\"<br>#hana_sapcar_exe = \"SAPCAR\"<br>#hana_extract_dir = \"\/sapmedia\/HDBSERVER\"<\/code><\/li>\n\n\n\n<li>We need additional ssh keys for the cluster communications, so please save your changes and run the following commands from:<br><code>mkdir -p ..\/salt\/hana_node\/files\/sshkeys<br>ssh-keygen -t rsa -N '' -f ..\/salt\/hana_node\/files\/sshkeys\/cluster.id_rsa<\/code><\/li>\n\n\n\n<li>Please open the tfvars file again as we need a few final changes. To create a HANA Systemreplication HA automation uncomment:<code>hana_ha_enabled = true<\/code><br>As now the system creates a cluster, we need to enable a few other services. Uncomment:<br><code>hana_cluster_sbd_enabled = true<\/code><\/li>\n\n\n\n<li>Now we need to point to the place where the right packages for the v6 can be found. Copy the variable from step 1, e.g.:<br><code>ha_sap_deployment_repo = \"https:\/\/download.opensuse.org\/repositories\/network:ha-clustering:sap-deployments:v6\"<\/code><\/li>\n\n\n\n<li>If you want the additional monitoring to be deployed, simply uncomment:<br><code>monitoring_enabled = true<\/code><\/li>\n\n\n\n<li>As the last step, we enable a simplification parameter, which tries to find out a few settings automatically. Scroll down to the end and uncomment:<br><code>pre_deployment = true<\/code><\/li>\n<\/ol>\n\n\n\n<p>Now we have all settings for Terraform done and are nearly at the step to run the deployment, so save your changes.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go one directory up and change into the <em>pillar_example<\/em> directory and here into the <em>automatic<\/em> directory where you can see 3 further directories. They will provide the configuration variable for the relevant services.<\/li>\n\n\n\n<li>As we use only HANA, please switch to the <em>hana<\/em> directory and open the file <em>hana_sls<\/em>. The file looks quite complex, but we only need to change a few settings. Normally you would provide a more simple file with your dedicated settings, but as we want to do it automatically, we use this file.<\/li>\n\n\n\n<li>We need to change the PRIMARY_SITE_NAME with some name you want to set and also the name for the SECONDARY_SITE_NAME. You can change other settings, like passwords, but for a simple test, you can leave it. Save your changes and go back to the main directory.<\/li>\n\n\n\n<li>Now we are ready to run Terraform<br><code>az login<br>terraform init<br>terraform workspace new myname<br>terraform plan<br>terraform apply<\/code><\/li>\n<\/ul>\n\n\n\n<p>If you setup correctly, you will have an installed and running SAP HANA Systemreplication Cluster in Azure in around 40 minutes.<\/p>\n\n\n\n<p>As there is a jumphost when a public IP address is created, you simply can login to all machines from your machine with:<\/p>\n\n\n\n<p><code>ssh -J @jumphost &lt;adminuser@targethost&gt;<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2021\/01\/Azure-Infra-for-SaP.png\" alt=\"Azure Infrastructure for SaP\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>If everything is enabled, the resulting azure architecture will look like the above diagram. Hope you enjoyed this tutorial\u2014if you have any questions or feedback, please let me know in the comments below.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Why automation Maintaining a competitive advantage often depends on how quickly you can deliver new services. SAP applications are designed to help companies analyze data to anticipate new requirements and rapidly deliver new products and services. This gives you the ability to keep existing customers happy while attracting new business.<\/p>\n","protected":false},"author":5562,"featured_media":95491,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"msxcm_post_with_no_image":false,"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[2271,160,216],"content-type":[340],"topic":[2241,2244,2245],"programming-languages":[],"coauthors":[1745],"class_list":["post-83732","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-community-partners","tag-linux","tag-suse","content-type-tutorials-and-demos","topic-cloud","topic-devops","topic-infrastructure","review-flag-1593580362-584","review-flag-1593580428-734","review-flag-1-1593580432-963","review-flag-2-1593580437-411","review-flag-3-1593580442-169","review-flag-4-1593580448-609","review-flag-6-1593580457-852","review-flag-9-1593580473-997","review-flag-alway-1593580310-39","review-flag-disab-1706240524-342","review-flag-disab-1706240532-905","review-flag-free-1593619513-693","review-flag-new-1593580248-669"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Deploying SUSE SAP HA Automation in Microsoft Azure | Microsoft Open Source Blog<\/title>\n<meta name=\"description\" content=\"In this tutorial, learn how to deploy SUSE SAP HA Automation in the Microsoft Azure cloud.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deploying SUSE SAP HA Automation in Microsoft Azure | Microsoft Open Source Blog\" \/>\n<meta property=\"og:description\" content=\"In this tutorial, learn how to deploy SUSE SAP HA Automation in the Microsoft Azure cloud.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-21T16:35:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-23T18:14:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SUR22_Laptop4_COMMR_HigherEd_Contextual_192_RGB.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1170\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Peter Schinagl\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:site\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Peter Schinagl\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/\"},\"author\":[{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/author\/peter\/\",\"@type\":\"Person\",\"@name\":\"Peter Schinagl\"}],\"headline\":\"Deploying SUSE SAP HA Automation in Microsoft Azure\",\"datePublished\":\"2021-01-21T16:35:53+00:00\",\"dateModified\":\"2025-06-23T18:14:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/\"},\"wordCount\":2111,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SUR22_Laptop4_COMMR_HigherEd_Contextual_192_RGB.webp\",\"keywords\":[\"Community\/partners\",\"Linux\",\"SUSE\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/\",\"name\":\"Deploying SUSE SAP HA Automation in Microsoft Azure | Microsoft Open Source Blog\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SUR22_Laptop4_COMMR_HigherEd_Contextual_192_RGB.webp\",\"datePublished\":\"2021-01-21T16:35:53+00:00\",\"dateModified\":\"2025-06-23T18:14:37+00:00\",\"description\":\"In this tutorial, learn how to deploy SUSE SAP HA Automation in the Microsoft Azure cloud.\",\"breadcrumb\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#primaryimage\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SUR22_Laptop4_COMMR_HigherEd_Contextual_192_RGB.webp\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SUR22_Laptop4_COMMR_HigherEd_Contextual_192_RGB.webp\",\"width\":1170,\"height\":640,\"caption\":\"Three people collaborating in an office on laptops.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/opensource.microsoft.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploying SUSE SAP HA Automation in Microsoft Azure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"name\":\"Microsoft Open Source Blog\",\"description\":\"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability\",\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\",\"name\":\"Microsoft Open Source Blog\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft Open Source Blog\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/OpenAtMicrosoft\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deploying SUSE SAP HA Automation in Microsoft Azure | Microsoft Open Source Blog","description":"In this tutorial, learn how to deploy SUSE SAP HA Automation in the Microsoft Azure cloud.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/","og_locale":"en_US","og_type":"article","og_title":"Deploying SUSE SAP HA Automation in Microsoft Azure | Microsoft Open Source Blog","og_description":"In this tutorial, learn how to deploy SUSE SAP HA Automation in the Microsoft Azure cloud.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2021-01-21T16:35:53+00:00","article_modified_time":"2025-06-23T18:14:37+00:00","og_image":[{"width":1170,"height":640,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SUR22_Laptop4_COMMR_HigherEd_Contextual_192_RGB.png","type":"image\/png"}],"author":"Peter Schinagl","twitter_card":"summary_large_image","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Peter Schinagl","Est. reading time":"9 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/peter\/","@type":"Person","@name":"Peter Schinagl"}],"headline":"Deploying SUSE SAP HA Automation in Microsoft Azure","datePublished":"2021-01-21T16:35:53+00:00","dateModified":"2025-06-23T18:14:37+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/"},"wordCount":2111,"commentCount":1,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SUR22_Laptop4_COMMR_HigherEd_Contextual_192_RGB.webp","keywords":["Community\/partners","Linux","SUSE"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/","url":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/","name":"Deploying SUSE SAP HA Automation in Microsoft Azure | Microsoft Open Source Blog","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SUR22_Laptop4_COMMR_HigherEd_Contextual_192_RGB.webp","datePublished":"2021-01-21T16:35:53+00:00","dateModified":"2025-06-23T18:14:37+00:00","description":"In this tutorial, learn how to deploy SUSE SAP HA Automation in the Microsoft Azure cloud.","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SUR22_Laptop4_COMMR_HigherEd_Contextual_192_RGB.webp","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/SUR22_Laptop4_COMMR_HigherEd_Contextual_192_RGB.webp","width":1170,"height":640,"caption":"Three people collaborating in an office on laptops."},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2021\/01\/21\/deploying-suse-sap-ha-automation-in-microsoft-azure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Deploying SUSE SAP HA Automation in Microsoft Azure"}]},{"@type":"WebSite","@id":"https:\/\/opensource.microsoft.com\/blog\/#website","url":"https:\/\/opensource.microsoft.com\/blog\/","name":"Microsoft Open Source Blog","description":"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability","publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/opensource.microsoft.com\/blog\/#organization","name":"Microsoft Open Source Blog","url":"https:\/\/opensource.microsoft.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft Open Source Blog"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/OpenAtMicrosoft"]}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Open Source Blog","distributor_original_site_url":"https:\/\/opensource.microsoft.com\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/83732","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/users\/5562"}],"replies":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=83732"}],"version-history":[{"count":2,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/83732\/revisions"}],"predecessor-version":[{"id":97608,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/83732\/revisions\/97608"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/95491"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=83732"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=83732"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=83732"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=83732"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=83732"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=83732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}