About applications

An application is typically something that’s installable, such as a database. However, there are exceptions. It’s possible for charmed operator authors to write a charmed operator that treats a collection of utilities that are presented to the controller agent as a single application.

Applications are managed by charms. When operators signal updates, such as configuration changes, new relations, upgrades or removal, the charm’s hooks are triggered.

An application contains 1 or more units and is always hosted within a model. Applications have non-exclusive access to their units, as a placement directive can place multiple applications on the same unit.

Interaction between applications is handled by relations.

Before Juju 2.0, applications were known as services.