The Technology

CiteOps is provisioned as a Software as a Service (SaaS) offering and supports varied platform and business contexts.

We support on premises, hosted cloud, and cloud native deployments using an open, modular, and feature-flagged architecture.

The user interface for CiteOps is delivered via the browser, using modern JavaScript/Typescript frameworks. Access via single sign- on (SSO) and two-factor authentication (2FA) is supported, allowing organisations to centralise control over CiteOps deployments across their networks.

The application programming interface (API) for CiteOps is fully documented (https://api.commit.works/) and supports all operations needed to operate the system – it is the same API used by the client interfaces.

Inside Staff Looking At Screen2

The Approach

We use modern development practices underpinned by Agile methodologies using Atlassian Jira.

Our development pipeline uses Infrastructure as Code (IaC), Continuous Integration (CI), and Continuous Delivery (CD) approaches to run a high-performance development loop.

We use GitHub Actions to run our automated pipelines, and Octopus Deploy for delivery.

We honour the tenets of holistic design and derive Domain Driven Design (DDD) models to support complex business logic.

The Stack

Frontend components are built in Typescript and ES6 JavaScript using Angular and ExtJS frameworks.

We deliver mobile user experiences to tablets and phones via a Progress Web App (PWA). Our PWA works online and offline and communicates with CiteOps over standard https (443) protocol. The app also utilizes SignalR and Workbox technologies to provide real-time updates to the mobile interface.

Backend services are written in .NET6, a modern, open source, memory-safe runtime developed by Microsoft.

Our primary persistence backend is the high-performance RavenDB NoSQL solution, with real-time replication to SQL Server for Data Analytics and reporting.

We create REST APIs documented via Postman and Swagger.

We run Docker containers and sidecars orchestrated by Kubernetes and provisioned via Terraform.

Our observability and telemetry needs are met via Open Telemetry, Prometheus, and Grafana.

Monitoring and management are achieved with Pulseway.

We have delivered and maintain cloud solutions on AWS and Azure.

System Availability

Commit Works hosts its SaaS components on Amazon Web Services and Microsoft Azure.

For AWS, see https://health.aws.amazon.com/health/status for current system availability.

For Azure, see https://azure.status.microsoft/en-us/status for current system availability.

Commit Works targets “Three 9s” or 99.9% uptime for our standard SaaS offering. We implement self-healing and high availability strategies as well as 24/7 monitoring, alerting, and support strategies.

We also keep ourselves accountable; here are the stats for six of our systems selected at random:

System 1
Last 90 Days – 100% Uptime – Seconds of downtime = Zero.

System 2
Last 90 Days – 100% Uptime – Seconds of downtime = Zero.

System 3
Last 90 Days – 100% Uptime – Seconds of downtime = Zero.

System 4
Last 90 Days – 99.97% Uptime – Seconds of downtime = 46.

System 5
Last 90 Days – 99.95% Uptime – Seconds of downtime = 64.

System 6
Last 90 Days – 99.98% Uptime – Seconds of downtime = 23.

Backup and Restore

Commit Works takes full backups weekly, and incremental backups daily. We also leverage the backup and restore facilities provided by our cloud hosts.

Commit Works