Onder de motorkap van Marsvaardig

Een technisch kijkje in ons platform: van cloud infrastructuur tot development workflow. Ontdek hoe we kwaliteit betaalbaar en schaalbaar houden.
Laptop met programmeercode op scherm naast blauwe PHP-olifant mascotte, op houten bureau

Één slim platform, oneindig veel mogelijkheden

Bij Marsvaardig hebben we een krachtig multisite Software-as-a-Service (SaaS) platform ontwikkeld dat de basis vormt voor al onze websites en webapplicaties.

Dit platform stelt ons in staat om snel en efficiënt hoogwaardige websites te bouwen voor onze klanten, waarbij elke klant profiteert van continue verbeteringen en updates.

Ons platform is ontworpen volgens het 'shared codebase, separate data' principe. Dit betekent dat alle klantwebsites draaien op dezelfde moderne, goed onderhouden codebasis, terwijl de data en content van elke klant strikt gescheiden blijft. Deze aanpak biedt belangrijke voordelen:

  • Kostenefficiënt: ontwikkelingen en verbeteringen komen direct beschikbaar voor alle klanten
  • Schaalbaar: nieuwe websites kunnen snel worden opgezet
  • Betrouwbaar: het platform is uitvoerig getest en continu in ontwikkeling
  • Veilig: security updates worden centraal doorgevoerd
  • Flexibel: maatwerk is mogelijk binnen het gestandaardiseerde framework

In dit document nemen we je mee onder de motorkap van ons platform en lichten we de technische infrastructuur toe die dit alles mogelijk maakt.

Inhoudsopgave

Basis Architectuur

Ons platform draait op een robuuste cloud infrastructuur die is opgezet met schaalbaarheid, betrouwbaarheid en prestaties als uitgangspunt.

We maken gebruik van Digital Ocean's cloud platform in hun Amsterdam datacenter (AMS3) voor maximale flexibiliteit en betrouwbaarheid. Deze strategische locatie zorgt voor:

  • Optimale snelheid voor onze Benelux klanten
  • Naleving van Europese privacywetgeving (GDPR/AVG)
  • Uitstekende connectiviteit met belangrijke internetknooppunten
  • Betrouwbare fysieke infrastructuur

Server Infrastructuur

De basis van ons platform bestaat uit meerdere gespecialiseerde servers:

Core Platform Servers (Digital Ocean Droplets)

  • Frontend Servers (2x):
    • 2GB RAM, 2 AMD vCPUs, 25GB Disk
    • Geoptimaliseerd voor het serveren van webpagina's
    • Redundante setup voor hoge beschikbaarheid
  • Backend Servers (2x):
    • 2GB RAM, 2 AMD vCPUs, 25GB Disk
    • Gescheiden van frontend voor betere beveiliging
    • Redundante setup voor continue beschikbaarheid
  • Load Balancer:
    • 4GB RAM, 2 AMD vCPUs, 25GB Disk
    • Optimale verdeling van verkeer
    • Automatische health checks
    • Naadloze failover

Database Infrastructuur (Digital Ocean Managed MySQL)

  • Productie Database:
    • 8GB RAM, 2 vCPUn 40GB Disk
    • Standby node voor instant failover
    • Automatische backups en updates
  • Staging Database:
    • 2GB RAM, 1 vCPU, 40GB Disk
    • Volwaardige ontwikkelomgeving

Specialistische Servers

  • Laravel Service Droplet:
    • 1GB RAM, 1 AMD vCPU, 25GB Disk
    • Sitemap generatie
    • PDF conversie
  • Image Processing Server:
    • 4GB RAM, 2 Intel vCPUs, 25GB Disk
    • Eigen images.weserv.nl instantie
    • Responsive image processing

Storage & Content Delivery

  • Digital Ocean Spaces:
    • S3-Compatible Object Storage
    • Centrale opslag voor media en uploads
    • Automatische backups
    • Hoge beschikbaarheid
    • Geoptimaliseerd voor content delivery
  • Cloudflare CDN:
    • Global edge caching
    • DDoS bescherming
    • SSL/TLS management
    • DNS beheer
    • Web Application Firewall
    • Performance optimalisatie

Open Source Stack

Bij Marsvaardig geloven we sterk in de kracht van open source software.

Ons platform is gebouwd op de schouders van tientallen uitstekende open source projecten. We zijn dankbaar voor al deze tools en libraries die ons dagelijks helpen om betere en betaalbare websites te bouwen.

Core technologie stack

De basis van ons platform wordt gevormd door bewezen open source technologieën:

  • PHP: De krachtige programmeertaal die onze backend aandrijft
  • MySQL: De betrouwbare database die al onze data beheert
  • Nginx: De snelle en efficiënte webserver die alles bij elkaar brengt

Frontend Development Tools

Build & Development Tools

  • Grunt - JavaScript task runner voor automatisering
  • Webpack - Module bundler voor moderne JavaScript applicaties
  • Sass - De meest volwassen en stabiele CSS extension language

UI Components & Interactie

Performance & Optimalisatie

CSS Frameworks & Utilities

Backend Libraries

Application Architecture

Beeldverwerking

E-commerce & Betalingen

E-mail & Communicatie

Content & Media

Utilities & Tools

Security & Spam Prevention

Development & Deployment

Alle bovenstaande libraries zijn open source en worden actief onderhouden door hun respectievelijke communities. We zijn dankbaar voor hun bijdragen aan het open source ecosysteem.

Waarom open source?

Door te bouwen op open source technologie kunnen we:

  • Sneller innoveren
  • Gebruik maken van bewezen oplossingen
  • Transparant zijn over onze werkwijze
  • Kosten effectief ontwikkelen

Component Architectuur

Platform Basis

Gebruikersbeheer

  • Inloggen en rechten (acl, users)
  • Beheer van rollen en groepen
  • Sessiebeheer
  • Twee-factor authenticatie (TOTP)

Inhoudsbeheer

  • Pagina's en menustructuur
  • Versiebeheer en revisies
  • Meertalige content
  • Bestandsbeheer
  • Zoekmachine-optimalisatie

Bedrijfscomponenten

Webwinkel & Producten

  • Uitgebreid productbeheer
  • Categorieën en voorraad
  • Bestellingen en betalingen
  • Klantenbeheer
  • Multi-shop ondersteuning

Horeca & Reserveringen

  • Menu- en gerechtenkaarten
  • Tafelreserveringen
  • Zaalplannen
  • Allergeneninformatie

Evenementen & Tickets

  • Evenementenbeheer
  • Kaartverkoop
  • Filtermogelijkheden

Portfolio & Referenties

  • Projectenpresentatie
  • Klantervaringen
  • Categorieën

Marketing & Communicatie

Nieuwsbrieven

  • Abonneebeheer
  • Campagne-opvolging
  • Geautomatiseerde verzending

Beoordelingen & Sociale Media

  • Recensiebeheer
  • Platform koppelingen
  • Instagram integratie

Formulieren & Contact

  • Formulierenbouwer
  • Inzendingenbeheer
  • Openingstijden

Vastgoedbeheer

  • Projectbeheer
  • Pandenoverzicht
  • Zoekfilters
  • Statusopvolging

Development & Deployment

Ontwikkelomgevingen

Lokale Development:

  • Docker containers
  • Puppet configuratie
  • Identiek aan productie

Staging:

  • Volwaardige testomgeving
  • Klantacceptatie
  • Feature testing

Productie:

  • Hoge beschikbaarheid
  • Performance monitoring
  • Automatische scaling

Git Workflow

  • Feature branch strategie
  • GitHub voor versiebeheer
  • Pull Request reviews
  • Capistrano deployments

Database Management

  • PHPMig voor migraties
  • Versiebeheer voor schema's
  • Geautomatiseerde updates
  • Zero-downtime changes

Externe Integraties

E-commerce

  • Mollie betalingen
  • Sendcloud verzending
  • CCV terminals
  • Teamleader CRM

Administratie

  • Yuki boekhouding
  • Octopus facturatie
  • Postmark e-mail

Content Services

  • Unsplash afbeeldingen
  • Serper SEO tracking
  • CleanTalk spam preventie

Monitoring & Beveiliging

Performance Monitoring

  • New Relic applicatie monitoring
  • Updown.io beschikbaarheid
  • Error tracking
  • Performance metrics

Security

  • Cloudflare beveiliging
  • SSL/TLS encryptie
  • WAF protection
  • DDoS mitigatie

Backup Strategy

  • Snapshooter management
  • Backblaze storage
  • Google Cloud EU backup
  • 30-dagen retentie

Alerting

  • Slack notificaties
  • SMS voor kritieke issues
  • 24/7 monitoring
  • Proactieve detectie

12-Factor App Methodologie

De 12-Factor App methodologie is een set van best practices voor het bouwen van moderne, schaalbare webapplicaties. Bij Marsvaardig volgen we deze principes om een robuust en onderhoudbaar platform te garanderen.

Codebase & Configuratie

We werken met één centrale codebase in Git, waarbij omgevingsspecifieke instellingen (zoals database credentials of API keys) worden beheerd via environment variables. Dit zorgt ervoor dat dezelfde code probleemloos kan draaien in verschillende omgevingen:

  • Development (lokaal via Docker)
  • Staging (voor testing)
  • Productie

Dependencies & Services

Alle dependencies worden expliciet gedeclareerd en geïsoleerd. Bijvoorbeeld:

  • PHP dependencies via Composer
  • Frontend dependencies via npm
  • Externe diensten (zoals Mollie of Postmark) worden behandeld als verwisselbare resources

Build & Deployment

We hanteren een strikte scheiding tussen build- en runtime-processen:

  • SCSS compilatie en asset optimalisatie gebeurt tijdens de build fase
  • Capistrano zorgt voor gecontroleerde deployments
  • Docker garandeert consistente ontwikkelomgevingen

Schaalbaarheid & Betrouwbaarheid

Onze applicatie is ontworpen voor schaalbaarheid:

  • Stateless design waarbij sessiedata wordt opgeslagen in de database
  • Load balancing over meerdere frontend servers
  • Snelle opstart en graceful shutdown van processen

Logging & Beheer

We behandelen logs als event streams:

  • Centralized logging via New Relic
  • Gestructureerde logging voor betere zoekbaarheid
  • Admin processen draaien in dezelfde omgeving als de applicatie

Voordelen van deze Aanpak

  • Consistente ontwikkelervaring
  • Betrouwbare deployments
  • Eenvoudige schaalbaarheid
  • Verbeterde onderhoudbaarheid
  • Hogere stabiliteit

Subprocessors & Service Providers

Infrastructuur

  • Digital Ocean
    • Cloud hosting provider
    • Datacenter: Amsterdam (AMS3)
    • Droplets, Spaces, Managed Databases
  • Cloudflare
    • DNS management
    • CDN & Security
    • DDoS protection
    • SSL/TLS management

Monitoring & Performance

  • New Relic
    • Application monitoring
    • Error tracking
    • Performance metrics
  • Updown.io
    • Externe beschikbaarheidsmonitoring
    • Uptime checks (elke minuut)

E-commerce & Betalingen

  • Mollie
    • Payment service provider
    • Online betalingen
    • Transactieverwerking
  • Sendcloud
    • Verzendlabel management
    • Track & trace
  • CCV
    • Betaalterminal integratie
    • Offline betalingen

Boekhouding & Administratie

  • Yuki
    • Factuurdoorstroming
    • Boekhouding
  • Octopus
    • Factuurdoorstroming
    • Boekhouding
  • Teamleader
    • CRM
    • Product management
    • Webshop integratie

E-mail & Communicatie

  • Postmark
    • Transactionele e-mails
    • Broadcast e-mails
  • Slack
    • Interne communicatie
    • Alert management

Spam Preventie

  • Akismet
    • Spam filtering
  • CleanTalk
    • Spam preventie
  • Honeypot (eigen implementatie)

Content & Media

  • Unsplash
    • Rechtenvrije afbeeldingen
    • Content bibliotheek
  • Serper
    • SEO tracking
    • Keyword monitoring

Development Tools

  • GitHub
    • Code repository
    • Version control
    • Issue tracking
  • Docker
    • Lokale development
  • Puppet
    • Configuration management
  • Capistrano
    • Deployment automation
  • Grunt
    • Build tooling
    • SCSS compilatie

Backup & Security

Domeinen

  • DNS Belgium
    • Officiële .be registrar
    • Domeinbeheer België
  • SIDN
    • Officiële .nl registrar
    • Domeinbeheer Nederland
  • Cloudflare & Gandi
    • Andere top-level domeinen