Technical Articles
Migrate from Neo to Cloud Foundry – SAP Cloud Integration
This blog highlights the process with some screen shots of migrating integrations from a Neo tenant to Cloud Foundry tenant. More and more customers will be faced with this task in the upcoming months and years as they transition from SAP’s proprietary Neo platform into the open-source application platform Cloud Foundry environment.
Before you start: Read the SAP Cloud Integration migration guide, including prerequisites.
NOTE: The migration process itself is thoroughly documented so I try not to recreate this in this blog and rather share some experience with screen shots. You should always refer to the migration guide for your migration projects!
NOTE 2: Neo is not being retired and customers are being not forced to migrate to Cloud Foundry. You can find the strategy here for Neo and Cloud Foundry: https://blogs.sap.com/2020/07/27/sap-cloud-platform-moving-forward-on-our-multi-cloud-strategy/
Provision your new SAP Cloud Integration tenant on Cloud Foundry
Follow this blog in order to provision and setup your SAP Cloud Integration tenant on Cloud Foundry: Integration Suite – Simplified Onboarding and Provisioning | SAP Blogs
Instructions on how to configure your user access to the SAP Cloud Integration tenant is contained in the blog but for additional info you can follow the instructions at this link.
Before proceeding, you should be able to access the tenant with your user id.
Configure OAuth inbound authentication on Neo
The next step is to set up the authentication on Neo. We configure OAuth authentication for Postman to extract everything out of Neo.
Navigate to the BTP Cockpit, select the Global account and select the Neo tenant.
Choose Security->OAuth->Clients tab
Click Register New Client
Enter the details for the new token, including a secret key which will be used as a password.
Using the client ID from the previous step, navigate to Security->Authorizations and assign the user oauth_client_<client id> to the AuthGroup.IntegrationDeveloper and AuthGroup.Administrator roles.
Optional–Test the authentication using Postman
Launch the Postman application on your local client.
You can find the URL to use in Postman on the branding tab in the BCP Cockpit under Security->OAuth
In Postman, enter the URL, method POST and enter the client id and secret password entered previously.
Copy the value for “access_token”.
On the Authorization tab, set the Type back to “No Auth”
On the Headers tab, set another header “Authorization” with value “Bearer <access_token_value>”
Enter the URL:
https://<neotenant>-tmn.hci.us2.hana.ondemand.com/api/v1/MessageProcessingLogs
Configuring Authentication for Cloud Foundry
After setting up the Neo tenant, create an OAuth Client Credentials Grant on the tenant in Cloud Foundry.
Navigate to the Space, Services->Service Marketplace and search for Process Integration. Click Create.
Create a new instance.
Then create a service key (there is no need to assign roles in this step)
Performing the Technical Migration
Now you are ready to begin the migration.
First, in your Neo tenant, you should ensure that all all iFlows in all integration packages are NOT in a draft state and are versioned.
Next, download the compressed file from SAP Note 2937549 and extract it to a local folder on your computer.
In the extracted folder, open the file CPI MIG Settings.postman_environment and configure the parameters with the hostnames from the previous steps:
Save the file.
Now launch Postman and Import the folder by choosing:
File->New->Import Folder and select the unpacked folder
Make sure you have the correct environment selected so the proper hostnames and credentials are used.
You can check the progress and correct any errors needed along the way. I had to version a few iFlows to pas the Readiness Check which initially failed, as an example.
Since I only had a custom package, I skipped MIG step 03 of migrating SAP delivered packages.
After executing all of the collections, you should see your packages, value mappings, security credentials, etc. all migrated to the new CF tenant. For example, here is an iFlow package migrated:
NOTE: after you complete the migration, you will need to manually update the password of the security artifacts.
Now you would also need to modify any systems that call SAP Cloud Integration to use the new hostname and also update any firewalls or systems that whitelisted the Neo addresses to the Cloud Foundry ones.
I hope that you found this blog helpful. I will try to keep it updated it based on feedback and experiences moving forward.
Marty
Excellent Blog, Marty! Thank you for sharing!
Dear Marty,
first of all thank you for taking the time for sharing your knowledge with the community.
There is one question left:
Do you know if it is possible to migrate selected packages from Neo to the Cloud Foundry environment?
In the postman collection it looks like that all packages from the Neo environment are selected for the migration.
Best regards,
Timo
Hi Timo
I don't believe so, but you could either delete the packages from the target after migration or manually export/import the ones you need to migrate while letting the scripts do the rest.
Thanks,
Marty
Hi Timo,
As documented at https://help.sap.com/viewer/de9f95b388f1489abc3c7890a66bae2f/Cloud/en-US/e97a93d541ff45c6b513317ca3c5e620.html, now we have a "migratePackages" parameter, to provide the package ID that you want to migrate to the target system.
Regards,
Good one Marty!
Hello Marty! Amazing blog!
Thanks!!! I have a question, is there any "technical" difference in SCPI using Neo or CF?? Or both have the same functions??
Thanks
Joel
Hi Marty,
when i send get request to https://oauthasservices-xxxxxx.eu2.hana.ondemand.com/oauth2/api/v1 i became 404 Error. I have already took my Bearer token from first step but still i became error.
Thanks for this helpful Blog.
Burak
Hello Marty,
Is this the standard migration method even applicable today or any other method is available?
Thanks,
Vijay Konam
Hi all,
is this also migrating all the versions, or only the latest version of the iflow?
Only the latest.
Great Blog. POSTMAN is not reading my variables, I don't see the environment "credentials" and the environment file did not get imported. I don't know what I am missing?
Hi Marty,
We were able to establish connections (MIG010) and performed readiness checks (MIG020) successfully. However, when we run MIG030 - Variables, we receive the following error:
We have the source api oauth client registered on tmn and all relevant roles assigned, target service instance and keys correctly configured (plan is api, admin and integ dev roles are assigned to the instance).
Also, when we try to run the MIG031 - Certificate to user mappings, we get the following error:
Appreciate any help/ inputs.
Thanks,
Krishna
Hi Marty,
Recently the sunset of SAP BTP Neo was officially announced by SAP for end of 2028: https://d.dam.sap.com/a/ybmQiUC/External%20FAQ.pdf?rc=10 .
Regards,
Éder