Skip to content

Statista 4.0 Architecture

General principles

There are a few goals we want to achieve with the 4.0 architecture:

  • Strengthen ownership of the code
    The previous approach at Statista was a bigger monolithic setup, which contains all code (server and client) for all teams and all apps in one big repository. We noticed several issues with this approach:

    • Low ownership with the codebase, as all code is owned by anyone
    • Low probability of refactoring and keeping the codebase clean, as it is unknown who else is using code fragments and if they can be changed safely
    • Tech struggles to keep the dependencies up to date. Every change needs a whole test cycle and changes to a potentially huge codebase.

    To address these issues the 4.0 architecture follows the approach to split the website into different applications and develop and deploy them separately. This brings the code ownership directly into the teams.

  • Allow continuous integration and delivery Since all applications in the 4.0 architecture are independent of each other, it allows teams to integrate features as soon as they are ready. There is no coordinated integration required.

    Also it allows team to rollout new features whenever possible, since the deployment of applications is decoupled from other applications.

Current specifics

The current specifics are decisions which could be questioned and will be revisited if required. This includes best-practice patterns as well as state-of-the-art implementations for frontend or backend systems.