1. A computer-implemented method, comprising: obtaining, using a computing device, an application term of a declarative programming language to build an application to be executed on a node in a node network, wherein the application term defines the application independent of an application configuration for the application prior to compilation of the application term, and wherein the application configuration comprises a plurality of resources required for execution of the application; obtaining a resource term of the declarative programming language to allocate a resource of the plurality of resources required for execution of the application, wherein the resource term defines a software stack independent of the application configuration prior to compilation of the resource term, and wherein the software stack provides functionality required by the application; obtaining an action term of the declarative programming language for performing an action of the application, wherein the action term defines the action independent of the application configuration prior to compilation of the action term, wherein the action term performs lifecycle events of the application; obtaining a task term of the declarative programming language for performing a task of the action, wherein the task term defines the task of the action independent of the application configuration prior to compilation of the task term; compiling the application term, the resource term, the action term, and, the task term to generate lower level code for execution; executing the compiled application term, the compiled resource term, the compiled action term and the compiled task term; selecting, by an application execution manager, the node in the node network to execute the application; preparing, by the application execution manager, the resource for the application on the selected node at the execution time of the compiled resource term, wherein preparing the resource for the application comprises allocating the resource on the selected node of the node network, responsive to execution of the compiled resource term; executing an action corresponding to the resource on the selected node responsive to the execution of the compiled action term; responsive to the execution of the compiled application term, modifying an application configuration file for the application on the selected node, wherein the modifying of the application configuration file comprises generating a unique application variable for the application at the execution time of the compiled application term, wherein the unique application variable introduces application specific values into the application configuration of the application on the selected node at the execution time of the compiled application term; and executing, by the application execution manager, the application using the allocated resource and the modified application configuration file.