Introduce Laravel Vapor, A Serverless Deployment Platform For Laravel

Muhammad Rafly Indrawan
4 min readJan 2, 2020

--

What Is Laravel Vapor ?

On 3rd of Sept 2019, Taylor Otwell Has Released Laravel 6.0 Which Have A New Logo And New Website.

Taylor Otwell Says At Laracon VII

Laravel Vapor is a serverless deployment platform for Laravel, powered by AWS. Launch your Laravel infrastructure on Vapor and fall in love with the scalable simplicity of serverless.

Laravel 6 Brings Some Additional Extraordinary Feature, It’s Called Laravel Vapor. laravel Vapor is a serverless deployment platform for Laravel. Developers can still keep writing their laravel applications as they are now. The Deployment Must be Run on AWS Lambda (Amazon Web Service) As Laravel Vapor Depends On it.

The Official Website is Https://vapor.Laravel.Com

Okay We’ve Been Talk A Little About Laravel Vapor’s History, So What’s The Special From Laravel Vapor ? Is There a Better Performace ?

Laracon VII Highlight

The Special From Laravel Vapor

  1. Encourages Collaboration

Vapor consists of teams, and it allows to form as many teams as possible by spending on one plan.

2. Improvised Scalability

Laravel vapor holds the capability to deal with more than half a million requests that can be processed with an average response time of 12 minutes.

3. Comprehensive Control

It offers complete control `over the activities that every team member has to perform. So, it is convenient to set various things that you can so with all the resources accomplished by vapor.

4. “Vanity URL”

Vapor let you access “Vanity URL” with the help its possible to get access to the application with a premium domain amongst co-workers to assign a custom domain.

5. Access to Different Environment Metrics

Vapor let you access to various environment metrics of HTTP requests received by the application in 24 hours, the average duration of those things, the different CLI invocations and the amount charged on Lambda.

6. Review and Search Recent Logs

Vapor let you review and search your recent logs from the Vapor UI. Vapor makes new entry gets auto-updated in the log.

7. Databases

There are two different types of database in Vapor. Serverless database and fixed-size database. A fixed-size database lets you pick the specifications like VCPU, RAM, etc. The other database is serverless it does not require any specifications. It can be done as per the requirements.

8. Capability to Form Redis Clusters

With the help of Vapor, it is possible to create Redis Clusters. You can form and manage elastic Redis cache clusters without undergoing any downtime. Simply attach them with your team’s project and simultaneously use them with multiple projects.

How About The Performance ?

Is Laravel Vapor Have A Better Performance ?

Laravel Vapor Takes Your Laravel Application and convert it into single AWS Lambda that AWS Invokes when needed.

However, one of the problems with serving your entire app using a single lambda is that you’ll have to configure lambda for the most consuming parts of your app even when they’re not running that much.

For example; if you have a part of your app that runs a simple query while another part is doing heavy reporting analysis. You’ll have to configure your Lambda for the heavy reporting all the time, so you set the memory to 3GB instead of 128MB; this is a waste of money since the price for the 3GB lambda is much higher than the 128MB one.

Having a built-in queue system, Laravel encourages you to run heavy work in the background. If you follow this, your HTTP lambda will become light and won’t require too much resources.

However, the CLI lambda is what you really need to watch out for. If you have a queued job that only requires 128MB of memory to run, while another job requires 3GB of memory, it doesn’t make sense to run the CLI lambda with high memory all the time. Instead you should consider splitting the heavy work into multiple jobs, so instead of running it inside a single lambda that requires a lot of resources, you just dispatch a chain with multiple jobs and Vapor will invoke the lambda once per job.

This works for most of the cases. However, at some point running multiple invocations of a small lambda will cost you more than running a single invocation of one resourceful lambda. Once you notice this, you should start considering moving this part of your app to its own app (microservice).

Given that you can create unlimited projects on Vapor, splitting your project to multiple smaller projects when it makes sense won’t add any cost..

So, It’s Really Good To Recosinder Deploying Your App to Serverless, It’s Simple, Cheap And Fast.

--

--