Hacker News new | past | comments | ask | show | jobs | submit login
Heroku for PHP - Private Beta Signup (phpfog.com)
71 points by cardmagic on June 8, 2010 | hide | past | favorite | 49 comments

like Heroku, but better

Somehow I doubt that, but the service looks interesting. I wonder if there is a market for high quality PHP hosting.

I have to agree. I really like the concept of the service, and I am sure it will find some niches, but I don't think I have ever considered "...like X, but better..." a strong marketing argument.

I would suggest just comparing it to Heroku and then specifying how your service is different, instead of making a claim about how one should be valued over the other.

Best of luck regardless.

"Like Heroku but for PHP" would have been a less arrogant slogan IMHO.

Actually a lot of top tier websites are built in PHP (Facebook's front end is a good example) and so I don't doubt there is middle tail in there that might jump on a Heroku-style managed black box hosting platform.

The only reason they can use PHP in the front end is because they have a lot of different backend and frontend services to compensate for it speed-wise. Facebook uses HipHop, backend services written with C/Java/etc(?), and lots of interesting frontend JavaScript stuff to speed up page loads. Wikipedia has literally hundreds of Squid servers to cache requests, so most visitors never touch code that was just generated with PHP. Needless to say, this would be unlikely to be possibly using PHP Fog. (This comment sort of turned into a PHP is slow argument, oops. My point should still come across though)

It's also not quantified in any way. Better how? Overall, the marketing copy there is really weak. Lots of fluff, not enough structure, and way too light on details.

Exactly. Heroku gives me all kinds of awesome packages like NewRelic, Memcache, Postgres, and literally about a dozen more at the click of a mouse. Not to mention DelayedJobs.

I don't see what these guys really have to offer me that could even be close to on par with this, but time will tell.

Put in my email for an invite, its going to come down to pricing.

My initial skepticism is that deploying PHP apps is easy, and Fantastico already gives us 1-click installs for stuff like Drupal and Wordpress. So you'll have to provide all the value on the sysadmin side.

However, we do have a couple of apps that require load balancing. I'm pretty happy with the dedicated server and load balancing prices we get from WiredTree already, but I'm always looking for new opportunities.

The benefit here is the git integration. I'd also assume that the control panel is going to be thousands of times easier to use and more efficient than Cpanel/Fantastico (which is pretty gross in my opinion)

I also dropped my email address in out of interest, but I agree this is definitely something that isn't needed for PHP. The web that we have right now was built for PHP. 99.9999% of hosts support it out of the box, and offer one click installs. If you're running your own app, it's just as easy to get that running with PHP.

What we really need is a Heroku for PYTHON! And Google App Engine is NOT the answer.

It's actually really easy to setup a git deployment platform for PHP on pretty much any shared host that offers SSH access.

Here's one example solution that has been working well for me: http://stackoverflow.com/questions/279169/deploy-php-using-g...

Why is Google App Engine not the answer for Python? Is it "the man" element or is there something at a technical level you don't like or missing?

Google limits you to using their own key/value store instead of a regular, relational DB. This makes it hard to migrate to and from GAE, so there's a fair bit of vendor lock-in.

A Heroku app can run anywhere else, out of the box.

BigTable is not a motherfucking key/value store. It's a sorted tuplestore with built-in multidimensionality. Hypertable is a direct clone, HBase and Cassandra use the same style of API but have slightly different storage backends.

Just because it isn't a SQL database doesn't mean it's non-relational or key/value.

At Google I/O, Google said MySQL (or MySQL compatible version of their own storage, whatever) was coming soon to App Engine.

(I don't work for Google btw, I'm just a bit of a fan of App Engine)

Python? Come help! http://cloudsilverlining.org

Interesting idea! I'm curious to see what exactly this service provides (considering PHP deployment isn't exactly hard, as others mentioned). I would certainly love to see such a setup for Python frameworks...

Doesn't Google AppEngine solve this for Python?

It mostly does, except that the environment is restrictive enough it's not like normal Python, everyone who uses App Engine really writes for App Engine.

If all you want is the git deployment workflow it's incredibly easy to do on any host that give you SSH access (including shared hosts):


I've been using this on my personal site and it works great.

I don't think there's a huge market for what Heroku does in the PHP world. With Rails, you want to run it as a long-running process. The amount of time to spin up a (Thin|Mongrel|Unicorn|etc.) is too long to do it based on a user request for a page and it's why Rails isn't run as a CGI.

PHP is a bit different. The language is typically embedded in the server and then the individual files are parsed and run. There's little configuration other than uploading the files since the server can just interpret the files ending in ".php".

Heroku needs to be able to put your application code on multiple servers and know which servers are responsible for your application. When one of your Thins isn't working, they need to kill it and spawn a new one, potentially on a new server and make sure they update their routing table. It's a tad complicated.

PHP Fog doesn't have to do much. Heroku is running around 65,000 applications. Assuming that applications are under 30MB (for the hard drive), a RAID-1 with 2TB drives on every server they have would do the trick with a simple load balancer sending requests to a random server would do the trick. Your code is resident on their 15 app servers, a request comes in and gets routed to a random one, it parses your PHP and returns a response. The application isn't in memory as a long-running process like it is with Rails. Heroku already just has shared or dedicated database servers. There's no fancy process monitoring that you need since you only have to ensure that Apache is still going strong.

But that's also why PHP Fog won't do as well. They aren't taking on as difficult a challenge as Heroku. They don't need to run something like god or monit to monitor lots of user processes. They don't need to pre-spawn application servers. They don't need fancy routing to keep track of what domain is being requested, what application belongs to that domain, and on what server that application is located. Because PHP doesn't usually involve long-running processes, it's taken care of for them. In fact, there are services like this already such as Rackspace's Cloud Sites (which puts your PHP or ASP code on multiple boxes, has a shared database, and loadbalances it). The same situation exists with Media Temple's Grid Service. Media Temple says, "hundreds of servers for the price of one". That's possible because the application code takes up such little space and can be easily replicated since it doesn't store state. Rails and Django users on Media Temple have to buy a "container" which comes with a certain amount of RAM on a specific box - because they need to keep the application in memory.

Rails deployment will get a lot more people on board because it's more difficult to do. You have to manage application processes. PHP deployment is already seen as something that "just works". And if someone is going to argue that this "just works" a little better, wait until different users are expecting different php.ini stuff - or they expect to be able to save to the local filesystem because that's what the code they downloaded does or do a highly insecure cross-domain require or all of the various things that can't "just work".

They could still be a very good webhost, but they aren't solving the same problem as Heroku and others (including Media Temple and Rackspace) have already gone the multi-server, auto-load-balanced and managed failover route for PHP (just not using git).

Those are pretty absurd arguments. Have you ever deployed a scalable PHP app? While it might be somewhat easy to deploy a simplest-case PHP site, real sites are much more complicated.

* For good performance you need at least 2 boxes (Web Server and DB) * For scaling web to 2+ boxes, you need to deal with sessions meaningfully * For HA/Failover, you need to run a load balancer and infrastructure to keep hot-standby boxes running.

In fact, the only difference between a scaled PHP app and a scaled Rails app is the ruby interpreter. Everything else pretty much you need solutions for on both languages.

When Heroku first came out, I immediately asked when to expect PHP support. Since the answer was "don't expect it", I am glad to see someone else working on a solution.

i disagree, somewhat. yes, this won't provide truly comparable services to heroku. clearly. the languages and stack don't work the same way.

but i think the point of this is to communicate the fact that they're abstracting out the server and scalability details. i'd pay to not have to worry about all that stuff and just work on the app.

if this thing will handle the server for me, keep it secure and up to date, provide me with a database that will scale with my app like amazon's RDS, provide me with meaningful data and metrics about my server/application/database, and provide me with things to make common tasks easier (deploying), then imo, it is worth me paying for it, or paying a small premium on top of what i'd be paying amazon or whoever. but then again, i'm a solo bootstrapper. the more time i have to develop, the better.

"heroku for php" might not be a great choice of a tagline from a strategic perspective, but it is a decent one if you want to consider SEO and organic search results.

This wholly encapsulates the philosophy we are bringing to PHP Fog... let us deal with the plumbing and you deal with development.

So, it's basically a PHP shared hosting with source control(git)? I would try it.

It will let you seamlessly grow from shared to dedicated hosting (and back again) as needed for either your application serving or database needs.

this is pretty much what Mediatemple.net already offers with Containers for their GS (shared hosting). They don't have PHP Containers but they do have MySql Containers that are automatically instantiated if traffic spikes. I think you could really make a difference by offering killer features on demand, like isolated memcached instances, redis, cassandra/mongoDB and RabbitMQ.

edit: email submited

I'm going to wait and see what they come up with.

But for decent scalable PHP hosting there are lots of options - sure you need to do a little configuration but, as an example, I just purchased another couple of "shares" on Gandi.net tonight.

Adding "share" as extra capacity for a server that needed it took a few seconds. Booting up a new instance on another "share", whipping nginx and my default configuration on took seconds (to set the script off, then it was a 10 minute wait).

So what, I guess, they have to do is put together a comparable service that removes the extra 10 minutes configuration work but adds benefit and doesn't cost any more.

(don't get me wrong - if they make it, I will use it :D)

The "typically embedded" part is where something like this might be useful. PHP doesn't have to be embedded, the FCGI version of PHP runs as it's own daemon and responds to requests from the web server. In that case, management of the PHP daemons falls right under PHP Fog's responsibilities and that is where it adds value.

The details are minimal in regards to what happens between pushing changes in git and the source code being updated in the cloud. Could you elaborate?

Hey fellow hackers, would love your feedback for making this a killer service.

Prefer scp/sftp over git. Am I supposed to publish site assets like 20gb of images in git? You can still trigger server-side actions when a file is pushed if you allow ssh.

Other than that, more details on the service would be nice. How do you scale MySQL for instance? I'm a technical guy so low level details are an important aspect for me.

With Heroku, you'd store those 20gb of images on S3. Then you have thm in development as well as production. And once they're up, you don't have to move them around.

yeah that would be pretty cool if they worked w/ fathomdb for mysql as part of the cost.

How is this going to be different than Fantastico that already comes with just about every CPanel hosting solution?

I don't know many hosts that don't allow 1-click install of tons of PHP apps already. I think Heroku mattered because of Ruby... right?

fantastico installs programs. i think the point of phpfog is to completely handle all aspects of the server and scaling it so that you can work on developing the application.

Fantastico really only works if it's part of the hosting solution. If you sign-up with any shared host offering CPanel, you'll probably have Fantastico, so basically, every CPanel host IS phpfog.

Sign-up, click to install WordPress, or whatever, and you're good to start customizing.

CPanel does not scale your websites nor does it help deploy changes.

I have tons of ideas about what you could do, but who knows, maybe you've done those things already :) I'd also love an invite, sheldon dot els at gmail dot com

Toss me an invite and I'll much more feedback to give! Just signed up with cullenw at gmail dot com

tough to give feedback when the app isn't open for usage yet.

there's potential, though, clearly.

Three words.

Make. Magento. Fast.

This will be very popular. Proof: http://code.google.com/p/googleappengine/issues/list?can=2&#...

I briefly considered making this, and the Python equivalent. Warning: I have worked extensively with PHP internals, and you are going to have a very bad time making this safe and secure.

I would suggest you add an option to use HipHop, the Facebook compiler, as an option. That would be a great selling point.

this feels very similar to Fantastico?

since rails has so much convention, you can write a system that scales it as long as peopel follow that convention.

PHP is a free for all. Different frameworks do things differently and need to be scaled differently. Lots of people don't use frameworks. I think it will be hard to write a "one size fits all" infrastructure solution for PHP, like what Heroku did for Rails.

Anyone know of a django/python set up like these?

See if maybe http://kutoken.com/ fits the bill.

the problem that PHP doesn't have is configuring the environment to run it. You just install a few pkgs and boom!

Even plugins come in php itself and aren't seperately pkged. There's no gems, no seperate server to serve the ruby backend. Just upload/push your code and it'll run. And any cheap host would do it. The _only_ advantage I see here is that I can increase my resources for the app (if it's like heroku) just with the click of a button without restarting the server.

But I can't wait to be proved wrong. All the best guys :)

also no screenshots, no video, no hands on? boo.

Seems insane and rude to say its better than Heroku, the service which clearly inspired yours.

Someone needs to build a Heroku for Clojure.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact