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.