Using Azure BLOB for storing files in SAP
This blog post has been drafted with support by Dharshan A from SAP.
Storage Systems in Enterprises
Data Storage is an important topic in today’s enterprise systems. Availability, cost and scalability are crucial factors in determining the right storage systems for a company’s data. SAP systems have often a need to communicate with external storage systems. These systems hold data complementary to the business data in SAP. Like for example – a storage system stores the direct customer invoice, automatically scanned as PDF document, which is linked to a billing document in SAP S/4HANA or SAP ERP. Although such storage systems have been operating for a while, the scenario is undergoing a paradigm shift with cloud storages.
SAP ILM (Information Lifecycle Management) is a component of SAP Netweaver which among other functionalities has – ILM Store. This functionality allows an SAP system (like SAP ERP or SAP S/4HANA for example) to connect to different types of storage systems to store and read files. The most common types of files are –
- Archive files – These are files with “.adk” extensions created from Data Archiving component in the SAP system. The archive files contain older business data, taken out of the database for performance and compliance reasons.
- Unstructured content – These refer to all the documents such as PDF invoices, fax documents etc; which are linked to business objects in SAP. The systems which store these documents are referred to as “Content Repositories” by SAP system.
Both these types of files were supported even before the ILM Store functionality was introduced. However, ILM Store introduces functionality where different types of storage mediums can be used as a storage system for archive files and as content repositories. ILM Store contains:
- Published Interface – A well-defined interface where new types of storage systems can be “plugged in” to the existing processes in SAP source system. This guarantees seamless integration in SAP system, regardless of the actual storage location of the file.
- Pre-built Adapters – Off the shelf adapters built for specific storage mediums. The product supports – SAP IQ, SAP HANA, Hadoop and file system as storage systems.
Origin is an important entity in configuring ILM Store. An origin helps the ILM Store to segregate and store the files in the right storage system. For example, an origin will usually be the logical system for archive files (xyzclnt100 for system XYZ client 100) and the content repository name – like say “CR” for storing the unstructured content. Using the origin, different types of storage systems can be used together – like all archive files should be stored in SAP IQ, while the unstructured content should be stored in Hadoop, for example.
Below is a schematic illustration:
Storage of Archive file in Azure BLOB – Technical Landscape
The Azure adapter is built as a package from SAP DMLT organization, based on the interface defined by ILM Store. Hence, it’s an enhancement and doesn’t cause any modifications. However, the package will always need to be adapted to the specific customer release versions due to inherent differences in the underlying technical platform capabilities, which are release specific.
DMLT stands for Data Management and Landscape Transformation – an organization in SAP which offers a holistic approach for all data-related needs with data quality and data integration services.
There are two deployment options as illustrated below:
Option 1(Integrated) – In this deployment approach, the ILM Store component in the source system (like SAP S/4HANA or SAP ERP) is itself used to connect to Azure BLOB. The advantage of this approach is that additional instances for ILM Store is not needed. However, the source system needs to have the right release levels to support ILM Store functionality. Also, the options for performing performance optimizations are somewhat limited compared to option 2.
Option 2(Centralized) – In this deployment model, the ILM Store functionality activated in a separate instance and the source SAP systems connect to the ILM Store system via HTTP. The advantage of this deployment is that the ILM Store instance can be upgraded/patched independent of the source systems. Also, performance optimizations are possible by adjusting the resources on the ILM Store system. This is a recommended approach if there are multiple source systems.
Archiving entities in Azure BLOB – Nomenclature
Azure BLOB has the following entities in order to organize the storage:
- Account: This refers to the storage account. The base URI includes the storage account. It is recommended that there are at least two accounts per source system – one for the ADK (archive) files and the other for storing the attachments (content repository).
- Container: This entity is a logical “folder” which in turn contains the actual BLOB’s. In the ILM usage, the container is dynamically controlled by the ILM Store functionality. New containers are created as required/configured. There is no need to change the default configuration in ILM Store unless there is a specific requirement to do so.
- BLOB: This is the ADK file or the attachment. The ADK files are un-readable without the SAP system since it’s a binary format file.
Configuration of Azure BLOB as storage in ILM
This section explains the overall steps in order to get the Azure BLOB configured as an ILM Storage. Below are steps:
Refer to the link below on more information about the ILM Store configurations. After creating the origin, the configuration program present in the Azure BLOB interface package needs to be run:
For archive files, the ILM Store needs to be finally defined in the transaction – ILMSTOREADM. Here the RFC created for the ILM Store needs to be specified.
For content repository, a content repository needs to be defined in transaction OAC0 with the storage type as “ILM DB Store”.
Advantages of cloud storage
Here are some advantages of cloud storage for Data Archiving in SAP:
- Cost: Cloud storage services offer attractive pricing often compared to on-premise solutions. Hence cost can be a strong motivation to adopt cloud storages.
- Flexibility: As the data size grows, the archive files will also grow. A cloud storage is very flexible in being able to support more data storage compared to on-premise solutions.
- Maintenance: A cloud storage will require no specific efforts to backup/maintain/patch.
In the current trend of growing importance of cloud storage, enterprise systems are increasing adopting cloud storage to address their growing need for data storage. This article provides an overview of how Azure BLOB by Microsoft can be used a storage system for various needs in an SAP system.
The solution is meant to use a direct connection to Microsoft Azure BLOB, from SAP systems. This makes the solution more attractive, compared to scenarios where there is a need of an additional system as storage system. Please reach out to the authors of this article if more details are needed.
If you need more information about how to obtain the Azure interface package from DMLT, please send an email to: mailto:email@example.com
Here are some links to get more information:
Microsoft Azure BLOB API – https://docs.microsoft.com/en-us/rest/api/storageservices/blob-service-rest-api
ILM Store configuration guide – https://help.sap.com/doc/9d5eea9dcf2f40dfac58b15c1f33a984/7.0/en-US/Installation_and_Configuration_Guide_for_the_ILM_Store.pdf
Blog Post on ILM Store configuration – https://blogs.sap.com/2018/03/12/ilm-store-configuration/
Information on DMLT services – https://support.sap.com/en/offerings-programs/support-services/data-management-landscape-transformation.html
Information on SAP ILM services of DMLT – https://support.sap.com/en/offerings-programs/support-services/data-management-landscape-transformation/information-management-governance.html
Data Volume Management – https://wiki.scn.sap.com/wiki/display/TechOps/Data+Volume+Management