cancel
Showing results for 
Search instead for 
Did you mean: 

What is the best approach to manage environments in SCP? (DEV,QA,PRO)

0 Kudos

Hi Gurus,

First let me explain our scenario to be able to make this question clear. We are currently working on a single account which has 2 different subaccounts inside it. The first subaccount would be for Dev Environment while the second one’s purposes is for QA Environment.

At this point we’d like to “transport” our UI5 app from Dev Subaccount to QA Subaccount but there is no “standard way” according to what we had read.

Our options are:

1) Quick workaround (tricky one): Enabling WebIde on QA Subaccount just to import our project and Deploy it from here.

2) MTA’s way: Creating a new MTA app, embed our current UI5 app and doing all the stuff needed to deploy it as a service.

3) Git management (in the same subaccount): According to another people, they use Git to manage this “transport”, by using master branch as PRO app and having different branches per environment.

Then, having this 3 options, which one would be the “best practice” to deal with this?

Thanks in advance!

Accepted Solutions (1)

Accepted Solutions (1)

BorisZarske
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Aaron,

I would differentiate between manual (ad-hoc) and controlled deployment and decide based on your boundary conditions:

  • Manual would be 1+2, where you manually deploy, such as triggering the deployment of an MTA archive to a target sub-account (via CLI or SAP Cloud Platform Cockpit). If you consider 1) as tricky, this might already be a good indicator to consider MTA, as it should help to reduce deployment efforts via automatic interdependency handling etc. If you should not have an MTA archive in place yet, consider MTA templates for Cloud Foundry (in SAP Web IDE Full-Stack ) or the solution export wizard for Neo (in SAP Cloud Platform Cockpit), which allows you to select deployed components, add some metadata + then let the wizard create an MTA deployment descriptor or MTA archive.
  • Managed process would be the right approach, if you want to have more control and maybe also a separation of concern between development and ops. Generally speaking, besides Git management, you would have the option to use CI/CD (with the corresponding SAP Cloud Platform Best Practice Guide, Jenkins templates or in the future the SAP Cloud Platform Continuous Integration + Delivery service - currently in beta) or transport management (in the form of SAP Cloud Platform Transport Management service - planned to go GA beginning of December - or via integration into CTS+).

To decide on the available options, consider your requirements:

  • If you should have CTS+ already in use or have a hybrid app (hard interdependencies from your SAP Cloud Platform app to changes in your on-premise backends), consider CTS+.
  • If you want to have transport management for cloud-centric scenarios, consider SAP Cloud Platform Transport Management (offering transport management without need for an on-prem ABAP system to handle the transports).
  • If you desire CI/CD or have a corresponding infrastructure in place, apply CI/CD, optionally also complemented by transport management (where you gain agility with CI/CD for DEV/TST, but add control when it comes to propagate changes to PROD).

If you should have been at SAP TechEd, consider session CNA223 - "Managing Your Delivery Pipeline on SAP Cloud Platform" (hope we will soon have a recording of this session I could share).

I know that this now adds some further aspects instead of providing a simple answer, but wanted to make sure you have the full picture here :-).

Hope this helps nevertheless,
Boris

nabheetscn
Active Contributor
0 Kudos

Awesome feedback CNA223 will be available after SAPTechEd Bangalore?

BorisZarske
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Nabheet,

Thanks a lot! We already offered the CNA223 as Webinar after SAP Teched, which got recorded, so I hope to be able to share the corresponding link of that recording soon. Will keep you posted here!

Best regards,
Boris

Answers (1)

Answers (1)

Ivan-Mirisola
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Aaron,

All three options are valid. However, it depends on what level of Continuous Integration you need. If you need to automate the deploy process it would go for a combination of options 2 and 3. You could push the committed changes to your remote git from WebIDE using branches and let Travis or Jenkins retrieve the files for you, build the MTA and deploy it onto the other sub-account.

Just keep in mind that your developers will have to fully understand how git branches work and the implications of pushing committed changes to PROD.

SAP provides a new service called Continous Integration & Delivery that does it all for your. Please read more on the following blog:

https://blogs.sap.com/2018/06/04/introducing-sap-cloud-platform-continuous-integration-delivery/

https://developers.sap.com/sk/tutorials/ci-best-practices-intro.html

Best regards,
Ivan