Skip to content

Commit 2794885

Browse files
authored
Merge pull request #261394 from KimForss/main
Update main doc
2 parents 916f35a + a050464 commit 2794885

File tree

2 files changed

+71
-32
lines changed

2 files changed

+71
-32
lines changed

articles/sap/automation/deployment-framework.md

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -73,53 +73,50 @@ The application configuration is performed from the deployment agents in the con
7373

7474
For more information about how to configure and deploy the control plane, see [Configure the control plane](configure-control-plane.md) and [Deploy the control plane](deploy-control-plane.md).
7575

76-
## Software acquisition process
77-
78-
The framework also provides an Ansible playbook that can be used to download the software from SAP and persist it in the storage accounts in the control plane's SAP library resource group.
79-
80-
The software acquisition is using an SAP application manifest file that contains the list of SAP software to be downloaded. The manifest file is a YAML file that contains the:
81-
82-
- List of files to be downloaded.
83-
- List of the product IDs for the SAP application components.
84-
- Set of template files used to provide the parameters for the unattended installation.
85-
86-
The SAP software download playbook processes the manifest file and the dependent manifest files and downloads the SAP software from SAP by using the specified SAP user account. The software is downloaded to the SAP library storage account and is available for the installation process.
87-
88-
As part of the download process, the application manifest and the supporting templates are also persisted in the storage account. The application manifest and the dependent manifests are aggregated into a single manifest file that is used by the installation process.
89-
9076
### Deployer VMs
9177

9278
These VMs are used to run the orchestration scripts that deploy the Azure resources by using Terraform. They're also Ansible controllers and are used to execute the Ansible playbooks on all the managed nodes, that is, the VMs of an SAP deployment.
9379

94-
## About the SAP workload
95-
96-
The SAP workload contains all the Azure infrastructure resources for the SAP deployments. These resources are deployed from the control plane.
97-
98-
The SAP workload has two main components:
99-
100-
- SAP workload zone which is used for the shared resources for the SAP systems
101-
- SAP systems
10280

10381
## About the SAP workload zone
10482

105-
The workload zone allows for partitioning of the deployments into different environments, such as development, test, and production. The workload zone provides the shared resources (networking and credentials management) to the SAP systems.
83+
The workload zone allows for partitioning of the SAP systems deployments into different environments, such as development, test, and production. The workload zone provides the shared resources (networking and credentials management) that are used by the SAP systems.
84+
85+
You would typically create a workload zone for each unique Azure Virtual network (VNet) that you want to deploy the SAP systems into.
10686

10787
The SAP workload zone provides the following services to the SAP systems:
10888

10989
- Virtual network
11090
- Azure Key Vault for system credentials (VMs and SAP accounts)
11191
- Shared storage (optional)
11292

93+
It is recommended to deploy the workload zone into a spoke subscription in a [hub-and-spoke architecture](/azure/architecture/reference-architectures/hybrid-networking/hub-spoke) and use a dedicated deployment credential for each workload zone.
94+
11395
For more information about how to configure and deploy the SAP workload zone, see [Configure the workload zone](configure-workload-zone.md) and [Deploy the SAP workload zone](deploy-workload-zone.md).
11496

115-
## About the SAP system
97+
## About the SAP systems
11698

117-
The system deployment consists of the VMs that run the SAP application, including the web, app, and database tiers.
99+
Each SAP system is deployed into a dedicated resource group and they use the services from the workload zone.
118100

119-
The SAP system provides VM, storage, and support infrastructure to host the SAP applications.
101+
The SAP system deployment consists of the VMs and the associated resources required to run the SAP application, including the web, app, and database tiers.
120102

121103
For more information about how to configure and deploy the SAP system, see [Configure the SAP system](configure-system.md) and [Deploy the SAP system](deploy-system.md).
122104

105+
106+
## Software acquisition process
107+
108+
The framework also provides an Ansible playbook that can be used to download the software from SAP and persist it in the storage accounts in the control plane's SAP library resource group.
109+
110+
The software acquisition is using an SAP application manifest file that contains the list of SAP software to be downloaded. The manifest file is a YAML file that contains the:
111+
112+
- List of files to be downloaded.
113+
- List of the product IDs for the SAP application components.
114+
- Set of template files used to provide the parameters for the unattended installation.
115+
116+
The SAP software download playbook processes the manifest file and the dependent manifest files and downloads the SAP software from SAP by using the specified SAP user account. The software is downloaded to the SAP library storage account and is available for the installation process.
117+
118+
As part of the download process, the application manifest and the supporting templates are also persisted in the storage account. The application manifest and the dependent manifests are aggregated into a single manifest file that is used by the installation process.
119+
123120
## Glossary
124121

125122
The following terms are important concepts for understanding the automation framework.

articles/sap/automation/tutorial.md

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ A valid SAP user account (SAP-User or S-User account) with software download pri
158158
159159
To run the automation framework, update to the following versions:
160160
161-
- `az` version 2.4.0 or higher.
161+
- `az` version 2.5.0 or higher.
162162
- `terraform` version 1.5 or higher. [Upgrade by using the Terraform instructions](https://www.terraform.io/upgrade-guides/0-12.html), as necessary.
163163
164164
## Create a service principal
@@ -214,14 +214,56 @@ When you choose a name for your service principal, make sure that the name is un
214214
> [!IMPORTANT]
215215
> If you don't assign the User Access Administrator role to the service principal, you can't assign permissions by using the automation.
216216
217+
## Configure the control plane web application credentials
218+
219+
As a part of the SAP automation framework control plane, you can optionally create an interactive web application that assists you in creating the required configuration files and deploying SAP workload zones and systems using Azure Pipelines.
220+
221+
:::image type="content" source="./media/deployment-framework/webapp-front-page.png" alt-text="Screenshot of Web app front page.":::
222+
223+
224+
### Create an app registration
225+
226+
If you would like to use the web app, you must first create an app registration for authentication purposes. Open the Azure Cloud Shell and execute the following commands:
227+
228+
Replace MGMT with your environment as necessary.
229+
230+
```bash
231+
echo '[{"resourceAppId":"00000003-0000-0000-c000-000000000000","resourceAccess":[{"id":"e1fe6dd8-ba31-4d61-89e7-88639da4683d","type":"Scope"}]}]' >> manifest.json
232+
233+
app_registration_app_id=$(az ad app create \
234+
--display-name MGMT-webapp-registration \
235+
--enable-id-token-issuance true \
236+
--sign-in-audience AzureADMyOrg \
237+
--required-resource-access @manifest.json \
238+
--query "appId" | tr -d '"')
239+
240+
webapp_client_secret=$(az ad app credential reset \
241+
--id $TF_VAR_app_registration_app_id --append \
242+
--query "password" | tr -d '"')
243+
244+
echo "App registration ID: ${app_registration_app_id}"
245+
echo "App registration password: ${webapp_client_secret}"
246+
247+
rm manifest.json
248+
```
249+
250+
Copy down the output details. Make sure to save the values for `appId`, `password`, and `Tenant`.
251+
252+
The output maps to the following parameters. You use these parameters in later steps, with automation commands.
253+
254+
| Parameter input name | Output name |
255+
| ------------------------- | --------------------------------- |
256+
| `app_registration_app_id` | `App registration ID` |
257+
| `webapp_client_secret` | `App registration password` |
258+
217259
## View configuration files
218260

219261
1. Open Visual Studio Code from Cloud Shell.
220262

221-
```cloudshell-interactive
222-
cd ~/Azure_SAP_Automated_Deployment/WORKSPACES
223-
code .
224-
```
263+
```cloudshell-interactive
264+
cd ~/Azure_SAP_Automated_Deployment/WORKSPACES
265+
code .
266+
```
225267

226268
1. Expand the `WORKSPACES` directory. There are five subfolders: `CONFIGURATION`, `DEPLOYER`, `LANDSCAPE`, `LIBRARY`, `SYSTEM`, and `BOMS`. Expand each of these folders to find regional deployment configuration files.
227269

@@ -376,7 +418,7 @@ You need to note some values for upcoming steps. Look for this text block in the
376418
#########################################################################################
377419
```
378420

379-
1. Go to the [Azure portal](https://portal.azure.com).
421+
2. Go to the [Azure portal](https://portal.azure.com).
380422

381423
Select **Resource groups**. Look for new resource groups for the deployer infrastructure and library. For example, you might see `MGMT-[region]-DEP00-INFRASTRUCTURE` and `MGMT-[region]-SAP_LIBRARY`.
382424

0 commit comments

Comments
 (0)