You have just finished coding your great idea with Laravel. You have committed your final piece of code (git push!), and now you need a server to host it.
Typically, you would provision a server with either DigitalOcean, Linode, Hetzner or a similar provider. Your application is running smoothly at first, but now you are starting to see some traction, and your server is coming under stress – Black Friday has arrived, or you get some great PR!
To combat the problem of scale, the easy thing to do is get a larger server. Still, now you are faced with the task of provisioning it and possibly coordinating a switchover, which will likely incur downtime – can you afford this downtime in such a make-or-break moment?
You may or may not be aware of the concept of serverless, so let us give you a brief introduction and why you should consider a serverless solution for your project.
Serverless offers peace of mind. Scaling your infrastructure, horizontally or vertically, is done at a click of a button, with no downtime!
Serverless removes the single point of failure – if your server's hardware fails, you have very few options, and starting afresh is probably the best. Whereas with serverless, if a piece of hardware breaks, your application is automatically re-provisioned to another healthy server, and any downtime will be minimal.
Introducing serverless Laravel hosting with Animo Cloud
Animo Cloud believes in a serverless future, where developers focus more on their application's code and less on their server setup and maintenance.
To help developers reach this idealistic future, we built the Animo Platform.
The Animo Platform will get your application running on our serverless infrastructure with minimal hassle while providing unlimited scale and flexibility.
We want to remove any discomfort when it comes to adopting a serverless architecture. We have spent considerable time to ensure that deploying to serverless hosting has the same developer experience as deploying to a standard Virtual Private Server (VPS).
We tailor our platform for serverless Laravel hosting, and our underlying serverless architecture is not constrained by any 3rd party cloud provider or existing serverless implementations such as AWS Lambda.
And we use the same hardware infrastructure that you would find from AWS, Vultr and DigitalOcean, except that we run our software and provide you with these serverless capabilities.
What the Animo Platform gives you...
Scaling made easy with a built-in Load Balancer
When splitting up the traffic between servers running your application, you need to set up a Load Balancer, but this is just another thing to configure and maintain. With the Animo Platform, a Load Balancer is included for your application, as well as an auto-renewing SSL certificate. Then, when you scale your application, the Load Balancer is automatically aware of the change and starts route traffic to the additional servers.
High Availability (HA) by default
Most of us are running our applications on a single server due to cost-saving benefits, but this can come with massive potential problems. As we have previously stated, server hardware failure is 1 example; brittle network connections are another.
High availability has enormous upsides but comes with complexity. The Animo Platform aims to resolve this by minimising the complexity of configuration. At a click of a button, you can provision a Highly Available database such as MySQL by ensuring it is provisioned on three physically different servers.
Things to consider when going serverless...
Do you normally store files locally to the server?
Due to the flexible nature of serverless, your application could be running on more than one server at any given time. When doing this, it creates the problem that your data must be accessible from any server. Imagine you allow your users to upload a profile picture and that you store this on the server. Doing this creates a problem for a serverless platform because now your application is not stateless.
The Animo Platform solves this with 'Persisted Folders'. Input the directory you would like shared, and the platform takes care of the rest. It doesn't matter now which server your application is running on; it will have access to the data.
No server means no SSH, right?
When thinking about serverless, you will soon realise there is no server to SSH in to. However, there is no denying that it can be handy on some occasions to see precisely what is going on with your application. Therefore, you can access your running application right within the platform using our built-in web terminal.
How do I test this out?
We created a YouTube video showing how you can deploy a highly scalable and highly available Laravel application in 11 minutes which you could use to follow along with:
Our European platform is currently hosted at: https://eu1.animocloud.com
All Laravel News readers get 1 month free hosting that includes 2 CPU cores and 2GB RAM which should be enough to deploy a small database and a service to run your Laravel application.