cancel
Showing results for 
Search instead for 
Did you mean: 

Cloud Foundry: Dev and Q in single subaccount possible?

martin-kl
Explorer

Hey guys,

we built a full stack, stand alone cloud application using PostgreSQL (hyperscaler option), CAP and a UI5 Frontend.

The question is: can we use a single subaccount to setup two environments, one for Dev and Q?

We thought about separating the service layer by using 2 CF Spaces, and assmuning that the xsuaa service is not to change (i.e. no role changes, additions, ...), that might also work if we use a single instance (same for the destination service).

But what about the database and UI layer? Do we have to change our project structure to change the namespace of our project to get separated tables or is there another way with PostgreSQL?

And about the UI: is there a way to specify or "fix" the version of the UI5 Application served by the Launchpad Service? In our recent tests it seemed that the Launchpad Service automatically serves the most recent version of our UI from the HTML5 Application Repository - is that always the case or can we fix the version in the Launchpad?

Best regards

Accepted Solutions (0)

Answers (2)

Answers (2)

gregorw
Active Contributor

Hi Martin,

I would recommend that you create separate subaccounts for Dev, QA and Production. Only that will make it possible to use the managed approuter. To connect from there to the srv backend a destination in the subaccount that is configured in the xs-app.json is used.

Regarding your second question:

Please check the documentation: Stable UI5 Version (Optional).

CU
Gregor

martin-kl
Explorer
0 Kudos

Hi Gregor,

thanks for your quick response. Then we will opt for another subaccount.

Regarding the version of the UI: I did not mean the UI5 Version but the version of our frontend application. Assuming that version 1.0.0 is deployed to the HTML5 App Repo, can we fix this version in the Launchpad Service (or the managed approuter)? I found this help page: Redeploy Content that mentions:

[...], you can redeploy the new content to the already existing app-host service instance of the HTML5 application repository. All content referenced by the app-host service instance ID is replaced by the new content. If you want to keep more than one version of your HTML5 application on the repository, you deploy these versions to the same app-host service instance ID.

In our recent tests however, redeploying a new version to the existing html5 apps repo seemed to simply replace the existing version, which we tested by accessing the previous version using the Approuters "appVersion (application version) - Optional" parameter.
In other words: how can we keep two versions of our ui5 frontend app in the HTML5 App Repo?

Best, Martin

gregorw
Active Contributor
0 Kudos

Hi Martin,

seems that there is an issue with the documentation link you've provided. For me Redeploy Content works. But I also can't make a lot of sense out of the documentation. I would suggest that you post this as a separate question.

But why do you want to keep old versions? If you create an MTAR you will always have a consistent backend and frontend combination.

CU, Gregor

martinstenzig
Contributor
0 Kudos

Just an additional viewpoint. I agree with Gregor that for a production system I would clearly go to a different sub account, but for the stuff you are describing a space separation in one sub account might suffice. You could i.e. re-use the same HANA DB for the two spaces to not have to spin up two full databases. You save some money on licenses and management effort, but you need to make sure that you develop accordingly. Destinations are a good example that can be on the app or sub account level.

gregorw
Active Contributor
0 Kudos

SAP HANA Cloud can also be shared cross subaccounts. If Martin wants to use the Launchpad Service I think it's straight forward to do that in separate subaccounts. But it's a lot of work when you want to provide access to the same apps deployed to different spaces.

Igorios
Explorer
0 Kudos

gregorw Hi 🙂 could you provide some information/blogs how to realize the access for the same apps deployed to different spaces & launchpad which is in another Subaccount?

Or does each Subaccount needs his own Launchpad?

gregorw
Active Contributor
0 Kudos

Each Subaccount needs it own Launchpad. Please see a Subaccount like a System Instance. You create 3 separate ones if you want to have Dev, Test and Production.