Is SAP Cloud Platform a real Cloud Foundry Platform?
The title is a little bit strange, but actually this is a question that I been asked few times in my daily job.
I can understand the reason why people ask this question, maybe SAP Cloud Platform Cloud Foundry is an SAP interpretation of the Open Source Cloud Application Platform, so how will this affect my long term strategy?
For this reason, I decided to write down a simple blog that would try to give an easy answer to this question and clarify most of the initial questions around SAP Cloud Platform for your multi-cloud strategy based on Cloud Foundry.
Let’s start from a very high level architecture view:
This picture is really easy to understand and highlights that SAP Cloud Platform core is 100% based on Cloud Foundry (orange boxes), SAP in addition provides several (so many to be listed) enterprise ready services for simplifying the Digital Transformation of enterprises with no pain.
If we look more closely, we can see that administrators can use either the SAP Cloud Platform cockpit or the Cloud Foundry CLI (Command Line Interface), so everything you need is available via the standard Cloud Foundry console.
At this point the developer in me wants more, I want to verify it!
My challenge is to deploy an open source project based on Cloud Foundry foundation on SAP Cloud Platform using the standard Cloud Foundry CLI.
Step 1. Prerequisite
A Cloud Foundry space in SAP Cloud Platform
This is pretty straightforward, you just need to connect to https://account.hanatrial.ondemand.com and login with your P-user / S-user and activate your 90 days free SAP Cloud Foundry trial instance.
The Cloud Foundry Command Line Interface (CLI)
Open Cloud Foundry GitHub page https://github.com/cloudfoundry/cli#downloads and follow instructions to download and install the cf CLI. You don’t need to configure at this point, we will do it together in the next step.
Before starting let’s check our installation of the CLI, open the command prompt and type
You should see the CLI help, this is to assure that your path is setup correctly
Understand the domain model
The domain model is a key component of every Cloud Foundry Platform. Each Cloud Foundry instance will have at least one organization and one space. I’m not going to copy and paste the official Cloud Foundry, but I’ll give you the link (Have you noticed? It is the official Cloud Foundry documentation not SAP help page 🙂 ) if you want to deep dive in more details.
What you need to know is that SAP cloud Platform is conform with this structure:
- A company can have multiple Global Accounts and each of them will be billed separately.
- Each Global Account have at least one Sub-Account, that correspond to an Organization and resides in a Region and controls which services are available and the resource available for each of them (Entitlements)
- Each Organization have at least one Space, that is the area where your applications run and services are instantiated.
Step 2. Connect our local client to the cloud
We do not need any other preliminary, let’s get into the action.
Configure API endpoint
It’s time to connect to our SAP Cloud Platform instance.
First we need to setup the API endpoint in the Cloud Foundry Client, this is in your SAP Cloud Platform Sub-Account overview page
Once we have this, let’s go back to the console and finish the job!
C:\Users\<your_user>>cf api https://api.cf.us10.hana.ondemand.com
Login to Cloud Foundry instance
As suggested, the next step is to login to our Cloud Foundry instance
Note: If you are familiar with the organization concept select the organization that you want to use, otherwise hold on a paragraph and we will be back there.
Step 2. Setup the organization
Setup the Organization and Space
Before deploying our first application we need to setup the CLI to point to the right organization and space.
This command give you the list of the organizations active in your trial account, as we mentioned above a Global Account may have one to many Organizations associated.
Now that we have a clear list of the Organizations (Sub-Accounts) available, it is time to complete this task
C:\Users\<your_user>>cf target [-o ORG] [-s SPACE]
In my trial I have only one space, for this reason CLI automatically links to the correct space “Demo“. If you have or want to manage multiple spaces, you can specify it in the previous command or with an ad-hoc command:
C:\Users\<your_user>>cf target -s Demo
Step 3. Deploy our application (…finally)
Download a CF application
As mentioned, the purpose is to use our SAP Cloud Platform as a simple Cloud Foundry instance, for this reason I decided to download an open source demo application directly from the Cloud Foundry GitHub page. I choose the new “Hello World” app Test-App.
You just need to download (or clone if you prefer) the GitHub repository and unzip in a folder that you like.
Deploy the application in the cloud (yeahhhhh)
From the command line the final step
C:\Users\<your_user>>cd C:\<your_download_folder>\test-app-master C:\<your_download_folder>\test-app-master>cf push my-test-app
Application is now deployed in the cloud under the name my-test-app, I suggest to use your own application name (e.g. test-app-<p_user>)
Something is really interesting in this output:
- The list of buildbpaks available in SAP Cloud Platform (go, nodejs, pho, ruby, python, etc. ). It underlines the BYOL capability of SAP Cloud Platform and openness to different programming styles.
- This application is an application written in go, that’s great something new!
Run and test the application
We now deployed the app, but does it work? I know this is a rhetorical but valid question.
Let’s go in our space and verify that a new application is available and running.
Click on the application to check all the details
and finally click on the application route to open the app.
Our incredible and powerful Cloud Foundry “Test-App” is up and running. We did it!
We were able to use Cloud Foundry open source tools to deploy an open source Application written in Go on our SAP Cloud Platform. It is important that we were able to perform this task following the standard Cloud Foundry guide.
SAP Cloud Platform enables you and your business to be flexible to respond to any business need and, with SAP multi cloud strategy, to be able to run and scale fast on any hyper-scale IaaS (i.e. Google Cloud, AWS, Azure or IBM).
Have you tried SAP Cloud Platform? It revives my developing passion, what about you?
Great blog! I for sure agree here that Cloud platform revived my development passion. The first service which got me interested was Workflow service and i was motivated back again.
I have to admit, I always disliked workflow and integration; but playing with them in the cloud is so different and funny!
I recently completed a CF course (open source). Was thinking to try CLI with SAP Cloud Platform and then found this blog. Nicely written. Simple and to the point.
Have couple of questions:
Thank you for you comment. To your questions:
Thanks mate. I kind of got the answer to my first Q 🙂 . I shall go through the road map.
Nicely written with step by step instructions.
Nicely written. You indirectly introduced me to Go
Thank you Ivan.
A nice and easy to read blog. Thank you!
Given that many of the services offered on SAP NEO are not yet available on SAP Cloud Foundry platform, is there a secure way to access SAP NEO services from SAP Cloud Foundry and vice versa?