Skip to main content

Status page reference implementation decision

Introduction

For the reference implementation of the status page API defined by the OpenAPI spec some decision should be made to which technology to be used and why.

A reference implementation should be of use to most of the intended group, but is not necessarily applicable for every use case.

Motivation

For a reference implementation to be of any use, some common and widely used technologies should be used, so it's useful to most of the intended user group.

Decision

Programming Language

The status page application consists of an api server as well as a frontend. For implementing the api server, which is generated from the OpenAPI spec, Go was chosen, because of maturity and widespread usage as industry standard. Go, in particular, is a modern programming language and is commonly used in network and cloud computing environments.

Database

As database, PostgreSQL was chosen, since it is a mature, well-known database. PostgreSQL can be run in various environments from small setups to scaled setups. Furthermore, PostgreSQL is a very healthy project with an active community and a solid license. It easily passed the SCS OSS health check.