Introduction
The BTP discovery center provides a nice overview of all available services in BTP. When selecting a service, it shows all the details of that selected service e.g. description, available regions, providers, plans, documentation, … . Which is super nice and very helpful when you are looking for the details of a service that you want to use.
Discovery center with all services:
SAP Discovery Center - Services (cloud.sap)
Nevertheless, the BTP Discovery Center is missing a functionality to show all services with their availability for the different regions and providers. Not when you are looking for one specific service but rather in case you have to create a new SubAccount and you need to decide the provider and region for this SubAccount. At that moment, you want to take a provider and region that will support all the services that you will use today and in the future. You don’t want to create another SubAccount when you want to use another service because it is not available for your region and provider. This would be solved by a matrix of all services with the available plans for regions and providers.
When you look at google, they provide a nice matrix of all the products with the availability for each region:
Global Locations - Regions & Zones | Google Cloud
This is exactly what we are missing in the BTP Discover Center.
Solution
Together with
gert.mertens2 and
vvdries , we created an application with CAP and UI5 that does this for our reCAP session. The app consumes the API of the Discovery Center to get the full list of services and immediately gets the details of each service.
One challenge we had; the API of the Discovery Center is protected from sending many requests at once which blocked is of loading the details for all services together. As a workaround we put in a delay after every 20 requests for 1 second. This would slow down the performance and still result in an error when multiple users run the app. Therefor we put in some caching which will be updated every 24hours. This makes it super-fast and it is not like we have a new service every minute 😊
The result of this app is deployed to my free tier BTP account and is available for everyone:
The source code is available on GitHub:
https://github.com/lemaiwo/ReCAPBTPServiceOverview
The repository is connected to a CI/CD pipeline which will automatically deploy updates to my BTP free tier account.
Preview
By default the app shows all available providers for each region. It is possible to change the selection to only show the once you want to compare:
The same is applied for the service, all our shown by default. Again, here you can also filter on a specific service:
Attention!
Small remark, do not take this for granted and always double check the discovery center when it comes to pricing, especially for the free tier.
We noticed that the API is not always correct, e.g.: Cloud Foundry runtime is not free for EU10 AWS as mentioned in the discovery center:
Nevertheless, the API of the discovery center shows it as free for AWS Europe Frankfurt:
https://discovery-center.cloud.sap/servicecatalog/GetServicesDetails?serviceId=%27257fac1c-88aa-415b...
Maybe we interpret it wrongly…