Redefining Software Development

Combining all of Candle's projects revolutionizes software development. Code is disconnected from upstream and downstream resources and becomes infinitely reusable. The same code can now run on the server as well as the client.

It starts with an IOta

An IOta is the building block of Candle. An IOta is a universally distributable unit of compute compiled to WebAssembly. All IOta have a clearly defined input and output, using Apexlang. All IOta inputs and outputs have standardized types and use streaming by implementing WasmRS.

An IOta is designed to be reusable so we can finally move past reinventing the wheel for every application that we develop. Based on WebAssembly, means an IOta is always executed in a sandbox with no permission to the network or local system resources.

Nanobus provides the resources

Nanobus removes the need for boilerplate and integration code. Nanobus manages all of the integration details to allow IOtas to communicate to each other and to outside resources. Nanobus allows IOta to focus only on business logic. All connection strings, security controls, observability, and resources are managed by the Nanobus. Security auditing can now be handled by revieing a human readable Nanobus configuration, not code.

Nanobus integrates with the Apexlang interface defintions for IOtas and automatically handles the code generation and boilerplate for providing resources to IOtas. Nanobus allows the same IOta to switch from a relational Database to a NoSQL database with no code changes needed for the IOta.

Putting it together

Candle simplifies software development. By using Nanobus as the provider of resources, compute can be focused on adding business value. Regardless of the compute type, Nanobus handles the complexity of integration and security so developers can focus on writing features. By combining Nanobus with IOtas, it is possible to ship production grade software with POC level of effort.

Legacy application stacks can be added as custom compute resources to Nanobus to combine IOta with existing programs. Adopting IOta does not have to be an immediate technology swap.