

Ask HN: Stackmob/Parse/Kinvey-like FOSS project? - backendpupil

Hello HN,<p>I'm developing a mobile app, but, I <i>really</i> don't want to setup a whole Rails stack, just to perform logic, access a DB, and serve JSON for my mobile app's API.<p>That said, for better or worse, I'm one of the weird ones that like maintaining their own web stack on a VPS/self-managed server and I'm looking for a solution to help me with this.<p>Does anyone have any suggestions on existing libraries, frameworks, or strategies for this?<p>Thanks!
======
aespinoza
Why do you want to maintain your own web stack?

I ask this, because my start-up is building a BaaS and we are testing our
idea, where our main hypothesis is that developers don't want to host/maintain
these services, they just want to be able to create them and use them.

If you really aren't interested in setting up the environment to perform
logic, access a DB and serve JSON, then why look for something that isn't
hosted?

Whatever framework and/tools you find, you still need to maintain right?

~~~
backendpupil
I'm a pretty broadly experienced guy and, within my skillset, I can do basic-
to-intermediate sysadmining.

I was born in 87 so I went through the era where people bought colos and
servers and maintained their own web stack - though was too young at the time
to ever get that notch in my belt.

I'm a power user who likes to tweak things and observe internal, often over
looked processes. I don't like losing raw control behind a user friendly
abstraction.

I'm interested in crunching statistical data from my own raw data logs.

Deep down, I don't expect my small projects and personal blog to ever
cumulatively reach a server-melting velocity. (If they did, that'd be sweet,
though.)

I own a Linode that I consider woefully underused.

Combine all of that and, for whatever reason, it just seems to me to be a good
idea to at least attempt to roll my own web stack. At least, until something
melts, is outside of my skillset, and I _need_ to fallback to a quickly
scalable, low maintenance, cloud-based solution.

That said, there _is_ still a side of me that doesn't want to expend more
effort than he has to and, ultimately, wants to tinker with new technologies
and frameworks... so that leads me to the hunt for an interesting solution to
lightweight API frameworks.

And, hell, if I take the hard road and find a solution with an advantage and
is something that can be scaled, well, that sounds like a business idea to me.

~~~
aespinoza
Then I recommend Gearman (<http://gearman.org/>). I think this is just part of
the puzzle, but you can definitely build around it. You can tweak it, and get
every performance bit you want.

Nodejs (<http://nodejs.org/>) can definitely help you as well. It is also
another part of the puzzle not an out of the box solution for BaaS.

If you are looking for a out of the box solution, I don't really know any open
source BaaS so far. You can build your own, but you will still have to install
and manage your stack on your own.

At the time when we started, we were also looking for something we could use.
We couldn't find anything so we built our own. We started to improve it and
make it better. And that is why we are now making it a start-up.

We have definitely thought about open sourcing it, but I don't think we are
ready for that yet.

I would really appreciate if you would test our service. No strings attached.
We are still in beta, and still validating the idea. Your feedback would be of
great help. Additionally you might get ideas for building your own.

If you are interested just check it out in <http://iknode.com> and register in
<http://iknode.com/register.php>

------
bmelton
The answer, as best I can tell, is to use Linode and their 'StackScripts'
deployment process.[1]

I just checked, and there's a stack for Apache, MySQL and Ruby [2], or this
one[3], which is an Nginx config with Passenger.

It won't write the code for you, but you can have a StackScript deployed in
almost no time at all, and Linode is a great host that is reasonably priced.
It doesn't automatically scale like some other cloud solutions, but with
StackScripts, git, and a load balancer StackScripted box in front of them, you
can scale out pretty easily.

[1] - <http://www.linode.com/stackscripts/> [2] -
<http://www.linode.com/stackscripts/view/?StackScriptID=207> [3] -
<http://www.linode.com/stackscripts/view/?StackScriptID=1291>

~~~
backendpupil
These are an awesome option for setting up a specific server configuration
which - I can see what you're saying - could significantly reduce the time to
getting a Rails-based JSON serving backend prepared, for example.

However, it saddens me there's not one, single, ready-to-go FOSS library for
this purpose.

~~~
bmelton
There are a bunch of tools that can kind of sort of get you there, but there's
way too much variance in getting 'what you want' to get everything going.

If you were using Python, you could probably use Silver Lining[1] for this,
which lets you set up an Ubuntu server and install packages as needed and
deploy your application to it. I'm speaking anecdotally, as I've never
personally used it, but it's supposed to have the capability to even manage
scaling by spinning up new instances as needed, and configuring them to spec
if necessary.

I don't know if a similar such tool exists for Ruby, or how well Silver Lining
works in practice.

[1] - <http://cloudsilverlining.org/>

