Architecture Tool

The architecture tool adopts “diagram as code” approach. Based on the JSON definition of all resources, it generates plain text to draws UML diagrams to model a complex cloud environment. It’s especially useful and efficient to manage the drawings when over 20 nodes and relationships are involved.

The tool can be extended as a configuration and asset management tool and single source of truth for the real IT environment. Here are a few features that the tool can be extended to have.

  • Update Confluence pages on node changes

  • Update Jira tickets on node changes

  • Trigger environment changes. (e.g. create permission groups in another software when the groups are added to the tool)

  • Synchronize data from external resources (e.g. person data from ative directory)

Furthermore, it will provide some lightweight solutions for uses in the future to draw architecture diagrams for their applications in hybird cloud environments.

Functional Features

  • Sign in with Gitlab or local account

  • A GUI to create/update all resources

  • JSON schema to define node attributes and constrains

  • Generates PlantUML diagrams to define graphical views of the system

  • Synchronize data from upstream tools or resources

  • Act as single source of truth by pushing data to downstream tools

  • Background job to save data to Gitlab to keep track of node change history

  • Background job to update document in Confluence whenever a node changes

  • Zoom in/out of diagrams

  • Export data as zipfile, import/restore data from another architecture tool instance

Indices and tables