Best Practice 2.1 – Use version control and configuration management
Configuration Management systems reduce errors caused by manual processes and reduce the level of effort to deploy changes. Doing so supports tracking changes, deploying new versions, detecting changes to existing versions, and reverting to prior versions (for example, rolling back to a known good state in the event of a failure). Integrate the version control capabilities of your configuration management systems into all your procedures across SAP – the infrastructure, the database, the application, and SAP custom code and developments (for example, ABAP, Java, and UI5/JavaScript).
Consider different version control systems for each type of configuration, but consolidate metrics into a central release planning tool. Consider how non-transportable configuration and binary versioning is managed across your environments (for example - how do you know that your SAP Kernel versions are aligned across your landscape?).
Suggestion 2.1.1 - Implement SAP change control or other third-party tools for managing your SAP development code and versioning
Ensure you implement change control for all development approaches and custom code that support your SAP applications - ABAP, Java, UI5/JavaScript, and any other extensions or scripting areas. Consider all your SAP applications and how you will orchestrate code deployment across multiple SAP deployment patterns (for example, how will you simultaneously release related developments hosted on AWS and SAP Business Technology Platform).
-
AWS Service: AWS CodeCommit
-
AWS Video: Introduction to AWS CodeCommit
-
SAP on AWS Blog: AWS DevOps tools for SAP, Part 1: Cloud Foundry
-
SAP on AWS Blog: AWS DevOps tools for SAP, Part 2: SAP Fiori Apps
-
SAP Documentation: SAP Change Control Management
-
SAP Documentation: Best Practices for SAP BTP - Lifecycle Management
Suggestion 2.1.2 - Implement configuration management systems for your SAP applications
Implement configuration management tools for ABAP, Java, and other SAP technologies and consider how non-transportable configuration and binary versioning is managed across your landscape (for example - how do you know that your SAP Kernel versions are aligned across your environment?). Use SAP Solution Manager to plan and implement configuration and version changes to your SAP applications.
-
SAP on AWS Blog: Maintain an SAP landscape inventory with AWS Systems Manager and Amazon Athena
-
SAP Documentation: Enhanced Change & Transport System (CTS+)
-
SAP Documentation: SAP Solution Manager: Planning Landscape Changes
Suggestion 2.1.3 - Implement configuration management systems for operating systems
Use AMI baking or in-place configuration management software such as Ansible, Chef or Puppet to align configuration management across your SAP workload operating systems. Consider security focused configuration management tools which will alert you to vulnerabilities and prompt you to keep your operating systems patched and hardened.
-
AWS Documentation: AWS Systems Manager - State Manager
-
AWS Documentation: Configuration management in Amazon EC2
-
AWS Documentation: What is AWS OpsWorks?
-
AWS Documentation: What is Amazon Inspector?
Suggestion 2.1.4 - Implement configuration management systems for databases
Work with your database software vendor to understand configuration management approaches for your database.
-
SAP Documentation: SAP HANA Platform Lifecycle Management
Suggestion 2.1.5 - Implement configuration management systems for infrastructure
Use infrastructure as code (IaC) approaches to provision and manage AWS resources supporting your SAP workloads. AWS CloudFormation and AWS Cloud Development Kit (AWS CDK) are tools you can use to provision and manage configuration in AWS resources programmatically.
Consider configuration audit and control tools such as AWS Config: Conformance Packs that allow you to deploy rules and policies to evaluate your infrastructure periodically to assess compliance and resolve any problems with applicable best practices and standards.
-
AWS Documentation: AWS Launch Wizard for SAP
-
AWS Documentation: AWS Systems Manager Inventory
-
AWS Documentation: AWS Systems Manager Change Manager
-
SAP on AWS Blog: Infrastructure as Code Example: Terraform and SAP on AWS
-
SAP Lens [Reliability]: Best Practice 11.3 - Define an approach to restore service availability