Backend Architecture

C# and .NET Core

.NET Core is a C# programming framework used to build Designer Web API endpoints.

Event Grid

A highly scalable, serverless event broker that you can use to integrate applications using events. It is used to communicate changes in the system to other applications (services). The event grid is used to trigger event functions in the application.

Azure Functions

A cloud service that provides on-demand infrastructure to keep the app running. It is used to implement the web API endpoints.

Azure Blob storage

A Microsoft data storage solution for the cloud. It serves as storage for the designer application.

Azure logging

This collects and organizes log and performance data for the Designer app. It is used to create alerts that proactively monitor the system and be notified of issues or to see a visual representation fo the log queries and their results interactively.

Azure Metrics

This collects numeric data at regular intervals from monitored resources into a time-series database.

Cosmos DB Storage

A fully managed NOQL and a relational database for web app development. Azure DB storage guarantees low latency and high availability and instant scalability for the Designer application.

GraphQL and GraphQL Gateway

Graphql is a technology used for building and managing APIs. The Designer app uses a Graphql-gateway to provide a single point of entry into all the microservices APIs.

Postman

An API platform for building and using APIs. We use Postman to test the API endpoints built with Azure functions on diffrenet server hosted environments. Environments available on Postman for Designer are local, developmement, staging and production.

Terraform as IAC

We use Terraform as our Infrastructure as Code (IaC) tool that automatically provisions cloud infrastructure for our backend resource, ie databases and storage accounts.