Skip to Content
Technical Articles
Author's profile photo Boris Zarske

FAQ for SAP TechEd session DEV100 – Witness DevOps in Action with SAP BTP

Dear audience,

Thanks a lot to all that did join our session DEV100, where you could witness DevOps in action with SAP Business Technology Platform – live on November 16th or afterwards, by watching the recording!

If you should not have watched it yet, you can access the session recording here.

Information%20about%20session%20DEV100

We really had a large number of live participants and could therefore not answer all questions directly in the session. Also, we thought it would be a good idea to persist the relevant questions from the chat in a more structured way. I sorted the questions into three basic categories and added the minute when in the recording the question came up (to give you a little bit more context):

  • General:
    • Q: How can I try out the demoed scenario on my own?
      A: There are several blog posts from SAP experts that you could use:

    • Q: Which hyperscalers are supported by SAP BTP? [Minute 1]
      A: Please find more information on the SAP Multi Cloud Strategy here.
    • Q: How does DevOps relate to agile? [Minute 2]
      A: While DevOps is in general complementary to agile software principles, it is building on them. For example, you can find the CALMS acronym used to explain DevOps key principles, where ‘L’ stands for ‘Lean’. You can find more information here (external link).
    • Q: How can on-premise and cloud solutions be controlled in hybrid scenarios? [Minute 4]
      A: The options are outlined in this blog post. Especially for CI/CD with SAP Solution Manager, there will be an upcoming webcast in December, where you can register free-of-charge here.
    • Q: How can we achieve blue/green deployment for SAP BTP applications? [Minute 8]
      A: Deployment of Multitarget Application (MTA) supports blue-green deployment of so-packaged applications. One can use MTA deployment also in SAP Cloud Transport Management Service. This tutorial also guides through the build & deploy of an MTA app in the Cloud Foundry environment.
    • Q: Is there any difference when handling SAP Fiori or Java applications as MTA archives? [Minute 18]
      A: No, the tools will work the same.
    • Q: Which cloud services are involved into getting the demoed scenario running? [Minute 19]
      A: In the demoed scenario, we come from SAP Continuous Integration and Delivery service, go to SAP Cloud Transport Management, integrated into SAP Alert Notification service, which interplays with SAP Automation Pilot.
    • Q: Can we setup DevOps for On-Premise solution? [Minute 26]
      A: Yes, Git-enabled Change and Transport System (gCTS) enables CI/CD for ABAP on-premise development for SAP S/4HANA. If you want to learn more about this, here links to a recent webcast and to the gCTS documentation.
  • CI/CD:
    • Q: Can you trigger external pipelines from the SAP Continuous Integration and Delivery service? [Minute 9]
      A: No, this is not provided and would also not be planned.
    • Q: How is SAP Continuous Integration and Delivery service priced? [Minute 11]
      A: The billing metric in SAP Continuous Integration and Delivery Service is “compute_hours”. For more information, please visit SAP Discovery Center.
    • Q: Do you plan to also support CI/CD for SAP Integration Suite and SAP API Management content? [Minute 11]
      A: For SAP Integration Suite, we already provided a first pipeline in the SAP Continuous Integration and Delivery service – for more information, see the documentation.
      API Management content can be handled by SAP Cloud Transport Management service – content covered by the service is listed here.
    • Q: How is SAP Continuous Integration and Delivery service related to project ‘Piper’? [Minute 13]
      A: The Service is using project ‘Piper’ underneath, but doesn’t provide the full flexibility which comes from ‘Piper’.
    • Q: Does SAP Continuous Integration and Delivery service offer a CLI? [Minute 13]
      A: SAP Continuous Integration and Delivery doesn’t provide a CLI. Instead, you can use the API exposed by the service. More information can be found here.
    • Q: What is the benefit to use SAP Continuous Integration and Delivery service over standard Jenkins pipelines created otherwise (such as by using the SAP-internal Hyperspace offering)? [Minute 13]
      A: SAP Continuous Integration and Delivery simplifies and speeds up your CI/CD setup through predefined pipelines that are ready-to-use and follow SAP recommendations and best practices. It is a managed service – SAP hosts the underlying CI/CD infrastructure, so no own infrastructure as to be set up and operated.
    • Q: Is the pipeline presented in the session an SAP product? [Minute 14]
      A: The pipeline shown is coming from an SAP product – SAP Continuous Integration and Delivery.
    • Q: How can we integrate CI/CD with Azure DevOps? [Minute 14]
      A: The SAP Continuous Integration and Delivery Service is running on SAP BTP and provides ready-to-use pipelines for SAP specific scenarios. The service can not be integrated with Azure DevOps Pipelines. The open source project ‘Piper’ provides reusable set of step implementations as part of the shared library which can be integrated within Azure DevOps Pipelines.
    • Q: Is it possible to configure CI/CD pipeline when you have multiple development systems? [Minute 15]
      A: When using SAP Continuous Integration and Delivery with the Cloud Application Programming Model or the SAP Fiori pipeline, you can deploy to one space/Neo subaccount in the ‘Acceptance’ stage and in addition to an additional space/Neo subaccount in the ‘Release’ stage. Deployment to multiple development systems can be achieved by configuring multiple pipelines.
    • Q: How are integration artifacts handled via CI/CD? [Minute 16]
      A: The integration artifacts should be downloaded and stored in a git-based source code management system to be able to configure pipeline in SAP Continuous Integration and Delivery.
    • Q: Is there a feature like “pull request” to handle the peer review as part of SAP Continuous Integration and Delivery? [Minute 16]
      A: Currently not, but we are aware of this request and are further evaluating it.
    • Q: Can we use other Git-compatible services such as AWS CodeCommit? [Minute 19]
      A: Currently, we have some restrictions in regards of the Web Hook support with systems different than GitHub, BitBucket Server or GitLab. But if you want to schedule the run or trigger manually the pipeline, it should work.
    • Q: Can we implement CI/CD for integration with SAP Integration Suite iFlows as well? [Minute 27]
      A: Yes, please check the first version of this pipeline.
  • Transport
    • Q: How can I convince my colleagues to move away from change management approaches, such as being offered by Change Request Management? For what are they still required with agile approaches at hand? [Minute 3]
      A: For interdependencies and situations where you face more strict boundary conditions, change management approaches, such as being offered by Change Request Management, are in place in traditional SAP environments – although they do bring some overhead with them, they have proven that they can help to address corresponding demand for more control. Therefore, for certain enterprise environments, it is expected that you might still have the need to clearly define who is allowed to change what where and when, store that inside the system for auditing reasons and want to keep established decision gates. Overall, DevOps demands a cultural shift, which you anyhow won’t be able to accomplish over night in existing environments.
      Therefore, you could consider a mixed approach, at least for the time of transition: start with first agile, decoupled front-runner projects in parallel to existing approaches.
      Where more control is needed, consider if integration of your pipeline into transport management might suffice – allowing dev teams to benefit from automated pipelines, while still adding further control for the delivery into production.
      And if really change management is required for the time being, we also have you covered by allowing an integration in that regard, which should make the overall transition easier and smoother and will allow your existing teams to gain experience also with cloud changes.
      By time, those front-runner use cases will help to learn and to build confidence about how to cope with interdependencies in hybrid enterprise environments. So, a mixed approach shall help to break up existing patterns in the long run and to gain first experience: decoupled highly-agile projects with real CI/CD via automated pipelines, changes handled with an integration into transport management (where you benefit from both the feedback provided by an automated build pipeline and the additional control offered by transport management) – and higher-level change management, where really required and where it does bring value.
    • Q: Are there plans to transport role collections of SAP BTP subaccounts? [Minute 7]
      A: This is currently not planned. There is an open innovation request to enable transport of user roles/authorizations in SAP Customer Influence, for which you could vote here, if you consider it meaningful.
    • Q: Can we use transport management with Mobile Services to transport app config across sub-accounts? [Minute 14]
      A: Unfortunately, SAP Mobile Services content is currently not supported with SAP Cloud Transport Management.
    • Q: How can the transport process be integrated with change authorization processes that will meet external and internal audit requirements? [Minute 16]
      A: SAP Cloud Transport Management can be integrated with SAP Solution Manager Change Request Management (ChaRM) to enable high-level ITIL-compliant change management. We are also planning an integration with SAP Cloud ALM. SAP Cloud Transport Management also provides a detailed (downloadable) log of all transport actions that might fulfill basic audit requirements.
    • Q: How is the integration of SAP Cloud Transport Management done with project ‘Piper’ pipelines? [Minute 16]
      A: There is a corresponding scenario described as part of project ‘Piper’, which outlines the integration – also, you can find more information in the documentation in SAP Help Portal.
    • Q: Can transports also be handled with on-premise ABAP systems, without using a cloud solution? [Minute 17]
      A: It is possible to handle Multitarget Application (MTA) based content in SAP BTP also with the enhanced Change and Transport System (CTS+) which is ABAP based. The minimum requirement is SAP_BASIS 740 SP10, which should be no problem… Please see the How-To Guide here. Please note that we will not extend the reach of CTS+ beyond MTA, so that there will be cloud content types not covered by CTS+ (as compared to CTMS). Please also see the following blog post about hybrid landscapes.
    • Q: Is SAP Cloud Transport Management service linked to SAP Solution Manager? [Minute 19]
      A: You can use the service without SAP Solution Manager to control the propagation of cloud changes towards the production sub-account.
      In case change management capabilities from SAP Solution Manager should be in use (such as Change Request Management or Quality Gate Management), you have the option to integrate SAP Cloud Transport Management with those processes. For more information, see this blog post.
    • Q: Can we utilize the concept like transport group to send transport from DEV to 2 QA subaccounts in parallel? [Minute 19]
      A: Yes, it is possible to have several ‘outgoing’ transport routes from a node. If then a transport is imported into that node (or exported from a development node connected to several test nodes), the transport request is put into the import queues of all nodes which are connected to it via transport routes. The import into these nodes then has to be triggered individually (either manually or via a scheduled job) on a per node basis.
    • Q: Does SAP Cloud Transport Management service keep a history of the deployment files, for example the .mtar files? [Minute 19]
      A: Yes, the deployment files are persisted in CTMS. However, in order to not fill up the space quota assigned to each customer (currently 30 GB), the files are deleted automatically 30 days after they have been imported into the ‘last’ system (in effect, are not in an importable state in any import queue anymore). Before that, it is possible to reset the status of a transport request to ‘repeatable’ and redeploy an older version.
    • Q: Can we create a virtual system concept like DEV – QA – VPD (virtual prod) without having a real production sub-account set up and ready? [Minute 21]
      A: Yes, this is possible. The transport requests would stay in the import queue. You can import them later, after you have configured your PROD subaccount accordingly.
    • Q: Is it possible to upload the artifacts to transport management without using the CI/CD services in SAP BTP? [Minute 24]
      A: Yes, sure, you can also directly use SAP Cloud Transport Management service,  without pipeline. You can either manually trigger a transport (such as by uploading a change to the service) and we have closely-coupled integrations for several use cases. For example, for SAP Integration Suite, you can trigger a transport of a changed iFlow/iFlow package directly from the Web UI of SAP Integration Suite.
    • Q: What’s the benefit of using transport management in combination with the SAP Continuous Integration and Delivery service, as CI/CD can deploy to any environments in your landscape? [Minute 25]
      A: Of course, using an automated deployment also for delivery into your runtime is a valid option for many projects. Nevertheless, in enterprise environments, you will often face more strict boundary conditions, where you have to control who is allowed to perform deployments where and when – and where you will have provide transparency on changes, such as for auditing reasons. With SAP Cloud Transport Management service, you can specify exactly that – pre-defining delivery landscapes and with this making sure that your changes will flow only along those in a traceable way. And defining who is allowed for each target subaccount to come up with transports and who is allowed then to perform the corresponding deployment. Performed changes to the landscape are then stored in log files – both for landscape changes and for transports. On top of that, hand-over into transport management allows to integrate into (potentially already existing) change management processes – for example, where you might have defined quality gates or have the need to use change documents. In SAP Cloud Transport Management, you could specify if single nodes of your delivery landscape would be handled by SAP Solution Manager. With change management, you could also synchronize transports on-premise with changes in the cloud – such as to make sure that the new app version does not reach your production subaccount, before also the updated ABAP enablement did reach the production backend system. Again, does only make sense if you have direct interdependencies that you have to handle, but then a good approach got gain that additional control in hybrid scenarios, where you can stick to existing processes and enrich them also with control over cloud changes.
      Overall, transport management allows you to get additional control on several levels and can also establish some kind of governance, predefining delivery landscapes, where a delivery manager would approve changes towards production and where information on changes gets stored inside the system, for auditing reasons.

 

In the next days, we will add further questions where we are still working on formulating good answers, so please follow the blog post to get notified of changes.

If further questions should have come up after watching the recording, please feel free to post them here as comment.

Thank to our co-hosts Jacek Klatt, Irina Kirilova and Dimitar Donchev, who actively contributed to our session and did a great job in supporting us in the live chat. They were so kind to also support with the questions here in this blog post!

Last but not least: a big THANK YOU again to you for your outstanding interest in our session and topic! Really looking forward to engage and to make this journey towards efficient DevOps in SAP environments together,
Harald & Boris

 

Assigned Tags

      5 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Sergei Chevtsov
      Sergei Chevtsov

      Is it possible to implement Continuous Delivery (i.e. an automated path from DEV to PROD) without TMS?

      Author's profile photo Boris Zarske
      Boris Zarske
      Blog Post Author

      Hi Sergei,

      Thanks a lot for breaking the ice here! Sure, our pipelines also offer corresponding delivery stages, where you could specify also production environments - corresponding pipeline runs then trigger a deployment into the specified delivery sub-account.

      So, integration into transport and change management is only an option, allowing you to take the right approach for your boundary conditions:

      • Highly automated by using a build and delivery pipeline (supported both by SAP Continuous Integration and Delivery service and project 'Piper')
      • Controlled hand-over from a pipeline into transport management (also out-of-the-box, such as with an option in the delivery stage of pipelines in SAP Continuous Integration and Delivery service) or usage of transport management without pipeline, in case you need more control on who performs which changes in which sub-account and when (and want this information stored inside the system, such as for auditing reasons)
      • Integration from transport into change management, such as being offered by SAP Solution Manager (or into third-party approaches, using the APIs from SAP Cloud Transport Management service) - in case you already have corresponding processes in place or want to handle interdependencies between on-premise and cloud changes, where you can propagate changes in hybrid clusters towards your hybrid DEV, TEST, PROD landscapes.

      So, whatever your boundary conditions concerning required control towards production look like, we have you covered.

      Best regards,
      Boris

      Author's profile photo Vigneshwaran Odayappan
      Vigneshwaran Odayappan

      Thanks for the great session. I have question regarding the integration of Cloud TMS in the external pipelines which runs neither on Piper(Jenkins) nor using the CI/CD Services in the BTP. There are Cloud TMS APIs available in the sap business hub which could be consumed to integrate the TMS in the external pipelines. Thus, I would like to know if SAP has or plans to build libraries or tools to make this integration possible?

      Author's profile photo Boris Zarske
      Boris Zarske
      Blog Post Author

      Hi Vigneshwaran,

      Thanks a lot for your question and for joining our session!

      You are right, for an integration into non-Jenkins pipelines, we do offer the open APIs from SAP Cloud Transport Management service, as exposed here in the SAP API Business Hub.

      Please be aware of that we are working on making more and more parts of project 'Piper' available also for non-Jenkins infrastructures - for example, we are in the process to migrate our step library towards Golang, which shall allow to use it also in non-Jenkins environments. Accordingly, we also are working on migrating the tmsUpload step, which would allow you to take a look at the corresponding Piper scenario.

      Another option might be to look at the Piper Docker images to use project 'Piper' in non-Jenkins infrastructures.

      If you should have an idea how we could further ease the integration, please do not hesitate to reach out!

      Thanks a lot again,
      Boris

      Author's profile photo Vigneshwaran Odayappan
      Vigneshwaran Odayappan

      Hallo Boris,

      Thanks for the response.

      My initial thought on this integration was to build a NPM module which could do the job. However, there is a CF Cli plugin which already supports the deployment of artefacts on BTP and could extending or creating a new plugin with tmsUpload step be a possible solution allowing external non-Jenkins pipelines to integrate TMS?