SAP Business Technology Platform and the Multi-Cloud Foundation | An Introduction
|This blog post series is about developing applications in a multi-cloud environment.
For the end-to-end hands-on tutorial example, see
For the step-by-step series, visit
Questions? Post as comment.
Useful? Give us a like and share on social media.
Video Tutorial Series
Migrating from the Neo Environment to the Multi-Cloud Foundation
For the accompanying video tutorials series on this topic, see
In a little under one hour, we explain how you can leverage the SAP Cloud Platform, Cloud Foundry XSUAA service in a microservices architecture to perform both authentication and authorization for your business service.
No previous knowledge assumed. If you have heard about the internet, and know what a computer is you are good to go. We learn
- How we can deploy this app in a Docker container, including container inspection, for both local and cloud deployment
- How we can build the app using buildpacks on the SAP Cloud Platform, Cloud Foundry environment, creating a Diego container, and cover the deployment descriptor file, manifest yaml
- How we can implement the 12-factor app methodology and work with microservices and service bindings, so we can connect to the SAP HANA Cloud service with two lines of code (as example)
- How we can use the same service bindings for the user account and authentication (UAA) service, more specifically SAP’s implementation (XSUAA) together with an Application Router
- How we can use XSUAA for authentication
- How we can use XSUAA for authorization
For the blog series, with additional information, references, and code examples, see
Embracing the Hyperscalers
The multicloud concept was introduced at SAP back in 2017 when Cloud Foundry was added to the SAP Cloud Platform (and which lost its HANA epithet as a result). Until then, SAP’s enterprise platform-as-a-service (ePaaS) was hosted exclusively from its own data centers. Now it could be hosted on different clouds.
- SAP Cloud Platform Goes Multi-Cloud With Cloud Foundry (2017)
- Multicloud: An Integrated Portfolio Benefits Your Cloud Strategy (2018)
SAP enthusiasm for multicloud continued with the launch of the Business Technology Platform aiming for maximum business impact.
- Putting Business at the Heart of Tech (2019)
- Juergen Mueller at SAP TechEd: We Want You to Have Maximum Business Impact (2019)
At SAPPHIRE 2019, the “Embrace” project was announced and although in particular Microsoft responded favourably, it was targeted originally at the cloud’s Big Four.
- Embracing the Hyperscalers, Your Fast Lane to Becoming an Intelligent Enterprise in the Cloud (2019)
- SAP Partners with Microsoft for First-in-Market Cloud Migration Offerings (2019)
We already did some digging into the past of the SAP (HANA) Cloud Platform in a blog trilogy about the origins of PaaS and Cloud Foundry, SAP’s involvement, and the latest development with Kubernetes.
In brief, SAP’s ePaaS started with SAP NetWeaver Cloud, then evolved into SAP HANA Cloud Platform when merged with SAP HANA database services, and next into SAP Cloud Platform when open-source Cloud Foundry was added. The original neo (NetWeaver OnDemand) code name got its comeback as label for the proprietary part of the platform, now considered an “environment”.
SAP Cloud Platform
As defined (SAP Cloud Platform Glossary):
Each environment provides at least one application runtime and comes with its own domain model, user and role management logic, and tools (for example, command line utility). Environments are self-sufficient and integrated into the platform at the subaccount level, which means that each environment can be used on its own without the need to use another environment.
Put that in a table and you get something like this:
|Application Runtime(s)||Java, HTML5/SAPUI5, XS||Buildpacks|
|Domain Model||Orgs and Spaces|
|User and Role management||Authorization and Trust||UAA|
|Command line||> neo||> cf|
Although the Cloud Foundry documentation does not use the term domain model, we can imagine this to reference Orgs and Spaces. Neither is there a description of the Neo domain model but what we do have is a model for the platform as a whole when it was updated to make space (and orgs) for Cloud Foundry. This is the domain model users of the platform will be familiar with.
Cloud Providers and Regions
Previously, the domain model was regionally based. In the current model we have a global account representing the commercial contract and sub-accounts representing the environment with a one-to-one mapping of cloud provider and region.
Except for Neo, as mentioned, the infrastructure for the environment is provided by the “hyperscalers”, a.k.a cloud infrastructure providers, i.e. Amazon Web Services, Microsoft Azure, Google Cloud, and Alibaba Cloud.
The SAP Cloud Platform Regions and Service Portfolio shows the regional coverage of each platform service. The Cloud Foundry environment is not hosted in all regions where the cloud providers have a presence. For example, Cloud Foundry with Google Cloud is only hosted from Iowa (US Central) and Alibaba Cloud only from Shanghai.
For future plans, see the SAP Cloud Platform Road Map.
For those new to the topic, how this all works is explained in the award-winning onboarding tutorial series where you can dive straight in.
How to Run an App
Application Development and Runtime Environments
Besides the difference in runtimes, however, it is in particular the ease to deploy applications with the magic of ‘cf push’, that distinguishes the Cloud Foundry environment from Neo.
For those less familiar, or maybe as a reminder, Cloud Foundry is the industry-standard open source cloud application platform for developing and deploying enterprise cloud applications (as advertised). If it helps, you can think of Cloud Foundry as a Linux distribution. You can run it on your laptop, on a virtual machine, host it in the cloud, or consume it as-a-service from a cloud provider.
Cloud Foundry as hosted on the SAP Cloud Platform is one of seven certified platforms.
- SAP Cloud Platform – a Cloud Foundry Certified Platform by Manjunath Baburao (2020)
- Cloud Foundry Certified Platforms 2020
In case we do not want to host a Cloud Foundry environment ourselves but consume it as a service, why not select IBM Cloud, or run Tanzu (Pivotal) on Google Cloud, AWS, or Azure. Why get it from SAP?
In with the New
The objective of Cloud Foundry is to make it easy to develop and deploy applications. With the Cloud Foundry environment hosted on the SAP Cloud Platform and a local Cloud Foundry environment available on the SAP HANA platform (XSA) this objective was met. It is very easy to develop your applications locally and deploy to the cloud. The HANA Deployment Infrastructure (HDI) and multi-target application (MTA) programming model (2015) supported this design (although technically not dependent).
- General Availability of the XS Advanced Programming Model with Cloud Foundry on SAP Cloud Platform by Sven Kohlhaas (2017)
- Building multi-target applications (MTA) for Cloud Foundry using your favorite IDE by Sunil Wadhwa (2018)
- The Multi-Target Application Model – A guide to understand multi-target applications
- Build with SAP HANA, express edition and deploy to cloud – A Getting Started Guide
In true hacker fashion, blogs were also posted explaining how to make XS Advanced behave like Cloud Foundry or how deploy MTA apps to the Neo environment.
- Make your HANA Express impersonate Cloud Foundry by Andrew Lunde
- Deploy MTA app on NEO starting from the SAP Web IDE by Wouter Lemaire
Out with the Old
- SAP HANA XS Advanced Migration Guide
- Migrating the SHINE Purchase Order Worklist Application from Neo environment (XS classic) to Cloud Foundry environment (XS advanced) of SAP Cloud Platform by Rene Jeglinsky
For the record, although deprecated for two years, the classic model and tools are still supported for the on-premises platform with the current SAP HANA 2.0 SPS 05 release until 2025 but no longer included with the database service SAP HANA Cloud.
Of course, what makes the SAP Cloud Platform, Cloud Foundry environment unique is not only the integration with SAP HANA. In fact, you can bind your application to any database (does not apply to XS Advanced). There is also the multicloud factor. Without going into the details here again (see the above-mentioned trilogy), projects like Gardener focus on providing the technology to deploy applications in a multicloud environment.
Punks Not Dead
After Cloud Foundry, a third environment was added to the platform: ABAP PaaS, a.k.a. Steampunk (another internal code name), officially “SAP Cloud Platform, ABAP environment”.
- SAP Cloud Platform ABAP Environment by Harald Kuck (2018)
- It’s Steampunk now by Harald Kuck (2019)
Dual stack? Not really, technically, the ABAP environment runs on Cloud Foundry but this is under-the-hood. In the documentation and elsewhere it is considered a separate environment.
The focus of the ABAP environment is on ABAP development and ABAP extensions (and leverage 37 years of development experience). To try it out, we recommend:
The ABAP environment comes with its own development mode (RAP):
Here Comes the Next Wave
It is all G(r)eek to Me
Earlier this year, environment number four was added: the SAP Kyma Runtime. Kyma does not rely on Cloud Foundry but runs on Kubernetes. The official name is “SAP Cloud Platform Extension Factory, Kyma runtime”.
To get started, we can recommend
Kyma is used to power the Extension Factory of the SAP Cloud Platform.
Kyma is also the name of the open source project, which provides a platform for extending applications with serverless functions and microservices, as mentioned on the project website, a selection of cloud-native projects glued together to simplify the creation and management of extensions.
For the non-g(r)eeks, κυβερνήτης is the helmsman, κύμα the wave, Helm the package manager; a nautical theme started with Docker to run containers. Cloud Foundry started in 2011 with its own container technology but there now are different approaches to bring both worlds together like Eirini (Ειρήνη), the goddess of peace (see Cloud Foundry and Kubernetes).
What about Neo?
With SAP embracing open-source Cloud Foundry and Kubernetes for some time now, and partnering with cloud providers for the infrastructure, the proprietary SAP-hosted Neo environment is losing its relevance. As with its on-premises NetWeaver counterpart, most of the services once provided by “NetWeaver Cloud” have now evolved and are available in the new environment(s).
- From Neo to Multicloud: How Our Services Are Evolving by Yun-Hsuan Lin
- SAP Cloud Platform – moving forward on our multi-cloud strategy by Steffen Schad
One recent example is the new content management solution for Cloud Foundry.
Another is the merging of SAP Cloud Platform Identity Authentication service (IAS) and SAP Cloud Platform Identity Provisioning service (IPS) into SAP Cloud Identity Services.
- Evolving Identity Authentication and Identity Provisioning into SAP Cloud Identity Services by Marko Sommer
Not every service has made its way to the new world. Some services have been deprecated like oldskool virtual machines. For a comparison, see
Open-source “backing” services like MongoDB or Redis were already retired last year. For the fine print and how to leverage the cloud provider services on the cloud platform, see
- Consuming hyper-scaler backing services on SAP Cloud Platform: An Update by Manjunath Baburao
- Consuming Hyperscaler managed services on SAP Cloud Platform as User-Provided Services by Suhas Narasimhan
Recently, the Neo documentation was carved out of the core set. The SAP Cloud Platform documentation now only covers Cloud Foundry, ABAP, and Kyma. For the SAP Cloud Platform, Neo Environment, a new (retirement?) home was created on the SAP Help Portal.
Prominently displayed on the Neo Help Portal is the new migration guide with the main sections explaining what it is, why you should migrate, and how to get started.
- Migrating from the SAP Cloud Platform Neo Environment to the Cloud Foundry Environment
- What Is the SAP Cloud Platform Cloud Foundry Environment
- Why You Should Migrate from the Neo to the Cloud Foundry Environment
- Getting Started with Your Migration
A good example of how service migration can look like is explained for OData Provisioning
Not new, but highly relevant in this context is the documentation about how to develop applications and manage their lifecycle on the Cloud Foundry environment.
- Development in the Cloud Foundry Environment
- SAP Cloud Platform Planning and Lifecycle-Management Guide
About the Trial
There still is a trial for the Neo environment but something tells me if you want to try it out, you better hurry up (the button is hidden a bit if you scroll down on the cloud platform home page).
Here is an update:
Starting August 13th, 2020, new trial accounts will be created on our multi-cloud foundation only, ensuring that our trial users get access to the latest innovations and new services we deliver. Existing trial accounts on SAP Cloud Platform, Neo environment will remain active until November 13th, 2020
There is a Service for that
To learn more about the latest service offerings for the SAP Cloud Platform, visit the SAP Cloud Platform Discovery Center. Here we find all 90+ services listed, bundled either in the Extension Suite or the Integration Suite.
Did you notice the new domain name?
- Discovery Center hosted => discovery-center.cloud.sap
- Cloud Application Programming Model => cap.cloud.sap
- Business Application Studio => *.applicationstudio.cloud.sap
Who knows, we may be visiting this domain in the future more often.
You can filter on the services for which a trial is available.
- Enabling Rapid Innovation with the SAP Cloud Platform Discovery Center by Cecily Sorenson
- SAP Cloud Platform Service Catalog embedded into Discovery Center now live by Holger Neuert
- SAP Cloud Platform Service Catalog – May Update by Holger Neuert
Building in the Cloud
Cloud Application Programming
At the tail end, but we could not leave the topic unmentioned, the recommended programming model to develop cloud applications in a multicloud environment is CAP. It is best understood as an extension of the multi-target application (MTA) model SAP conceived for the Cloud Foundry environment.
- Cloud Application Programming Model (CAP) for SAP Cloud Platform – start here by DJ Adams
- Difference between SAP MTA and SAP CAP (gocoding.org)
To build MTAs in the cloud, a new tool is available.
Business Application Studio
The tool of choice to develop CAP applications is the Business Application Studio, which brings me back where we started: maximum business impact.
For an overview of all the material recently published on the “app studio”, see
For our topic, of particular interest is that you can use Business Application Studio to migrate applications previously created with SAP Web IDE.
- Migrating Your CAP Applications from SAP Web IDE to SAP Business Application Studio by Liat Borenshtein
- Migrating SAP Fiori Applications from SAP Web IDE to SAP Business Application Studio by Yuval Morad
Development Options Overview
For more information about where security fits in in the overall development flow, visit
In the next blog we zoom in on the security aspects of the SAP Cloud Platform, Cloud Foundry environment and discuss the Cloud Foundry UAA( User Accounts and Authorization) service and the SAP Cloud Platform specific XSUAA implementation.
Share and Connect
Enjoyed the blog? Post a comment, share on social media, and/or give a like. Thanks!
If you would like to receive updates, connect with me on
- LinkedIn > linkedin.com/in/dvankempen
- Twitter > @dvankempen
Denys van Kempen
Thank you for this amazing blog.
Thank you Bjorn Vilhjalmsson
I don't think I've ever seen all this put together is such a meaningful and timely way.
Will bookmark for future guidance.
Thanks Andrew Lunde
Really nice Denys!
Thank you Noorulain Khurshid
Very comprehensive blog Denys.
Can you please shed some light on how to mock XSUAA for dev environment ?
Good question but best to post this to the forum (https://answers.sap.com) and tag appropriately (e.g. SAP HANA, SAP BTP, Cloud Foundry) to get the right people notified. You might also want to consider adding a bit more information about the exact objective (the better the question, the better the answer).
For anyone interested you can find the question here --> How to mock XSUAA for Local Machine for SpringBoot Application without CAP ? | SAP Community
Thanks Mohammad Saad Rashid
Thank you for such a nice comprehensive blog.
can you please share some light on Gardener Project - since it is the foundation for providing Kubernetes clusters in the SAP Cloud Platform?
Briefly touched upon the topic in an earlier post, mentioning Go + Warden = Garden, and how SAP got involved which you may find of interest
The Gardener website is the best resource for more information
Thank you so much for sharing the insightful resources.