Skip to main content
linu.us

Project / 04

Krauss Kommunikation · Internal platform

Automated Website Backup Platform

A central backup platform for hundreds of customer websites, designed to create reliable, inspectable off-site backups across multiple hosting environments and connection methods.

Role
Software Engineer / Technical Lead
Context
Internal platform
Stack
Laravel, PHP, Filament, MySQL, Queues, Linux
Status
Production
Scale
200+ websites · 10K+ backups · 50-60 TB processed

Case study

Context

The previous backup workflow used an off-the-shelf WordPress backup solution that pushed data to Google Drive.

At a smaller scale this was acceptable, but with more than 200 websites backup windows started overlapping, restores were unreliable and backup artifacts were cumbersome to inspect or recover manually.

The team also needed independently stored off-site copies with defined retention guarantees, including local office storage separated from hosting providers.

Problem

The existing process could not scale reliably, was strongly tied to WordPress and depended heavily on third-party storage mechanisms.

The target was one central backup system that supports WordPress and non-WordPress projects, multiple connection methods and standard archives that remain restorable without proprietary tooling.

Approach

I built a central Laravel application with Filament as the operations interface.

The model is organized around projects and backup sources. Each source has a type and dedicated configuration, with support for MySQL, MySQL over SSH, FTP and SFTP.

Sources can run independently or as part of project routines, then move through retrieval, validation, archiving and transfer to local retention storage.

Architecture

The cloud-hosted Laravel environment handles orchestration, queue execution, backup workers and intermediate storage.

Workers retrieve data from customer hosting environments, package validated backups, and transfer completed archives through a secure tunnel to a local Synology NAS for long-term retention.

This separates active backup processing from final storage while keeping physical independence from customer hosting infrastructure.

Key Decisions

  • Use standard, inspectable backup formats

    Backups can be downloaded, extracted and inspected directly even when automated restore paths are unavailable.

  • Separate orchestration from final storage

    Cloud execution improves connectivity and operations while local NAS storage preserves independent physical backup retention.

  • Model backups with extensible source adapters

    Generic sources avoid WordPress lock-in and allow additional systems like PostgreSQL or object storage through new adapters.

  • Process backups as queued infrastructure work

    Asynchronous queue execution enables retries and parallel processing without blocking the management application.

Backup workflow

  • Scheduled jobs identify due sources.

  • Workers connect to remote environments and download data to intermediate storage.

  • Data is validated and packaged into standard archives.

  • Completed backups are transferred through a secure tunnel to local NAS storage.

  • Retention policies determine which historical backups remain stored.

Metrics

Websites
200+

Managed customer websites and applications covered by centralized backup routines.

Backups created
40K+

Tens of thousands of backups created in production over approximately two years.

Data processed
50+ TB

Approximate cumulative backup volume processed by the platform.

Production runtime
2+ years

Continuous real-world operation across heterogeneous hosting environments.

Outcome

The platform replaced an overloaded third-party workflow with a central system aligned to operational requirements and retention guarantees.

Backups are now source-agnostic, inspectable and reliably stored in independent infrastructure.

The architecture remains maintainable and extensible as infrastructure requirements evolve.

Highlighted Outcome

What began as a replacement for an overloaded WordPress plugin evolved into a general-purpose backup platform that reliably processed tens of thousands of backups and roughly 50-60 TB of data.