php[architect] logo

Want to check out an issue? Sign up to receive a special offer.

First look at Orchestra.io

Posted by on March 21, 2011

Orchestra.io logoLast month, I discussed the concept of Platform as a Service (PAAS) and surveyed the available options for PHP developers. If you haven’t read it yet, I highly recommend you start there. This article will not rehash the reasons why you might consider PAAS, but will instead focus on my early impressions of orchestra.io, one of the PHP-specific PAAS providers.

When I wrote my previous post, Orchestra was not yet in beta, so I had a limited understanding of the service. Last week, however, I got a beta invitation and I have had sufficient time to ‘kick the tires’ and see what this service has to offer. As you read this, please keep in mind that this is still an early beta and Orchestra is adding features and options at an extremely fast pace.

The first place to start when testing a hosting service is provisioning a new site. Orchestra offers three types of sites: Free, Basic and Elastic. These tiers come with different tradeoffs in price versus performance and available features. For my purposes, I stuck with the free tier, which is more than adequate to get a proper feel for the service. After picking a domain (only orchestra.io subdomains can be used with free accounts), pointing it at a git repository and defining my public start page, my site was provisioned and publicly accessible. Orchestra even offers several pre-built git repos on github to use as starting points for popular PHP frameworks.

Once your site is provisioned, you’ll need to deploy some code and this is where Orchestra really shines. Their philosophy is based on the idea of integrating into your existing development workflow, not in forcing you to add one extra step in how you manage your project. While Git is the preferred method of deployment, SVN is also currently supported and there is some mention of future Mercurial and Bazaar support in their knowledge base. Orchestra’s deployment model is more pull than push. It polls the master branch in the repo you specified during site setup and as soon as it sees new code, it pulls this into production. Both private and public repos are supported too, so there’s no need to make your source code open to the world. This process happens every minute, so you won’t have to wait long for it to show up on your site.

There is also a growing assortment of add-ons that you can enable for your site. One that almost every site will need is a database. MySQL is currently available and free, as is phpMyAdmin for remote management. Paid options for CouchDB and MongoDB are listed as coming soon. If you need to run scheduled jobs on your server, you can enable the free cron feature, which simply looks for specially named files based on the desired frequency of execution (daily, hourly, weekly, and so on). A growing number of PHP sites rely on Memcache, and this too will be a free option on Orchestra, but it is currently listed as “coming soon.”

I could go on and on, but hopefully I’ve given you enough of an impression to encourage you to explore more on your own. Beta access can be requested on the Orchestra home page and in the meantime, I highly recommend looking through their public support docs. Here you will find more detailed information on pricing, their internal architecture and some design considerations you’ll need to understand when writing your application.


Joel Clermont is a programmer by day, and often by night. While PHP is his first love, he also regularly works with .NET and the iPhone. He is a founding partner of Orion Group, a Milwaukee web development firm, and also organizes the Milwaukee PHP user group.
Tags: , ,
 

Responses and Pingbacks

Joel, you never cease to amaze me. Scott

One quick update: Orchestra has announced today their support for per-branch deployment. It’s no longer limited to only pulling from master, but you can now specify the exact branch you want! More info http://blog.orchestra.io/post/4257312196/deploying-git-branches

Leave a comment

Use the form below to leave a comment: