Laravel support: zero-downtime deploys, queues, workers and a curated infrastructure - init.d
IT

Laravel support: zero-downtime deploys, queues, workers and a curated infrastructure

A curated Laravel infrastructure, while you stay focused on the code.

Laravel is a productive framework to build on, but in production it has precise needs: PHP-FPM to size, queues and workers to keep alive, deploys that must not take the site down, and secrets to handle with care. We look after the side that matters - servers, deploys and infrastructure - so your team stays focused on the code.

Need to build the application instead, not just run it? See custom software development.

Overview

A Laravel application lives on two things: how fast it responds, and how reliable it stays when you ship a new version or when queues fill up. A slow request pushes users away, a rushed deploy throws the app into error at the worst possible moment, and a dead worker leaves emails unsent and jobs stuck for hours before anyone notices.

Our job is to make releasing a calm routine, not an event to dread: atomic releases, monitored queues, configured caching, secrets kept out of the repository. We take the application as it is - on an existing server or one we set up ourselves - and bring it to a state where every piece is documented and repeatable. You get a single technical point of contact who knows both the framework and the operating system underneath it, readable reports after every engagement, and no lock-in: the infrastructure stays yours.

Typical problems we solve

  • Deploying with git pull throws the site into 500 errors for a few minutes → we switch to atomic, symlinked releases with rollback in seconds.
  • Queued jobs fall behind or stop without warning → Supervisor keeps workers alive and a monitor flags delays and failed jobs.
  • Transactional emails go out late or never → we split the notifications queue from the heavy-processing one.
  • The app is slow even with little traffic → we enable OPcache and config/route caching, then tune PHP-FPM and the database to the real load.
  • Production migrations are nerve-wracking → we run them in agreed windows, with a verified backup and a rollback plan.
  • The .env file gets passed around in chat and no one knows who holds the keys → we move secrets out of the repository, injected on the server and rotated when needed.
  • schedule:run sometimes doesn’t fire and nobody notices → we put cron under monitoring, with readable logs and an alert if a task gets skipped.

What’s included

  • Zero-downtime deploys: atomic, release-based rollouts with an instant switch to the new version, migrations handled safely, and a fast return to the previous release if something doesn’t add up.
  • Queues and workers: Supervisor keeping processes alive, queues split by priority, connection tuning and handling of failed jobs.
  • CI/CD: pipelines that run the tests, build assets and release automatically, with manual approvals where they belong.
  • Optimisation: OPcache, cached config and routes, PHP-FPM and database tuning, Redis for cache and sessions, a lower TTFB.
  • Security and hardening: correct HTTPS/TLS, file permissions, admin-area protection, timely updates and a reduced attack surface.
  • Env and secrets management: .env files and keys kept out of the repository, injected securely on the server, with rotation when needed.
  • Scheduled tasks: schedule:run via cron and reliable Artisan commands, with readable logs of what ran and when.

Stack and technologies

Nginx in front of PHP-FPM with OPcache enabled, on the PHP version your Laravel release supports. Redis for cache, sessions and queues; a MySQL/MariaDB or PostgreSQL database sized to the real workload, not to the defaults. Workers run under Supervisor, the scheduler fires from cron, assets are built in the pipeline. For deploys we use atomic, symlinked releases (Deployer or equivalent scripts) and, where it makes sense, containers with CI/CD.

The systems we work on by default are Debian and Ubuntu; on request we also support AlmaLinux, Rocky Linux and other distributions. As a cloud we start from Google Cloud, with AWS and DigitalOcean as proven alternatives. On the perimeter, up-to-date TLS and Cloudflare as a first filter. Every choice is tailored to your application and written down in black and white.

A real-world example

A B2B SaaS running on Laravel was deploying with git pull and composer install directly in production: every deploy meant a few minutes of 500 errors, and a couple of times a month a dead worker went unnoticed until customers reported they hadn’t received their reports. We introduced atomic releases with Deployer, moved queues and sessions to Redis with workers running under Supervisor, split the email queue from the heavy-processing one, and added a monitor for failed jobs and delays. Migrations now run in agreed windows, with a verified backup before starting. The result: the team now ships several times a day during working hours, with no maintenance page, and a worker that crashes gets relaunched on its own - with a notification to us instead of a report from the client.

Who it’s for

  • Agencies and software houses building in Laravel who want the infrastructure looked after by people who really know it.
  • Product teams shipping often who need repeatable deploys, without ceremony.
  • Startups and SaaS that are growing and can no longer afford a hand-managed server.
  • Anyone coming from shared hosting who needs queues, workers and cache that hold up under real load.

How we work

We start with a check of application and server: Laravel and PHP versions, the state of queues and workers, how deploys happen today, .env and secrets management, response times and security gaps. From there we set out a plan with clear priorities and an indicative price, agreeing every release window in advance. Changes go through staging before touching production; at the end of the engagement you get documented configurations and a readable report on what changed and why.

For urgent issues we apply priority triage under our response times; for ongoing maintenance, hour packages that never expire are often the better fit. Quotes are free, with a reply within one working day.

Frequently asked questions

Do you deploy without taking the Laravel application offline?

Yes. We use atomic, release-based deploys with a symlink switch to the new version, migrations handled safely and an orderly worker restart. If something goes wrong, we roll back to the previous release in seconds, with no maintenance page.

Our queues and background jobs stall or fall behind - can you fix that?

Yes. We configure Supervisor to keep workers alive, size the Redis or database connections, split queues by priority and monitor failed jobs and delays, so heavy processing never slows down web requests.

Do you also handle CI/CD and application secrets?

Yes. We set up pipelines that run the tests, build assets and release automatically, with .env files and keys kept out of the repository and injected securely on the server. No credentials in versioned code.

Do you work on the server we already have, or set up a new one?

Both. We can provision a new server on a cloud of your choice - Google Cloud first, AWS or DigitalOcean as alternatives - or work on your existing one, with no lock-in: the configurations stay documented and yours, on your provider.

How much does support for a Laravel application cost?

Our hourly rate is €75/hour. For recurring maintenance, hour packages that never expire are the better fit: 5 hours at €350, 10 at €660, 20 at €1,200. Quotes are always free, with a reply within one working day.

If the application goes down, how quickly do you step in?

Standard coverage runs Monday to Friday, 10:00-18:00, with priority triage from P1 to P4: a P1 is picked up within 1 working hour. Outside those hours we guarantee intervention only for P1 emergencies of clients with an active on-call plan; work planned at least 20 days ahead remains possible, with a surcharge.

Do you also work at night or on weekends?

Guaranteed only for clients with an active on-call plan, and only for real P1 emergencies: production down, data loss, active security incident. On-call is a monthly retainer with limited seats, available on systems we manage and, after a case-by-case assessment, on others too: prices and rules are on the On-call page. Without a plan, coverage is Mon-Fri 10:00-18:00 and out-of-hours work is best effort: it may happen, but it is neither guaranteed nor something you can demand. Night or holiday work planned at least 20 days ahead remains available to everyone, at the surcharged rate.

Need a hand with your infrastructure?

Tell us the problem: we reply with a clear plan and a quote.

Get in touch →