Going Serverless: Deploying Laravel avoiding Servers

December 1, 2025
2 min read
By Nour Sallam

Table of Contents

This is a list of all the sections in this post. Click on any of them to jump to that section.

Going Serverless: Deploying Laravel on Vapor

Server management is hard. Scaling is harder. Laravel Vapor simplifies this by allowing you to deploy your Laravel application directly to AWS Lambda, a serverless compute service.

Why Serverless?

  1. Infinite Scaling: Your app can handle 1 request or 1,000,000, and AWS automatically provisions resources.
  2. Zero Maintenance: No OS updates, no PHP version patching, no Nginx configuration.
  3. Cost: You pay only for what you use.

The Vapor vapor.yml

Configuration lives in code. Here is a simple example:

id: 12345
name: my-app
environments:
    production:
        memory: 1024
        cli-memory: 512
        runtime: php-8.2
        build:
            - 'composer install --no-dev'
            - 'php artisan event:cache'

Handling Queues

Vapor maps Laravel Queues to AWS SQS automatically. Just dispatch a job, and it runs in a separate Lambda function.

ProcessPodcast::dispatch($podcast);

Challenges

  • Cold Starts: The first request after idle time might take a second longer.
  • Timeouts: API Gateway has a hard 29-second timeout. Long-running tasks must be queued.

Conclusion

For most modern web applications, serverless is the future. It allows developers to focus on code, not infrastructure.