Workspaces -- realizing smart spaces

`Workspaces' is a project, started in January 2015, to document and modernize a large body of work on desired-state policy-declared systems for bespoke environments, by the myself and others. The ideas incorporates concepts from sources like distributed systems, CFEngine, promise theory, networking, etc.

New service meshes (note added 2018)

This project has not been updated, since the Cisco project was cancelled in 2016, but I am adding the note the Service Meshes (like Linkerd and Istio) have the potential to implement this idea, and seem to be moving in that direction. In addition, the prospect of `scaled cloud development languages', which I have been talking about, e.g. at QCon London 2018, will eventually bring the Workspace concept within reach of a broad range of developers.

The bigger picture

The idea is to take onboard new perspectives and developments in technology and work cultures, such as packaging, virtualization and containerization, in order to condense and simplify a universal abstraction for `cloud computing' and the `Internet of Things' from the large diverging mass of technologies. The technologies for cloud computing and the Internet of Things are both part of my vision of pervasive embedded computing, and these technologies are currently on a collision course, which is accelerating in a number of open source projects.

The ideas here are mostly quite old, but have never been full realizable with the technologies of the day. They have been developed first hand by the various authors on these notes below, and by others, and tried through several generations of technology. The invention of promise theory allows us to see many different ideas in a common light, and unify them simply.

  • An aircraft is a collection of workspaces.
  • A car is a collection of workspaces.
  • Your kitchen is a workspace.
  • Your house is a workspace.
  • Your delivery verhicle fleet is a workspace.
  • Your virtual online service is a collection of workspaces.