Laravel Forge - How Taylor Just Saved Us Hours Of Work

Posted by Adam Engebretson on May 15, 2014

This week is Laracon 2014! Not only have the talks been amazing, and the hints to Laravel 4.2 been enticing, but the news has been outstanding! With Taylor's big announcement the centerfold of his Keynote, Laravel Forge is going to blow you away!

The Problem

Today, in the world of server provisioning and application deployment, there are a plethera of options. A non-exhaustive list might include AWS, Digital Ocean, PuPHPet, Chef, Heroku, Pagoda Box, and Fortrabbit. Each of these options bring different benefits to the table, as well as different challenges and limitations.

For instance, AWS (specifically EC2) and Digital Ocean both require server configuration at the most basic level. Editing nginx and MySQL config files isn't what us web developers want to do all day! While tools like PuPHPet and Chef bring some conveniences in helping with this process, it still demands a high level of understanding of web server configuration, php installation, and MySQL optimization.

Heroku, Pagoda Box, and Fortrabbit relieve some of this stress by managing the web server configuration for you. The git-based deployment of these options can be appealing to developers who don't want to manage server configurations. However, the cost of these solutions can be incredibly high, especially for the samller apps that don't require a lot of resources. Additionally, the cost to run various worker boxes or database boxes can increase the overall cost of these solutions past the threshold of feasability.

For those who are still interested in these particular options, I've collected a list of tutorials for getting your apps up and running on each platform.

The Solution

Presenting: Laravel Forge.

As a part of the Laravel philosophy, "Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching." And now, thanks to Laravel Forge, this statement can be ammended to include the web hosting and making the more advanced design practices, such as queue workers. Taylor's goal is this: to make it easy for a developer, regardless of caliber, to take an idea and get it online. In sum: "Super simple from download to deployment."

About a week before Laracon, Taylor Otwell asked me something:

"So, if there were a low cost Laravel-type Heroku competitor, but better than Heroku even kinda; would that be a big deal?"

My answer, in short: YES! What Taylor has done with Laravel Forge his brige the gap between the flexibility of AWS, Digital Ocean, PuPHPet, and Chef solutions, with the affordability and self-managed benefits of Heroku, Pagoda Box, and Fortrabbit.

Taylor describes Forge as an "instant PHP platform on the cloud of your choice." In comparison to the current deployment and server provisioning strategies, it brings simplicity, speed, and cost-effetiveness to the masses! For only $10/mo, Laravel Forge will use APIs and SSH to manage your servers for you, on your cloud platform of choice!

Laravel Forge helps you buy building servers in mere seconds with everything you need to host your Laravel app:

  • Nginx 1.6
  • PHP 5.5
  • MySQL
  • Postgres
  • Redis
  • Memcached
  • Beanstalk

It's immediatley apparent that using Laravel Forge brings a critical conveniences to your servers: consistency and security! As web developers, we may not all specialize in server best practices. From things as simple as restricting SSH access via password, to as complicated as restricting your IP tables, Forge takes care of it all!

In the coming days, as we learn more about Laravel Forge, I will be able to discuss more of the differences between Forge and the available servers that are available today, as well as some of the highlights of Forge.

However, for now, Matt Stauffer (who has had access to Forge for some time now) has written a technical blog about how Forge works, how to use it, and how to make your life easier by using it! So check out his blog here: