Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
ceylino
Advisor
Advisor

Cloud Connector Demo


Abstract


This blog will demonstrate how you can setup an easy integration between your on-premise systems and cloud services like SAP AI Core, using the Cloud Connector. Using the cloud, you stay future-proof and up-to-date and can run resource-heavy AI workloads in the cloud at lower costs without any upfront investment.

Overview


If you are not familiar with SAP AI Core and SAP AI Launchpad yet, here is a quick intro:

SAP AI Core is SAP’s runtime for heavy-load AI. It allows you to train and deploy your AI models cost-efficiently at scale. Make your choice from a broad range of storage, CPU and GPU service plans and benefit from auto scaling and accelerated performance with GPU support.

SAP AI Launchpad is the central application to access and manage your AI use cases. Connect to multiple runtimes, such as SAP AI Core, and streamline the AI lifecycle management of your use cases. Leverage SAP AI Launchpad to monitor your models and continuously improve their performance.

Both services enable customers to realize the full potential of deploying and managing their AI use cases. To provide better integration with on-premise systems, SAP AI Core enables users to access data from SAP HANA systems for training and serving using the Cloud Connector.

 


This diagram shows Connectivity Service is part of SAP BTP which offers SAP AI Launchpad and SAP AI Core as services on the left. On the right, we have the SAP HANA as our on premise system which has Cloud Connector set up which can communicate with the Connectivity Service and open a secure tunnel to bypass the firewall.



What is Connectivity Service?


The Connectivity Service provides two components to access on-premise systems:

  • Cloud Connector which serves as a link between SAP BTP applications and on-premise systems (hosted on the on-premise application side)

  • Connectivity Proxy which is a Kubernetes component that connects workloads running on a Kubernetes cluster to on-premise systems that are exposed via the Cloud Connector (hosted on the Kubernetes cluster side)



This diagram shows how the Connectivity Service, Connectivity Proxy and Cloud Connector are connected to each other.


 

Why is this important?


Communication between SAP AI Core which is hosted on a Kubernetes cluster and an on-premise system is not permitted as there is a firewall which blocks any transfer of data. This is a problem because this makes accessing data from an on-premise system such as the SAP HANA database and using it for training or testing purposes on SAP AI Core service impossible. Connectivity Service allows data from an on-premise system to be accessible by a cloud service such as SAP AI Core. This is done by opening a secure tunnel between the two.

What is the purpose of this demo?


This demo outlines how through the use of Cloud Connector, executions and deployments on SAP AI Core can use data and services of on-premise systems that are otherwise publicly inaccessible.

Connectivity Proxy already handles the creation of auth secrets, making it simple to directly use client_id, client_secret and token_service_url that are provided by the Connectivity Proxy instance. Together, these keys can be used to create the jwt token that is needed to connect SAP AI Core to Cloud Connector.

TLDR:


Prerequisites to running this demo:

  • subscribe to an SAP AI Core instance on SAP BTP

  • create a Connectivity Proxy instance and service key on SAP BTP

  • set up an on-premise network

  • have Cloud Connector deployed on the on-premise network


Demo Setup Instructions



  1. Set up Cloud Connector on the on-premise system by deploying the Dockerfile: https://github.com/nzamani/sap-cloud-connector-docker/blob/master/Dockerfile

  2. Have some service running on the on-premise system like a application or database such as SAP HANA (in our case, we have a simple hello world REST service running)

  3. Have a Connectivity Proxy instance running on SAP BTP, create Connectivity Proxy Secrets json here, which will include client_id, client_secret and token_service_url (will be used in the AI Core workflow template to create a jwt token)

  4. Already have an SAP AI Core instance deployed and running on the Kubernetes side

  5. Connect Cloud Connector to SAP BTP subaccount for SAP AI Core

    1. You can refer to the Cloud Connector Setup instructions here: https://help.sap.com/docs/CP_CONNECTIVITY/cca91383641e40ffbe03bdc78f00f681/e7d4927dbb571014af7ef6ebd...



  6. Now you are ready to run the demo.ipynb


Resources 


Cloud Connector demo repository:


https://github.com/SAP-samples/ai-core-samples/tree/main/06_Cloud_Connector_Demo

Demo Video


Connectivity service makes it possible to communicate between SAP AI Core and on-premise systems such as SAP HANA by opening a secure tunnel between the two. This is important because SAP AI Core executions and deployments are able to use data and services of on-premise systems that are otherwise publicly inaccessible.

Before starting the demo video, the pre-requirements already include that the user has a connectivity proxy instance created on SAP BTP as well as creating the authentication secrets. This would take care of auth secrets automatically and the demo video shows how to use these secrets on the SAP AI Core side.

Since setting up the connectivity proxy on SAP BTP is very simple we will focus on the Cloud Connector component and walk you through the setup in the video.


Conclusion


Hopefully you now have an understanding of how easy it is to use Connectivity Service to create a secure connection which bypasses the firewall and connects a cloud service such as SAP AI Core and an on-premise system specifically through the use of the Cloud Connector and Connectivity Proxy.

With the samples repository, jupyternotebook and the demo video, you can also give this a try yourself and adapt the use of Cloud Connector in your own cloud to on-premise projects as well!

Happy coding 😊

 











This blog post only provides a high-level overview of how to set up and use Connectivity Service, more specifically Cloud Connector with SAP AI Core. You can find more details in the SAP Help Portal and the respective pages for SAP AI Core & SAP AI Launchpad.

If you have any questions, you can comment below or post a question with the SAP AI Core or SAP AI Launchpad tag and check the blog posts about SAP AI Core and SAP AI Launchpad.

Also check out our SAP Road Map Explorer to see more upcoming features.

For more information on SAP AI Core & SAP AI Launchpad:






3 Comments
0 Kudos
Hi Ceylin, I tried to replicate the same scenario but for me it's getting error in get_jwt_token method in main.py file as there is some mismatch between the passed values from Connectivity proxy instance from BTP.  Is it possible you can share the connectivity proxy instance details that you have utilized in your program so i can try to compare with values that i have in my instance.
ClaudiusHantke
Discoverer
0 Kudos

Thanks for the blog!
I have the following questions:

Which protocol do you use in Cloud Connector for your On-Prem HANA DB?
TCP or HTTPS?

felixbartler
Product and Topic Expert
Product and Topic Expert
0 Kudos

@ClaudiusHantke HANA DB would require TCP.