Many apps use daemons (e.g. headless Linux processes, Windows Services, etc.) to perform batch processing work or to provide architectural support to a core, non-daemon application architecture. These types of application components tend to be difficult to manage with little to no formal lifecycle control (partly because many are written in older compiled C/C++), aren’t capable of being discovered by a service discovery agent, and are difficult to deploy and configure.
Apprenda allows these daemons to be included in an Apprenda application package. When Apprenda detects their inclusion, these components are deployed independently. The cluster will “hook” into the processes hosting the daemon and publish cluster wide controls, making pools of any daemon easy to manage. Additionally, information such as listening ports can be published and controlled by Apprenda, making them discoverable via API to any clients needing to communicate with the daemons.
Because of this significant deviation from standard cloud native patterns, daemons tend to introduce significant friction to migration efforts. Apprenda provides low friction remediation of the daemon cloud anti-pattern.