Skip to content

Revisit existing Flexo architecture documentationΒ #46

@lewismc

Description

@lewismc

We are interested in restructuring the Flexo architecture so that it reads like an intuitive guide. An example of that is the Cassandra architecture documentation.

Cassandra architecture is broken down into the following

  • Overview: abstract in nature, specifies the reason Cassandra was developed in the first place. Justifies it's existence.
  • Dynamo: what architectural design principles (from 3rd party existing systems) motivated Cassandra's own architecture. Details "first class citizen" concepts/objects which provides the system functionality or are used within the system.
  • Storage Engine: explains how storage is actually implemented in the database. For a relational database equivalent we would be talking about tables and their characteristics e.g. LOGGED/UNLOGGED and any other optimizations which can be applied to different use cases.
  • Guarantees: references foundational computer science Consistency, Availability & Partitioning Tolerances (CAP) theory to easily communicate where Cassandra fits in and what it can be used for.

AWS's DynamoDB documentation provides another excellent example of straightforward, intuitive information which someone can engage with and educate themselves with before attempting to use the product. We need to do the same for OpenMBEE/Flexo.

We can use these as motivation for identifying what is missing from our architectural documentation.

The desired outcome from this task is for us to outline a structure for our architectural documentation and then create separate tickets which will deliver the documentation for each of those areas.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions