Cloud Foundry How Tos - Develop MindSphere Apps for multiple regions using Cloud Foundry¶
You can develop apps that run in all regions. You can find more information about regions in the MindSphere regions document. It is important to understand which APIs and library of MindSphere you use. The following points should be considered when developing such an app:
- The data cannot be exchanged between the regions.
- The MindSphere Store cannot be used in regions China 1. Please refer to the DevOps Guide(PRC) and Seller Guide (PRC).
Tenants and resources¶
You require a DevOps tenant in each region with the required resources (Number of Backing Services, enough storage).
- The DevOps tenant should have an own URL and name for each region.
- After the creation of each tenant, you can work on each region with the respective login.
Cloud Foundry is identical in every region. You can push apps in each region without any adjustments.
- Buildpacks and Backing Services: All buildpacks and Backing Services are equal with respective service plans.
- Deployment deviations: MindSphere updates are deployed on each region at a different time. This can cause temporary deviations. In order to avoid errors, consider the following:
- You can use your own custom buildpacks. This allows you to be more independent of MindSphere buildpacks. But, it is required to patch your buildpack and customize the manifest file.
- Login to Cloud Foundry and check for the available the service plans in "CF Marketplace" and BuildPacks "CF BuildPacks", for each region.
- Exception on region China 1: The name of the buildpack has a prefix "Offline_". Make sure to adapt the manifest file.
You can avoid dependencies of a buildpack by packing your application into a Docker container and deploying it in Cloud Foundry. If you are using a Docker container to avoid buildpack dependencies, be aware that this functionality is currently only available in region Europe 1.
- The Service Credentials feature is currently only available in region Europe 1. Please do not use this feature in multiple regions apps.
- You can only use credentials that are permanently stored in an app, in the region they were created.
MindSphere API & Services¶
For apps in multiple regions, it is important to ensure compatibility with other APIs and Services:
- MindSphere API versions are released on a different schedule across the different regions.
This is not an issue since the APIs with the same major version but a higher minor or patch version numbers are backwards compatible.
Detailed information on
MindSphere API Versioningcan be found here.
- Applications deployed in multiple regions should only rely on functionality provided by the specification with lowest version number.
MindSphere Services Indexcan be found here.
For example, an API is available in the following versions in each region:
- Europe 1: 3.12.2
- Europe 2: 3.11.2
- China 1: 3.10.1
In order to ensure a compatible API in all regions, use the version 3.10.1.
Latency and other performance parameters may vary between different regions. This may have impact on the runtime behavior of your application.
The authorization methods may vary in each region, for example, WebKey with and without MFA login. This can lead to conflicts in automated development pipelines and scripts. Please check the configuration on your automated pipelines.
The outbound IP addresses may vary in each region. Please check your firewall settings. Detailed information on how to adjust outbound IP addresses for each region can be found here.
Any questions left?
Except where otherwise noted, content on this site is licensed under the MindSphere Development License Agreement.