An app represents a published decision model. You can submit input to this app which then runs it through your decision model and returns an ouput. There are two types of apps that can be deployed with Nextmv:
- Subscription apps: pre-built decision apps that solve specific problems in domains like routing or shift scheduling. These apps are present in the Nextmv Marketplace and you subcribe to them. Nextmv publishes the executable code for these apps. Based on community apps.
- Custom apps: fully customizable applications for which you control the source code. Start from a community app or from scratch. Supported languages include: Go, Python.
Versions represent a specific executable code. You can think of a version like a Git tag. Once a version is created, the executable code will always be attached to this version no matter how many other versions are published.
- Subscription apps: versions are created by Nextmv and you can subscribe to them.
- Custom apps: you create the versions.
Instances represent a version and an optional configuration. Instances are the mechanism by which a run is made, this is, a run is always executed against an instance of the app. When you submit input to your app for a run, the app determines which instance to use and then uses the executable code associated to the version for the run.
If you are working with more than one app, consider that every app must have a unique ID.