Interplay of SAP Cloud Platform Transport Management, CTS+ and ChaRM in hybrid landscapes
Many customers are confused which tools to use when it comes to transporting content in hybrid (cloud and on premise) landscapes. This blog describes our recommendations when to use SAP Cloud Platform Transport Management service (TMS) and when to use enhanced Change and Transport System (CTS+). It also talks about how these tools can be combined with each other and with SAP Solution Manager Change Request Management (ChaRM) or Quality Gate Management (QGM).
Let’s start with some central statements:
- Transport Management (TMS) handles transport of development artifacts and application content in the cloud
- Enhanced Change and Transport System (CTS+) mainly deals with transport of non-ABAP content on premise
- TMS and CTS+ can peacefully coexist
- Both tools can be integrated into SAP Solution Manager Change Request Management (ChaRM) or Quality Gate Management
- TMS and CTS+ can also be combined with Continuous Integration Pipelines for handling the (Continuous) Delivery
As all of you know ‘the devil is in the details’, so let’s have a closer look.
The fine print
SAP Cloud Platform Transport Management
SAP Cloud Platform Transport Management (TMS) is THE solution for transporting content in SAP Cloud Platform (Neo and Cloud Foundry environment) and is generally available since December 2018. It is also available in a trial environment.
TMS is a service running in the Cloud Foundry environment, but the transport targets can be subaccounts in Neo environment , spaces in the Cloud Foundry environment and even tenants of multi-tenant enabled content runtimes like SAP Data Hub. The transports can be performed across global accounts and even between different regions (aka data centers).
The architecture of TMS allows the transport of any type of content by offering APIs to the consuming SAP Cloud Platform services or applications. This means that services which want to make TMS available for their content have to implement these APIs. As of December 2019 this has already been done for:
- SAP Cloud Platform Integration in the Neo environment
- Workflow in the Cloud Foundry environment
- SAP Fiori in the Neo environment
- Business Logging in the Cloud Foundry environment
- HTML5 repository in the Cloud Foundry environment
Besides that, TMS can transport development artifacts which can be packaged in Multi-Target Application (MTA) archives and SAP HANA delivery units if the SAP HANA database is hosted in SAP Cloud Platform.
For more details please have a look into the SAP documentation on TMS.
We will step-by-step increase the coverage of Transport Management for SAP Cloud Platform services. We also plan to use TMS for transporting application specific content of some of SAP’s SaaS solutions, for example SAP SuccessFactors.
On the other hand, we are not planning to extend the reach of TMS to on-premise systems (exceptions may apply to private cloud scenarios…).
In summary SAP Cloud Platform Transport Management will be further developed to cover a growing part of SAP Cloud Platform content and is therefore the way to go for customers planning to implement projects using SAP Cloud Platform services.
Enhanced Change and Transport System
The enhanced Change and Transport System (CTS+) has been available for many years to transport on premise non-ABAP content (like SAP Netweaver Development Infrastructure) via the ABAP Change and Transport System. You can model your non-ABAP systems as virtual systems in your transport landscape and connect them via transport routes.
This concept has been extended a few years ago to SAP Cloud Platform (Neo and Cloud Foundry environment). Please note that the ABAP server acting as CTS+ control system (in many cases an SAP Solution Manager) resides in your on premise data center even for the SAP Cloud Platform transports.
I have described setting up CTS+ for SAP Cloud Platform in this blog.
The basis for transporting SAP Cloud Platform content via CTS+ is the Multi-Target Application (MTA). The content to be transported is packaged into an MTA archive file and attached to the CTS+ transport request.
This in turn means that only cloud content that can be packaged into an MTA can be transported with CTS+. For a detailed list of which artifact types are covered by MTA see here for Neo and here for Cloud Foundry. Basically we are talking about development artifacts like HTML5 or NodeJS applications and some application content like SAP Cloud Platform Integration packages in the Neo environment.
We will continue to support the MTA based transport of SAP Cloud Platform content via CTS+ but we are not planning to extend the CTS+ coverage to other content types in SAP Cloud Platform or other SAP cloud based SaaS solutions.
So if you use MTA based content only in SAP Cloud Platform, CTS+ can be a valid choice.
Coexistence of TMS and CTS+
As I have written in the previous section CTS+ supports only SAP Cloud Platform artifacts which can be bundled into a Multi-Target Application. This is not the case for many service specific artifact types in SAP Cloud Platform. Therefore, there might come the time to use the cloud based Transport Management service and the on premise based enhanced Change and Transport System in parallel.
Technically this is not a problem, even when targeting the same subaccounts (or spaces) in SAP Cloud Platform. The challenge lies more on the governance level. A typical approach would be to clearly define which content types are transported with which tool. For the MTA enabled artifacts you have the choice between TMS and CTS+, whereas the rest always calls for TMS.
In the long run we recommend performing all cloud related transports via TMS and the on premise transports with CTS+.
Integration with SAP Solution Manager Change Request Management
In many cases an application involves several parts which run in separate systems in your landscape. A typical example would be a functionality running in a backend system (like SAP S/4HANA) running on premise which is extended by a nice frontend running on SAP Cloud Platform. These kinds of projects call for a hybrid change management covering all environments and allowing to synchronize the changes in the different systems respectively subaccounts or spaces.
We offer tools in SAP Solution Manager for this requirement, named Change Request Management (ChaRM) and Quality Gate Management (QGM). The good news is that both CTS+ and TMS can be integrated into the ChaRM or QGM processes.
The integration of CTS+ into ChaRM is available for quite a while so that MTA based CTS+ transports of SAP Cloud Platform content can be included into and managed via change documents in SAP Solution Manager. Via the central Change and Transport System (cCTS) it is even possible to make SAP Cloud Platform Neo subaccounts or Cloud Foundry spaces members of so-called system clusters which group several systems of different landscapes with the same role (development, test, production, …) into one ‘super-system’. The transports from the different source systems in the development cluster are also bundled forming so called transport collections. For more information about cCTS please check the corresponding SAP documentation.
The default configuration for this scenario would be that the SAP Solution Manager would not only run the Change Request Management functionality but would also be the central transport server for CTS+. Here it is important to know that the CTS+ integration of SAP Cloud Platform requires an SAP Netweaver release of 7.40 SP10 or above. Therefore, this setup requires an SAP Solution Manager 7.2 (but you all should have upgraded your SolMan 7.1 by now…).
The integration of SAP Cloud Platform Transport Management into ChaRM, however, is quite new. It has been released in December 2019 with SPS 10 for SAP Solution Manager 7.2. The configuration is described in this document on SAP Help Portal.
Basically, the TMS transport nodes are modeled as external services in SAP Solution Manager and then assigned to a solution. When using the integration, you can select which transport requests in TMS belong to a specific change document in Change Request Management. With this information SAP Solution Manager is able to trigger the imports into the corresponding subaccounts whenever the change document reaches the appropriate state, for example ‘To be tested’.
On the side of TMS the corresponding transport nodes are marked as being ‘controlled by SAP Solution Manager’. This prevents these nodes from performing imports directly from within TMS.
The overall architecture for using TMS and CTS+ with SAP Solution Manager looks like this:
Usage of TMS and CTS+ in CI pipelines
Development teams in SAP Cloud Platform very often make use of Continuous Integration processes by storing the development artifacts in a central source code repository like Git. Upon committing a change towards this source code repository a continuous integration server like Jenkins is triggered and runs a CI pipeline which involves steps like building the development artifacts, deploying them to a test environment, running automated tests and code scans, etc.
In the context of the project ‘Piper’ SAP offers pre-configured CI pipelines for typical scenarios and also a library of pipeline steps that can be used by you. These steps include the ones necessary to communicate with CTS+ and/or TMS. Built on these pipeline steps there are two template scenarios for using CTS+ or TMS in a Continuous Integration / Continuous Delivery context:
- Build and Deploy Hybrid Applications with Jenkins and SAP Solution Manager (based on CTS+)Architecture overview:
- Integrate SAP Cloud Platform Transport Management Into Your CI/CD PipelineArchitecture overview:
You should see enhanced Change and Transport System and SAP Cloud Platform Transport Management as two independent transport tools with different target environments. CTS+ (mainly) for on premise non-ABAP transports and TMS for transports in the cloud. In many hybrid environments both tools will be used in parallel. The overlap on Multi-Target Application based content allows for a smooth transition from CTS+ to TMS where needed.
An integration into higher level change management tools like SAP Solution Manager Change Request Management is possible for both, CTS+ and TMS. On the development side both tools can be integrated into Continuous Integration / Continuous Delivery scenarios.
I hope to have clarified the uses cases for CTS+ and TMS in the context of hybrid landscapes and look forward to your feedback and questions.
Thank you for the post, it gives a very good overview of possible integrations between ChaRM and SCP Transport Mgmt.
Can you please share more details on the following:
Thanks and best regards,
thank you very much for your feedback. Let me try to answer your questions:
The pricing in both cases is based on the data volume uploaded to TMS (imports are not charged separately). The cost is 18 EUR / month per 1 GB upload volume. Depending on the size of your artifacts this should be sufficient for dozens to hundreds of transports (and unlimited number of imports) per month.
One important scenario in our eyes is to use CI/CD for development and do a handover to TMS at the end of the pipeline and create a transport in this step. Here we are thinking of an automatic assignment of the transport request to the change document.
Thank you for the detailed reply; I will go through the links you have provided.
Thanks for the informative blog.
I have a couple of questions
C : +1 919 917 6873
Thank you for nice blog.
How does Transport Management in C/4HANA (Hybris/Cloud for customer) fit in this puzzle? As per my understanding its completely different and is not integrated with CHARM or other services. Please guide.
you are correct. In some of our SaaS solutions (C/4HANA being one of them) we find legacy transport tools which are more or less stand-alone. It is our ambition to unify all cloud transports using SAP Cloud Transport Management (and thus being available in ChaRM), but this will take some years (according to current plans...).
In our cTMS roadmap you can find the first SaaS solutions (SAP SuccessFactors solutions, SAP CPQ, SAP Ariba solutions) being planned for the second half of 2021. I am afraid C/4HANA will come not before 2022...
Thank you for your quick response. It helps.
Thank you for this blog - it answered many of my questions, but I have some related to this topic and the BTP account model setup. I hope you or someone here can offer suggestions.
Since a cloud foundry space has a 1:1 relationship to a virtual system in solution manager, we have to take into consideration availability of SIDs in the landscape. Also, in cloud foundry, we must specify a space in which to deploy application and service instances. Taking this into consideration, I think there are a few options..
Option 1 - Use one space for everything. When activating Work Zone, Mobile Services, Process Integration etc., specify the same space for everything. This requires only one SID, would be easier to manage, but provides the least control of entitlements and less granular reporting.
Option 2 - Specify separate spaces for each instance. For example, Work Zone in space "workzone", Mobile Services in space "mobile", Process Integration in space "PI", ABAP in space "customer", etc. This provides better control of entitlements, and reporting, but requires many new SIDs.
Option 3 - something between option 1 and option 2.
Are there other, more important factors that need to be taken into consideration?
Does it make sense to have something like option 2 in the development subaccount, and option 1 in QA and PROD... or vice versa?
Looking forward to hearing everyone's thoughts on this. Kind regards.
Thanks for this great blog. We have configured CTS+ direct method for transporting packages/artifact's from CPI on CF. Is it possible to integrate charm with CTS+ direct method.
If I have Cloud platforms with TMS and S/4 Hana on premise systems. Also Charm in use. Could I put those systems to same cycle which has cCTS activated?
I meant that does cCTS support Cloud Platform with TMS? I can see from the blod that If we have configured Cloud platform with CTS+ then cCTS could be used. But how about if Cloud platform use TMS?
when adding cTMS nodes to a solution landscape in ChaRM, it is unfortunately not possible to use central Change and Transport System (cCTS) for this landscape. This is only possible when using CTS+ for cloud transports, but then you are limited to MTA based content.
Thanks for bringing this scenario Leena.
I am starting the change management design for our S/4 journey and took for granted that cTMS would support cCTS.
Harald Stevens, is cTMS support of cCTS in the roadmap? If yes, when should we expect it?
is there any update on this for SFSF? is there a release date?
thanks a lot
unfortunately there are no news concerning this topic.
Please check our roadmap regularly. If there is a concrete implementation project we will publish it there.
Sorry and kind regards