laravel/vapor-core
The core service providers and runtime client that power Laravel applications on AWS Lambda. Part of Laravel Vapor, the auto-scaling serverless deployment platform, handling integration with SQS queues, databases, Redis clusters, networks, and CloudFront CDN.
Architecture fit
laravel/vapor-core is not an application-level library. It is the kernel plus invocation handlers that translate AWS Lambda event payloads (API Gateway v1/v2, SQS, CLI) into Laravel HTTP and console requests, and translate Laravel responses back into Lambda-shaped returns. It sits between the Lambda runtime and the framework, ships inside the deployment artifact, and is auto-discovered — there is no manual wiring.
The fit question for a TPM is therefore not "should we add this package" but "is serverless Laravel a product requirement." If the answer is yes (bursty or unpredictable traffic, per-request cost model, no desire to run a fleet), this is a mandatory, load-bearing component. If the answer is no, the package offers near-zero leverage. Note the v2.43.4 change that skips service-provider registration on Laravel Cloud: Laravel is deliberately hedging across hosting products, so code that runs under Vapor is increasingly portable to Laravel Cloud without rewrite. That materially reduces the "we're locked in" objection.
Integration feasibility
Integration effort is effectively zero at the package level — Composer resolves it, Vapor's build injects it, auto-discovery registers it. All real effort sits in making the application stateless: no local filesystem writes, sessions/cache on Redis or DynamoDB, assets on S3/CloudFront, queue workers on SQS, and database connections that survive container reuse. Budget engineering time for the app, not the dependency.
Technical risk
wait_timeout recovery (v2.43.3) are exactly the failure modes that make serverless risky. State bleeding across invocations is the archetypal bug in this architecture.Key questions
Stack fit
PHP 8.x with Laravel 10–13, Composer, Vapor CLI, a vapor.yml, and a linked AWS account. The package is compatible with FPM as well as Lambda (see v2.31.1, v2.32.2), which is the single most useful de-risking property here: you can install and run dual-mode before committing.
Migration path
Greenfield is trivial. Brownfield should be sequenced, not big-banged: pick one stateless service or a read-heavy API surface, put it on Vapor, keep the primary application on FPM, and migrate queue workers and the scheduler separately once the web tier is stable.
Compatibility
Treat the changelog as the compatibility matrix. Pin the runtime minor to your framework support window, and add an explicit gate in the Laravel-major upgrade checklist. Verify Symfony, Guzzle, and PHP minor alignment (v2.43.5, v2.47.0, v2.37.10) before scheduling the upgrade.
Sequencing
Maintenance
Code maintenance is low: Dependabot-managed, frequent patch releases, no forking expected. Environment maintenance is high: AWS account, IAM, VPC, RDS, CloudFront, secrets rotation, and the Vapor subscription itself. Total cost of ownership lives in the environment, not the package.
Support
MIT, community-supported, no SLA on the package. The paid escalation path is the Vapor subscription. Fix turnaround is fast and core-team involvement is a genuine quality signal, but self-supporting a fork is not a realistic option — plan on the commercial relationship.
Scaling
This is the package's core value: Lambda concurrency scales the web tier without capacity planning. But scaling moves the bottleneck rather than removing it — the database connection pool becomes the constraint (hence RDS Proxy and the wait_timeout patch), SQS becomes the throughput governor, and Lambda concurrency quotas become an AWS conversation. Cold-start latency scales with artifact size and boot time, making container size a product decision (feature scope, package count), not just an engineering one.
Failure modes
Cold-start tails inflating p99 against API Gateway's 29-second ceiling; state bleed between invocations; DB connection exhaustion and "server has gone away"; Lambda timeouts on long-running requests and large uploads; and event-shape edge cases in the API Gateway translation layer, which have historically shipped, been reverted, and re-shipped. Each deserves a named runbook entry and an alert before launch, not after.
Ramp-up
Engineers fluent in Laravel need roughly one to two weeks to become productive on Vapor; the learning curve is AWS-shaped, not Laravel-shaped. Budget a named platform owner (0.25–0.5 FTE) for the AWS/Vapor estate, and run a two-to-three week pilot on a non-critical service before committing roadmap capacity.
How can I help you explore Laravel packages today?