Live data from Hacker News

Publish your Python function to PiCloud and invoke via REST

blog.picloud.com

11–14 of 14 posts

Re: Publish your Python function to PiCloud and invoke via REST

#13
post #10

From the perspective of a web app, how would PiCloud be better than, say, running Celery on my own server and sending all background tasks to it?

It's best to understand the differences from the top down. Celery is software. PiCloud is a service. This largely dictates the automation each system is able to provide.

Using PiCloud, there is no server to setup with your background processing software, in this case Celery. There is no server to deploy your own codebase on, where you have to manage the versioning of code and data; we automatically deploy the correct versions for you. With Celery, if you need more computing power, you'll have to setup a new server. With PiCloud, we're managing your infrastructure so we'll automatically boot new servers--hundreds, if necessary--or you can manually do it with the click of a button. If there's an update to Celery, you have to shut down your system and deploy it. With PiCloud, we handle all the server-side software updates because we control it.

It all boils down to less management, and more automation. A couple more examples. We've built redundancy across our system so that you don't have to design a system to handle server failure. You can choose the type of core (CPU + RAM combo) you want to use with one keyword argument; no need to change out all the machines you use.

The final result is that with a simple download of our client library and three lines of code, you can be leveraging a cluster of hundreds of machines. That's PaaS at its best.

A much more apt comparison would be with a service-oriented Celery.

Re: Publish your Python function to PiCloud and invoke via REST

#14
My friend and I just wrote something today that I hope will become the bedrock of a similar service, but for Perl: Oyster (http://github.com/gatlin/oyster), so named because it contains a Perl.

We tied Redis lists to filehandles, and then redirected STDIN/STDOUT in a local context to the Redis filehandles. Then, we simply eval code. It's a proof of concept awaiting sophistication / configuration.

Post reply on HN