Skip to content

Application Lifecycle in DevOps Cockpit

In this section, we provide a comprehensive explanation on how to effectively work with our Application Lifecycle.

The following information includes what you need to consider related to the Capability Package that you have chosen, your security, sharing and access options between external developers, partners or customers and how to create, host, integrate and provision your application.

Before we display the details of the Application Lifecycle, it is important to understand that your subscribed Capability Package influences the features and functions that you can utilize within your developer journey:

Use the following table to get an overview on what you can do within your MindSphere Account:

Capability Package Develop, integrate and use own applications productively for internal user Assign or provision your application to external user Utilize the dedicated Test Environments Host applications using a hosting environment provided by MindSphere
Basic available notavailable notavailable yes - requires the Cloud Foundry Addon
Standard available available available yes - requires the Cloud Foundry Addon
Premium available available available yes - requires the Cloud Foundry Addon

Each Capability Package, grants you access to at least two Environments (Development/Production), to ensure that you can securely develop and integrate your applications.

For more information about Capability Package, see MindSphere Capability Packages-Product Sheet.

The following table displays the Environments provisioned to you as part of your MindSphere subscription:

Environment Purpose
Production The Production Environment is where your productive use cases are represented. This is the Environment where your production machines should be connected or where your end customers should reside.
Development The Development Environment is specifically used to develop/integrate your applications. This is also where the DevOps Cockpit is located and the overall Application Lifecycle is controlled.
Test(s) The Test Environments are designed to support testing your applications before using them in production. You can also connect dedicated test machines to these Environments to help test your applications.
Note:
These Test Environments are only available for "Standard" or "Premium" Capability Package subscriptions.

application-lifecycle

The following terms are used to explain the Application Lifecycle. We urge you to take a moment to become familiar with these terms and how they are used in MindSphere, in order to ease your understanding and help you to effectively work with DevOps Cockpit. This important terminology is used throughout the documentation.

Terminology Description
Deployment: Deployment is where you bring (deploy) your application to your hosting environment. An application must always be hosted either within the MindSphere hosting Environment (Cloud Foundry) or your own environment (self hosted) before starting the Application Lifecycle.
Note:
If you are going to self host your application, a specific set of criteria must be met. For more information about self hosted application, see Adding and managing an application in DevOps Cockpit.
Registration: MindSphere becomes aware of the details of your app when you register it with MindSphere. After you register an app within MindSphere, the app becomes accessible using the MindSphere specific URL scheme.
- For example, if your app is running at a URL https://turbinemonitor.io, and you register your app with MindSphere in the environment dade1 with the name monitor, then after registration, the users in environment dade1 can access this app with the URL https://dade1-monitor-dade1.eu1.mindsphere.io. From that moment on, you are able to assign application roles to users and they will be able to see and use this app starting from the Launchpad.
Assignment: Assignment describes the first step in the process of making an app available for productive usage. After the development and testing of the app is completed, the Developer Admin can set the app to "Ready for Production" state. As soon as it is set to "Ready for Production", it will be auto-assigned to your own Production Environment. It is also possible to assign an app to the Production Environment of a different MindSphere Customer. This allows you to split responsibilities between a party that only develops and someone who takes over operation duties in production.
Provisioning: To provision an app to an Environment means, that the application can then be used within this environment. Application roles can be assigned to users in this environment and the app also gains access to data stored.
- For example, you have created an application, and it's current state is "In Production". You can then choose to give ("provision") this application to several other companies who are using MindSphere.
Application State The Application State is designed to give you a quick overview about the current state of a specific application within the lifecycle.

Application States

The following "Application States" are used to describe the steps of the Application Lifecycle. We have created these states to help you easily understand, and have instant access to the most important information that you will need about your applications within your environment.

Application State Description
"In Development" - The Application Object in MindSphere is created.
- All relevant details are configured.
"Development Complete" - The development and testing of this application is completed.
- All binaries needed for productive usage are uploaded (Only if you use the MindSphere hosting Environment).
- Waiting for approval of a Developer Admin.
"Production Ready" - The application is now ready for productive use.
- Deployment of the Application to the productive Cloud Foundry Org can now be executed.
"In Production" - You can use your application within your own production environment.
- You can provision your application to others.
"Archive" - This application has reached its end of life and can no longer be used.

Application Lifecycle Workflow

In addition to understanding the application states and the specific steps that occur within each state, we want to bring the associated activities of the Application Lifecycle workflow together.

We also want to help you understand how everything fits together.

The following flow diagram contains information about:

  • Actions in association to respective roles which can perform these actions.
  • Environments and related technical interactions that apply within the different steps.
  • Mandatory and optional steps that can be taken.

This following chart illustrates, how different MindSphere Environments (development, test and production), user roles (developer, developer admin and operator admin) and user actions (these are your interactions with DevOps Cockpit) are related to technical interactions (Application State, Registration, Deployment, Provisioning and Assignment) throughout the Application Lifecycle.

application-lifecycle-overview

In the following diagram, the complete Application Lifecycle and respective actions are illustrated. Additionally, you can see how roles and the actions that are performed in these roles occur within the Lifecycle.

application-interaction

The following table defines as well as explains the outcomes of specific user interactions in MindSphere.

User Interaction Step User Interaction Explanation Application State
user-interaction-a Develop your application MindSphere fully supports the integration of Full Code and Low Code Applications (Created with Mendix). Please have a look at the following links which will help you in the process of creating your application. Certain SDK's, Web Components, Learning Paths and other important help in the following links that will get you going faster:
- For more information about MindSphere resources, see Resources.
- For more information about Mendix Learning Path, see Learning Paths.
- For more information about MindSphere How Tos-developer documentation, see How Tos.
In Development
user-interaction-b Deploy app Before you can actually create an application object in MindSphere DevOps Cockpit, your app has to be hosted and reachable. You can either use the MindSphere hosting environment or also host the application wherever you feel comfortable.
Note:
If you choose to self host your application, it has to meet certain criteria. For more information about self hosted application, see Self-Hosted Application.
While using MindSphere hosting environment, you ensure that your app is deployed to your Cloud Foundry development Org. Indicated by number 1.
flow-interaction-1
For more information about MindSphere hosting environment, see Running a Cloud Foundry-Hosted Application.
In Development
user-interaction-c Create App in DevOps Cockpit Create a new application object in DevOps Cockpit. Within this step, you can do all kinds of configurations, create new roles and configure certain authentication options which you can use in your code. In Development

User Interface create-app-in-devops

User Interaction Step User Interaction Explanation Application State
user-interaction-d Register app in Development Environment After a successful creation of your application object, you can go ahead and register your application in your Development Environment.
- For example, if your app is running at a URL https://turbinemonitor.io, and you register your app with MindSphere in the environment dade1 with the name monitor, then after registration, the users in environment dade1 can access this app with the URL https://dade1-monitor-dade1.eu1.mindsphere.io. From that moment on, you are able to assign application roles to users and they will be able to see and use this app starting from the Launchpad.
flow-interaction-2
In Development

User Interface register-app-in-dev-env

User Interaction Step User Interaction Explanation Application State
user-interaction-e Provision to Test Once registered, you have the possibility to directly provision your application to your Test Environments which allows you to use and test them there.
flow-interaction-3
In Development

User Interface provision-to-test

User Interaction Step User Interaction Explanation Application State
user-interaction-f Prepare Release If you are using the MindSphere hosting environment, you are required to upload the binaries from your application. MindSphere is going to perform certain virus checks before the app can be deployed to your production hosting environment.
Once the upload is successful, your application state will change to "Development completed"
In Development

User Interface prepare-for-release

User Interaction Step User Interaction Explanation Application State
user-interaction-g Set to "Ready for Production" This user action leads to an automatic assignment of your application to your Production Environment. After this action is successful, the state of this application will then be set to "Production Ready".
flow-interaction-4
Development complete

User Interface set-to-ready-production

User Interaction Step User Interaction Explanation Application State
user-interaction-h Assign to external Operator MindSphere supports a scenario where you can act as a development party, while an external account is taking over production operations for you. The user interaction "Assign to external Operator" allows you to give someone else your app to take over production operations.
flow-interaction-4-external
Production Ready
user-interaction-i Deploy App (Prod) You can utilize the MindSphere hosting environment, you can now deploy your application to the Cloud Foundry production Org.
flow-interaction-5
For more information about MindSphere hosting environment, see Running a Cloud Foundry-Hosted Application.
Production Ready
user-interaction-j Register App The final step which leads to the application is available in your Production Environment and to Register the app on your Production Environment.
flow-interaction-6
In Production
user-interaction-k Provision to Customer As the application has reached the "In Production" state, you are able to provision it to other MindSphere subscribers.
flow-interaction-7
In Production
user-interaction-l Archive If an application is reached to its end of life, then set to "Archive" state. The application is deregistered and deprovisioned from all the environments. Archive

Any questions left?

Ask the community


Except where otherwise noted, content on this site is licensed under the MindSphere Development License Agreement.


Last update: July 7, 2022