Applications are used for:
- Delivering your product to end customer servers (via AggreGate's or partner's App Store) or enabling DevOps processes for your platform-based service
- Enabling team development across IT landscapes, such as dev, test, RC, or production (by publishing application resource sources/templates in a Version Control System, such as Git or Subversion)
In every installation, application's resources can be created on demand. Once resources are deployed, system administrators can make changes to them. However, there is a way to protect application resources from modification and reverse engineering.
Managing Application Resources
New versions of your product often come with updated sets of resources. However, updating any resources that were modified on end customer's production server may cause loss of those local changes.
To deal with those issues, AggreGate Server supports multiple resource management techniques:
- Resource Grouping. Each resource is a member of a certain group (e.g., Network Management) and optional subgroup (e.g., Database Management). This simplifies searching and filtering resources during their creation/update/removal operations.
- Modification Tracking. Once a bundled resource was modified by local system operators, it's tagged and no longer auto-updated if a newer version comes with the system upgrade. However, it's possible to update it manually by passing a change loss warning, e.g. after creating a clone.
- Resource Versioning. Each resource has an associated modification history helping local administrators to decide whether a local copy should be updated.
- Dependency Tracking. If a dashboard that includes ten widgets and an event log was selected for creation, operators would be prompted to create all dependent resources. This guarantees application's functional consistency.