vistecture

Visualize, analyse and document your software service architecture.

Discover your architecture in the Browser

A tool for visualizing and analyzing distributed (micro) service oriented architectures. Just define your applications (microservices) with its dependencies in a simpel yaml file and browse it in the vistecture online viewer.

vistecture --config=projectdefinition.yaml serve

Graphviz support

Vistecure can generate graphviz definitions for your architecture and also for group and team dependencies. Use them to render beautiful charts to visualize your architecture and your dependencies.

vistecture --config=projectdefinition.yaml graph | dot -Tpng -o graph.png

One source many usecases

Bored of writing system documentations or preparing powerpoints of your architecture?

Describe your architecture in a machine readable format in a central place and generate various documentation artefacts and other useful tools out of it.

vistecture --config=projectdefinition.yaml documentation --templatePath=htmldocument.tmpl > documentation.html

Example Definition


name: myapplication
group: group1
technology: scala
team: team1
summary: Short description
properties:
  foo: bar
  my-version: 0.1.latest
description: |
  Use markdown to describe the service.
  * one
  * tow
provided-services:
  - name: someApi
    type: api
  - name: otherApi
    type: api
  - name: eventpublish
    type: exchange
infrastructure-dependencies:
  - type: mysql
dependencies:
  - reference: otherapp
  - reference: yetanotherApp.service
                 

The vistecure definition format distinguishs wo formats:

  • Application defintion: To describe your application with its "provided services" (such as the main APIs), its dependencies and other meta data. The properties section allows custom and project specific properties.
  • Project definition: Describes where to read all the application definition and can be used for local overrides and to define useful subview sets.

Kubernetes Dashboard

A related project uses the vistecture definitions to display a status dashboard in kubernetes

Pivio Format support

Pivio format mapping is upcoming to support interoperability with other service definitions

Try it yourself

Run the example project local


docker run -p8080:8080 aoepeople/vistecture-example

And open your browser http://localhost:8080

Start your own project. As a kickstart have a look at the provided example:


git clone https://github.com/AOEpeople/vistecture.git
cd vistecture
go run vistecture.go --config=example/demoproject/project.yml serve