Cloud service software architecture

This page provides a short overview of the cloud service, from a software architecture perspective.

System Context

Structurizr is a collection of web-based tooling for the creation and publication of software architecture models. It makes use of a number of other cloud-based services including:

  • SendGrid - used for sending e-mails.
  • Taxamo - provides services related to EU VAT calculation and payment information capture.
  • Braintree Payments - a validated Level 1 PCI DSS compliant service provider, used for payment processing.
  • Papertrail - used for application logging.
  • Pingdom - used for application uptime monitoring.

Containers

In summary, Structurizr consists of two server-side Java/Spring MVC applications (one hosting api.structurizr.com, and one hosting www.structurizr.com), with data being stored in a combination of a MySQL database and Amazon S3. Most content is viewed/modified by users via a collection of single-page applications written in JavaScript running in the user's web browser.

Deployment

Structurizr is deployed using a number of cloud-based services including:

  • Pivotal Web Services (and Cloud Foundry) - used for application hosting.
  • Amazon RDS - used for data storage (users, workspace metadata, etc).
  • Amazon S3 - used to store your workspace, and the PNG versions of diagrams.
  • Redis - used for HTTP session storage.
  • CloudFlare - used for DNS, routing and SSL services (not shown).