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+
- Backups created
- 40K+
- Data processed
- 50+ TB
- Production runtime
- 2+ years
Managed customer websites and applications covered by centralized backup routines.
Tens of thousands of backups created in production over approximately two years.
Approximate cumulative backup volume processed by the platform.
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.