Where and How do I start with a BTP Proof of Concept? [Part 1]
Introduction and Motivation
“A journey of thousand miles begins with a single step.” – Lao Tzu
It is though to start with a new thing and it’s even harder to do it while being in charge for other things at the same time. But it’s worth to get your hands dirty and spend time on the journey of your digital transformation. Understanding the nots and bolts of BTP and the SAP Cloud concept is a long way down the road, and if you think you’ve got it – SAP is changing it again. The BTP and the world of Clouds is a moving target. Like services getting deprecated, strategy of SAP is changing and this blog post will be deprecated soon 😉
Target audience & more background
This is a personal recommendation of steps to get some first impressions of the BTP and a way to start your journey as a BTP-Team.
I am working as a SAP Cloud Solution Architect and Developer freelancer – on the BTP since more than 3 years and I am only going to show up how I did coach SAP Experts with their first steps on the BTP and this doesn’t need to be the best way always 😉
So this approach is written for product development teams, who want to start their journey with and on BTP.
I tried to collect a lot of good blog posts and tutorials within the sections – feel free to visit them to get more (background) details about each part.
The most (client-) projects I was involved with did start their way setting up S/4 HANA in a public or private version.
So this door-opener is some kind of oriented to fulfill gaps on your S/4 journey on and with the BTP and we’re going to define and realize a small PoC for a UI5 app on BTP.
Declare roles to focus on
Starting with BTP and getting a team skilled is though and within a lot of different facets. I am always trying to convince new starting teams to declare and define some scopes and roles within the team at the beginning, to focus on these specific facets. My initial recommendation could look like this:
This set up is giving you the opportunity to work on different tracks with the different opportunities.
Each of this great guys, I did only name for easier readability, will be necessary to get a full-stack application running and connected on a BTP environment within your local (onPremise / Cloud) landscape.
I am using these 2 words very often and the reason for it is: It depends. It depends on your requirements, on your strategy and on your skills. You can do a lot with and on the BTP and you can use it for so many different use cases. So I do recommend to set up and write down some bullet points of the target you did define or your Proof of Concept (PoC) use case. This makes it easier for you as you’re going to follow some kind of path.
There are so many ways and so many services out there on the BTP, you will be distracted of a lot of cool things.
Yes, this is also a good approach – but it’s like sitting at home trying to learn for an unloved test and instead you’re cleaning up the kitchen. Sounds familiar, right ?
Some PoC bullet points
Like already mentioned, let’s declare a PoC where we want to achieve soon some bullet points
- Understand the BTP concept and architecture
- Understand the different environments
- Get to know what a ‘Service’ is
- Deploy a UI5 app (keep the app casual and easy)
Our use case:
- Setting up a UI5 app with a list of enabled SaaS-Services on our BTP.
“What’s with CPEAs?” – “You missed the approuter” – “I saw Thomas did it the other way and is using XYZ” – “I do not care about UI5” – “Security first – Where is the XSUAA bullet point”.
True, true, true.
All of it – but as I said already – it’s a long journey and there are so many topics to discover. It’s hard to even find a way to get started as there are so many different things, opportunities and ideas flying around. The advocates are doing the best to show you a lot of opportunities.
And trust me, you will love this way of learning but you need to start easy and you need to focus – that’s the reason for this selection of bullet points.
Your environment decision
Cloud Foundry (CF).
Yes, there is more –
It is worth to check up the other environments (not NEO) and get some feelings for kubernetes clusters, project ‘kyma’ or serverless.
Distraction is everywhere, start with Cloud Foundry, it’s the one with the most available services right now (June 2021) and a lot of blog posts are guiding you on/with CF.
=> @Ralph: Go ahead and set up a Subaccount on the BTP. Activate Cloud Foundry as environment and get some details about subscriptions and their consumption.
SaaS-Services vs. Services
There are 2 kind of services available on the BTP:
A) Services provided by SAP, who are standalone Software-as-a-Service (SaaS) applications you can subscribe to and you will create a service-instance for this SaaS service so you get the credentials for your (most API based) access to this SaaS-Service.
These kind of services do not run on your own CF, they are related to your CF.
You will find the URL of your subscribed SaaS application within the service key.
Some SaaS examples: SAP Integration Suite (within Cloud Platform Integration (CPI), API Management (APIM)), Workflow Management, Theme Designer,…)
B) The second category of services I am going to call “supporting” services. These are the services you will bind to applications you’re going to deploy to your CF.
These “supporting” services will help your app running in a container on CF and enable additional features. Like security capabilities (XSUAA), connections to backends (Destinations) or logging opportunities,… .
=> @Ralph: Subscribe to the Integration-Suite, so Bhave can start checking out what this CPI is about while we’re continuing here. Do not forget to get some first hand experience about setting up a Role-Collection and providing access to Bhave, otherwise he will come back to you and starts pointing fingers😉
This article is about our (and my) favorite services on the BTP. Check it out!
Security is overrated
No, it is not.
But it’s too early to get into details about XSUAA and UAA.
This needs to be part of your learning journey and for now, let’s ignore the security chapter.
Your first architecture drop
We made some decisions and we did learn some first things for BTP. So it’s time for the first big-picture and some kind of architecture diagram.
This high level diagram is showing you some interesting facts:
- 1 subaccount is not equivalent to 1 environment (1 subaccount : n environments*)
- Each service has at least 1 service instance
- Service-Instances can get bound to container
- Some services can get configured, e.g. the destination service instance has an UI, where you can maintain your destinations
- The Multi-Target-Application is running inside the container and not equivalent to the container
* n = 3 (06/2021)
Wrap up + Next steps
Perfect! We already did set up our targets and things we wanna achieve. Also we did understand some first insights about BTP and Services, offered by SAP, and we split our team into different areas to focus on.
The next post, Part 2, will cover the necessary parts for your first app, BAS, UI5, UI5-Tooling and a first easy way to run your first pipeline.
Image sources: All screenshots were taken by myself and I did design the other illustrations too.