Lucas Carlson, Founder of Cloud-focused PHP Fog, Reveals What's in His Stack
Lucas Carlson has been a mover and shaker on the open source scene ever since he co-authored Ruby Cookbook, a comprehensive problem-solving guide for Ruby developers, and he also served as lead engineer for music-on-demand service MOG. Now, his startup company PHP Fog is red hot, and--as we've noted--Madrona Venture Group, Founder's Co-op and First Round Capital have committed $1.8 million of Series A funding for the firm, a Portland-based cloud computing outfit focused on scalable Platform-as-a-Service (PaaS) technology.
In the fast-growing world of cloud computing, companies are looking for easy-to-deploy and easy-to-manage ways to run comprehensive cloud computing stacks and services. PaaS offerings allow deployment of applications in the cloud without the cost and complexity of deploying the underlying hardware and software and worrying about hosting. From hosting to serving up instant-on Ruby applications, PHP Fog offers end-to-end cloud services. We caught up with Lucas for a Q&A focused on the question "What's in your stack?" Here are his responses.
What kinds of cloud deployments and services does your hosted stack offer?
We all know that the promise of cloud computing is a great one: more reliable, more scalable, faster, cheaper than ever before. However anyone who has ever tried to setup cloud infrastructure knows that there is still a huge gap between the promise and implementation. PHP Fog sets out to eliminate that gap for anyone using or building on the PHP platform. This does not just mean developers, but also people who know just enough to setup WordPress or Drupal or any other PHP-backed system.
PHP Fog is a PHP PaaS cloud offering. Our flagship backend is AWS, but we take advantage of various IaaS backends in order to provide the best experience for our users. We have built an N-tier system where every single application our system can automatically scale separately on each tier. Separate systems for application servers, cache servers, database servers.
Unlike many PaaS systems, at PHP Fog our application servers are single-tenant. One VM gets one Apache running one site. This is because PHP runs best this way, so we decided to embrace it.
What technologies, including open source tech, do you use in your cloud stack?
The stack provided to our users starts out very familiar. The best platform for deploying PHP is still Apache+mod_php so that is what we provide. This would not be as easy in a multi-tenant environment due to security issues. We also provide a managed MySQL system which most PHP applications are familiar with. In front of Apache, we put a varnish HTTP cache and an nginx load balancer. Varnish is a great way to handle increased load on systems and nginx provides instant failover and load balancing.
How do you plan to extend your cloud platform over time?
As infrastructure backends evolve, our platform will remain nimble. Amazon is the clear leader today in some ways, but we have the flexibility to offer higher IO solutions like Rackspace and GoGrid. If Amazon improves their IO, we can offer a seamless transition back into their infrastructure for our users. This also opens the ability to utilize PHP Fog in the private cloud. It is a great way to avoid the cloud silo issues being raised lately.
Many PaaS startups today seem to be little more than a next-generation AWS web console. Figuring out how they work is still an uphill battle. Our cloud platform takes a step back from the tools and looks at the utility of the cloud. Our focus is on making the lives of developers easier, delivering on the promise of the cloud.
What kinds of efficiencies do particular parts of your cloud stack offer?
Overall, we have created an experience where PHP developers can use us without major modifications to their typical workflows.
Since we focus exclusively on PHP, we are able to tune the stack to the needs of PHP developers. We provide NewRelic integration without a user having to figure out API keys or FTP around files. We can automatically install and configure enterprise PHP Zend Servers for our enterprise customers. We provide solutions for shared disk between app servers, a common requirement for PHP-based CMS's.
What management tools do you use on your platform?
We strongly believe in the right tool for the right purpose. Our infrastructure management system is built in Ruby because the cloud libraries are much stronger in Ruby than they currently are in PHP (however this is one thing we are setting out to fix). We are contributors and users of a great IaaS agnostic Ruby library called fog (https://github.com/geemus/fog) to manage our servers.
Our management stack also utilizes github's Erlang-based RPC server Ernie (https://github.com/mojombo/ernie) and we are evaluating zeromq (http://www.zeromq.org/) for our messaging system.