Click here to monitor SSC
  • Av rating:
  • Total votes: 0
  • Total comments: 10
Shameer

PHPFog and Pagoda Box: A Look at PHP Platforms

14 December 2011

Cloud platforms such as Heroku, AppEngine, PHPFog and Pagoda Box are ideal for companies who just want to focus on providing applications without the distractions of infrastructure management. Both Pagoda and PHPFog are particularly suited to PHP-based applications using the LAMP stack

Platform as a Service (PaaS) is a cloud computing delivery model which enables companies to focus on business and development, leaving infrastructure management, life cycle management, etc. to service providers. Customers need not worry about installation and configuration of their environment, or its management and monitoring. Working with PaaS is also inherently agile.

Platform services like Heroku and AppEngine have been well-known for the last few years and many companies have been using them successfully in their business. They are more attractive to startups, due to low initial cost and smaller headaches involved in setup. 2011 was a great year for platform services, with the emergence of many platform services and a new trend for supporting multiple languages instead of supporting a single language. In fact, having support of multiple (but specific) languages will become a necessity for any Platform service. Companies such as Xeround go a little beyond this, and provide explicit support of Databases (Database as a Service or DBaaS). Here, I will go through two of the PHP platform services I have experimented with: PHPFog and Pagoda Box.

PHPFog

PHPFog are one of the leading services in the PHP platform landscape. They were founded in August 2010 and went public in May 2011, the first player in the PHP PaaS market to do so. They have provided a decent service since they started, and offer a free six month plan with 100 MB storage and 15GB bandwidth. You can have up to three applications running under this free plan. Their paid-for plans start from $29 per month.  PHPFog have added support for many other languages, including Ruby, Java, Nodejs, and more, through the AppFog platform. As a key contributor to the CloudFoundry ecosystem, they are looking forward to becoming a key player in the Platform service sector with multiple language support.

One of the cool feature of PHPFog is the support for one-click installation for many applications, such as WordPress, SugarCRM, and frameworks such as Zend, and CodeIgniter. This lets us easily create and launch applications within minutes. Pointing to a domain is also made very easy – simply give the domain name in the app dashboard and point a CNAME to the app. PHPFog uses Varnish in the cache layer and Nginx as load-balancer, which ensures very low response time. PHPFog is also an excellent resource center, from which you can get information about almost anything.

Although they are providing great services and features, there are some limitations as well, in the areas listed below.

Deployment
PHPFog only give git access to the application. Although this is enough for deployment, you won’t be able to connect through SSH or FTP. Though this is OK in many cases, it restricts you from creating cronjob and many other server side features.

Scaling
Currently, PHPFog don’t support auto-scaling. Apparently they are working on it and say they’ll be adding it shortly.

Monitoring
PHPFog don’t provide monitoring tools by default, but they’re tightly integrated with New Relic who provide world-wide monitoring and alerting. PHPFog give a free bronze account on New Relic to all paying customers on paid-for plans.

Caching
For caching, PHPFog basically use Varnish Cache, which can be controlled by setting appropriate headers. If you need to have memcached, you need to set it up in AWS’ Eastern region. PHPFog recommends using Eastern region for minimizing the data transfer delay. If you set up Memcache in another region, it will increase the wait time substantially.

Database Management
PHPFog currently provide a shared database only, using popular web-based management tool PHPMyAdmin. If you need to have dedicated databases, you can set them up in RDS and use them for your application.

Pagoda Box

Pagoda Box is another player in PHP platform services, which went public very recently. Unlike most of the Platform services, they’re built on top of the SoftLayer cloud infrastructure.
Pagoda Box offer a free account with 200mb RAM for free. You need to pay only when you need additional resources. They also provide a free 10MB MySQL cloud database. When compared with PHPFog’s ‘Silver Cloud’, with 610 MB ram and 2 burst ECUs, this is a bit costly.

One of the most attractive looking features of Pagoda Box is the dashboard analytics. You can see the details of requests processed, average time taken for requests, etc., but the feature was not functioning when I wrote this article.

Deployment
Pagoda Box also use git for deployments. To deploy your latest changes, all you need to do is push the changes to Pagoda Box. You can switch between branches and deploy any commits from the dashboard – it’s a really cool and useful feature. Application configurations are stored in ‘Boxfiles’, located at the base of git repo. When you deploy an application it will read the Boxfiles and make necessary changes.

Scaling
For scaling a Pagoda Box app, you can add more resources from the dashboard. You can add more instances and workers, increase the RAM (which is not there in AWS), and so on. Pagoda Box provides writable storage shared among the instances to keep sessions and logs.

Database Management
You can create databases from the dashboard. As mentioned, you get a 10MB RAM database server free with an App, but this is absolutely insufficient. You’ll have to increase the RAM for running applications in production. Managing databases is done by creating a tunnel from your local machine then connecting to it using any MySQL client.

Caching
Pagoda Box currently supports memcached and will be adding redis soon. Since I haven’t been able to check this feature yet, I can’t say how effective it is.

Summary
There are many other services such as DotCloud, Red Hat OpenShift, Zend phpcloud, and Orchestra.io, that can be discussed here, but I feel that these two are particularly comparable and both are publicly available now. Comparing two services on the basis of some ‘Hello World’ experience (or a little beyond) isn’t really representative, though. Real comparison must be done against the reliability and cost-effectiveness of the service. PHPFog and Pagoda Box are providing good services, though they differ in the way they do it. Both have simple-to-use interfaces and can easily deploy and scale applications. So far my experience with both was pleasant and I got quick responses to any issues and queries. Pagoda Box’s choice to use SoftLayer cloud as the infrastructure was interesting for me – we shouldn’t put only AWS in the picture – though for some users it may raise interoperability issues when it comes to scaling options. Still, the question “which one is the best?” depends on your goals and requirements.

Shameer

Author profile:

Shameer is a passionate programmer and cloud enthusiast, currently working for Qburst in Kerala, India. While not in work, he spends time coding personal projects, experimenting, learning, blogging, etc. His other areas of interest include system and database administration, reading, and more. You can find him on his personal blog at http://shameerc.com, and on twitter @shameer.

Search for other articles by Shameer

Rate this article:   Avg rating: from a total of 0 votes.


Poor

OK

Good

Great

Must read
Have Your Say
Do you have an opinion on this article? Then add your comment below:
You must be logged in to post to this forum

Click here to log in.


Subject:
Posted by: Satheesh (not signed in)
Posted on: Monday, December 03, 2012 at 8:02 AM
Message: Hi All, I just come across another cloud service http://www.gungoos.com/. It provides good stack of features. Cheeers!

Subject:
Posted by: Avery (not signed in)
Posted on: Monday, December 03, 2012 at 8:02 AM
Message: PHPFog's paid plans have dedicated app servers, but sneaks in a "shared" database server, while Pagoda's DB server, while expensive, is dedicated. Makes a big difference in scalability and reliability.

Subject:
Posted by: Scott (not signed in)
Posted on: Monday, December 03, 2012 at 8:02 AM
Message: Hey Shameer, Pagoda Box has rolled out a lot of new functionality since your article was first posted. Here's a rundown of the releases with links to the announcements: Dedicated MySQL Databases: http://bit.ly/uSLJR1 Deploy Hooks: http://bit.ly/yDqkf0 Cron Jobs: http://bit.ly/xuHFYA SFTP Deployment aka Vintage Mode: http://bit.ly/y93IK3 Redis: http://bit.ly/zDetoJ And there's a lot more coming over the next few weeks. I'll keep you posted.

Subject:
Posted by: Shameer (not signed in)
Posted on: Monday, December 03, 2012 at 8:02 AM
Message: Thanks for the comment. Though I've taken a look into phpCloud a while back it was too young to comment on it. I felt phpCloud is really promising and I will look into that once again soon.

Subject:
Posted by: brdesign (not signed in)
Posted on: Monday, December 03, 2012 at 8:02 AM
Message: Hey Shameer. Thanks for the art. Nice job. What do You think about phpCloud from Zend? Maybe You could add it to Your comparison? Cheeers!

Subject:
Posted by: Chad Keck (not signed in)
Posted on: Monday, December 03, 2012 at 8:02 AM
Message: Welcome. Shoot me an email with the address you used to register and I'll get your account approved. chad (at) appfog.com

Subject:
Posted by: Shameer (not signed in)
Posted on: Monday, December 03, 2012 at 8:02 AM
Message: Hey Chad, Thanks for much detailed comment. Things are more clear now. BTW, though I've registered for AppFog quite a while ago, I didn't receive the invitation yet. I'm really excited to have a look into the service :)

Subject:
Posted by: Chad Keck (not signed in)
Posted on: Monday, December 03, 2012 at 8:02 AM
Message: Great article Shameer, thanks for taking the time to share your thoughts. We are glad you enjoy the PHP Fog platform. Some quick notes for clarification and that you and your readers might find useful: SFTP/SSH: We are looking at implementing one or more of these options for file-system access sometime in Q2. Auto-Scaling: While we do not support any 'auto-scaling' logic you can easily scale up (move to a higher plan) or scale out (adding more cloud servers) with just a single click in the admin console. Caching: In addition to varnish caching we also have opcode caching enabled for PHP apps using APC. As you mentioned memcache services can be used from AWS in the same region and integrated with a customers app tier and we also plan to have some add-on partners in this space soon as well. Database: Similar to caching a customer can use RDS or any custom MySQL/other DB deployment in Amazon's US-East region and we are working on direct 'add-on' integration with several partners as well. Direct external connections to DBs is something else we are looking at as well. https://phpfog.com/addons Don't forget, if PHP is not your thing you can get on the early access beta list for AppFog at www.appfog.com Thanks again!

Subject:
Posted by: Shameer (not signed in)
Posted on: Monday, December 03, 2012 at 8:02 AM
Message: Hey Scott, I am sorry, I just missed to specify that here. Thanks for the mention.

Subject:
Posted by: Scott (not signed in)
Posted on: Monday, December 03, 2012 at 8:02 AM
Message: Hey Shameer, Thanks for the write-up and thanks for trying out Pagoda Box. There is an important clarification about Pagoda Box's pricing that should be made. The 200MB of free RAM is not per account, it's per application. The 10MB of DB RAM is also per DB. This means you can launch as many free applications and DBs as you want. You're only required to pay when you scale beyond the free resources allocated to each application.

 

Top Rated

Data Science Laboratory System – Object-Oriented Databases
 Object-Oriented Databases (OOD) avoid the object-relational impedence mismatch altogether by tightly... Read more...

Tales from a Cloud Software Firm
 Following on from a discussion about how people are using the cloud, the Simple-Talk Editorial Team sat... Read more...

Data Science Laboratory System – Document Store Databases
 A Document Store Database (DSD) is similar to a Relational Database Management system with the... Read more...

Data Science Laboratory System - Instrumentation
 It is sensible to check the performance of different solutions to data analysis in 'lab' conditions.... Read more...

Testing the StreamInsight Service for Windows Azure
 Getting 'up to speed' with StreamInsight is easier if you take the time to run it and test it out.... Read more...

Most Viewed

Windows Azure Virtual Machine: A look at Windows Azure IaaS Offerings (Part 2)
 We continue our introduction of the Azure IaaS by discussing how images and disks are used in the Azure... Read more...

PHPFog and Pagoda Box: A Look at PHP Platforms
 Cloud platforms such as Heroku, AppEngine, PHPFog and Pagoda Box are ideal for companies who just want... Read more...

An Introduction to Windows Azure BLOB Storage
 Azure BLOB storage is persistent Cloud data storage that serves a variety of purposes. Mike Wood shows... Read more...

Managing session state in Windows Azure: What are the options?
 Because you can't maintain session state for ASP.NET applications in Azure using the default in-process... Read more...

Creating a custom Login page for federated authentication with Windows Azure ACS
 Windows Azure Acess Control Service (ACS) provides a way of authenticating users who need to access web... Read more...

Why Join

Over 400,000 Microsoft professionals subscribe to the Simple-Talk technical journal. Join today, it's fast, simple, free and secure.