Executable architecture
Architecture is recognized as essential for the quality of software systems, but it is treated at best haphazardly if at all. CloudTalk changes this by making architecture directly expressible as executable code,
Three views, one source
Most teams maintain three incomplete views of the same system:
- an architecture diagram that explains components and relationships;
- application code that implements behavior;
- infrastructure descriptions that attempt to reproduce the operational topology.
They drift because authority is divided between them. CloudTalk expresses the architecture in code, giving every view the same source.
Architecture as realization
The diagram is code. The code is a diagram.
CloudTalk can directly express connections between components, and comes with built-in support for connections and components for data access, computation and data flow.
The following is a valid and executable, if incomplete, CloudTalk program:
orders → validate → fulfill
The arrows express connections between the named components.
A common source model
Application behavior, network semantics and machine configuration remain distinct concerns within a common source model:
- the architecture says what is connected and how;
- connectors say how specific relationships behave;
- deployment mapping says where each component and connector runs.
That is enough information to explain the system and to generate or drive the infrastructure that realizes it.