IT infrastructure
Foliage was born out of frustration of our engineers faced with challenges trying to integrate diverse IT systems across different domains.
Loose coupling
We believe that good software architecture incorporates high cohesion and loose coupling. Discover how Foliage can help you implement those principles to transform your IT infrastructure.
Foliage helps you to see your IT landscape with a unified and extensible model, which simplifies and streamlines IT integration.
We build Foliage as a solid foundation for AI-powered automation.
microsoft for startups founders hubaws startup programs
How it works
Functional Graph
Application Platform
Distributed Graph Database
Graph DB & Functional Graph
Graph vertices used as data storage and edges are used for connectivity and data storage between objects. Functions can be fired by incoming signals in a context of vertice, and use edges to call functions on neighbor vertices.
Information & metainfo in one
Object types, link types, connectivity, functions, and applications—all stored within the same data graph. This enables seamless linkage between data and metadata, enhancing graph traversal and signal distribution based on data types.
Distributed event bus
All signals are asynchronous events in various topics in the clusterized event bus. The event bus is persistent, and implements “exactly ones” method of signal processing
Distributed async runtime
An application's runtime comprises asynchronous functions invoked on objects, with its business logic defined through call chain declarations that implement all use cases. Functions can be distributed across different geographic locations and logical execution runtimes as needed.
Serverless stateful functions
Functions are distributed across various runtimes on network-connected computing devices without centralized management. Each stateful function instance maintains its own persistent context for storing data between calls.
Persistent storage
The function context is persistently stored in the central core cluster, enabling asynchronous retrieval and restoration in case of function or application crashes or relocations. Each function maintains a dedicated context for every object, including graph vertices.
Graph as Signal Path
Graphs are used not only as data models, but as a way to propagate signals from one object to another. Signals can traverse one or many edges, depending to edge type and attributes. 
Edge runtime-friendly
Functions can be fired directly on object controllers, such as BMC, PLC, RPi, etc. Function calls routed to edge runtime running on corresponding controller.
High performance
Up to 400.000 function calls per second on a mid-powered server. Can be scaled almost linearly by clusterization.
Graph Query Language
XPath-like Query Language for graph traversal and signal Distribution, enabling graph exploration, object discovery, and traversal route specification for signal distribution.
Mutable model
Applications can concurrently run with the existing graph functional model, mutating and extending it. They can share the existing graph-based data model for communication via edges, enhancing code reuse with powerful data model recycling.
No-code platform
No-Code Function and Application Building: Logic for both functions and applications can be declared using low-code/no-code approaches. For functions, use scripts or configuration files. For applications, opt for visual or configuration-based call chains.
Web UI
Build a flexible, no-code web UI for graph observation with a template-based toolkit, utilizing graphs as data models to create interactive UIs with graph objects and links.
Weighted Signal Propagation
Weighted functional graphs for scalar, vector and tensor signals propagation, and ML applications.
Explore all features
See documentation
Use cases
CMDB as a single source of truth
Orchestration and control planes
Digital Twins and simulation systems
Complex and multi domain topology visibility
Distributed edge applications and edge fleet control
Topology-based distributed ML inference systems & grids
Smart city and other grids
IT systems integration
Composable systems
Cross-domain control and orchestration
SCADA systems and process integration
Telecom control systems
Topology-based visual IFTTT-like automations for different domains
Topology-based liquid neural networks
Graph-based self-learning systems with error back-propagation
Self-healing control systems
Join the conversation
© Foliage, 2023. Distributed under Apache 2.0 license.