Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Awsbox: A DiY PaaS for Node.JS (hacks.mozilla.org)
88 points by lloydhilaiel on May 21, 2013 | hide | past | favorite | 19 comments


I know that Mozilla has made a concerted effort to improve their public relations and "get out there" more, but it really seems like the Moz crew is just churning out innovations and interesting products one after another.


I'm really excited about the idea of building a generic DiY PaaS out of docker (for container management), mesos/chronos (for scheduling and allocation), and cloudformation (for auto-scaling and bootstrapping the cluster). I don't really want to do this as a business, but I think it could exist and be really nice.

Some install notes for mesos, chronos, docker on EC2: https://gist.github.com/fizx/b50319b6576773a0841a. If anyone wants to hack around with me on this, my email's in my profile.


I've started working on something along those lines: http://gilliam.github.io/ . Currently using LXC, but adapting to docker is quite easy since "VMs" are provisioned and launched via shell scripts.


I'm skeptical that your bespoke approach is better than gluing together well-known and battle-tested tools, but if you stick at it, you naturally have the chance to do something better, because of the singular vision. Best of luck with this!!


You might be right. I'm betting on the fact that if you compose your system of small decoupled components you can change your mind at a later time. Lets see what happens :)


This is a fantasy of mine as well. A generic opensource PaaS would be awesome. Now if I just had the ambition... It is quite an undertaking.


I'm working with a small team on an open source backend at dreamfactory.com. Apache licensed and installable on AWS, Azure, etc. or on any LAMP server. REST API is here http://www.dreamfactory.com/developers/live_API. CORS support plus JS SDK and boilerplate apps for jQuery, AngularJS, and Sencha around the corner.

What features are you looking for?


Basically, open heroku


So other than being open source, what's the benefit versus Heroku?


What about Cloud Foundry and Red Hat Open Shift?

Cloud Foundry seems kind of cool, and I think they are doing a lot of things right. But it's hard to set up AFAICT. And I think it's a little Java- or enterprise-centric

Haven't played around with OpenShift, but read about it. Seems interesting.

Anyway I am interested in what others want from an open PaaS.


None of them are nearly straightforward enough to setup. Here's what I want.

I ask ec2 for a new cloudformation ACMEPaaS stack instance, and I get a url of an admin console back as an output. Behind the scenes, a couple ec2 servers have booted up in my account in a cross-region auto-scaling group. Each is running an instance of the admin webapp and a copy of mesos. I log into the admin webapp, and do some setup stuff like configuring ACLs. There are a couple of utility applications up, such as a private docker image repository, a git server, and an instance of haproxy per server.

I can create stacks in docker and `docker push` them to the private repo. An application is a git repository with a metadata.json in the root (how much ram it needs, how many nodes minimum, how many availability zones, which ports it wants open, what script to run on start, which docker image to run on, etc). I can git push an app to the cluster to do a heroku-esque deploy. The cluster does rolling restarts of my app, and is smart enough to call my health-check script as it goes. Mesos (with cluster state stored in zookeeper) keeps my app running, and schedules it onto the appropriate boxes. When processes or boxes fail, mesos notices, reschedules, and updates haproxy to point to the correct boxes/ports. If I run out of RAM or cpu load hits a threshold, EC2 auto-scaling adds boxes to the cluster, and they're picked up automatically by mesos. I get a text message and an email via Amazon SNS whenever auto-scaling hits. The whole thing has a reasonable API.


Looks like a great start, that's sth I've been waiting for a long time.

It would be great if it supports adding more instances (dynos?), balanced through ELB. And... worker instances. And... Some configuration management.

The potential is huge!


For what it's worth, there is a complementary (early stage) project a colleague of mine is working on where the idea is to let you leverage cloud formation from the command line and get closer to what you're talking about (deployment of a more complex infrastructure rather than just a single instance):

https://github.com/mozilla/awsboxen


This looks nice. I'm currently in the process of creating a deployment script to cluster out wowza media server with a edge/origin setup ,auto scaling and loadbalancer setup. Really wish beanstalk was less error prone and worked 100% of the time.BTW does anyone know if beanstalk supports paid Ami's ?


Why not just EBS at that point?


Ack! Acronym collision! EBS is Elastic Beanstalk, or Elastic Block Store?

If the former, it's in my opinion a question of what you're looking for. Here's my best response: https://hacks.mozilla.org/2013/05/introducing-awsbox-the-diy...


Could you expand?


Very cool. Is there anything similar for Rails?


So, we are heading towards PaaSaaS?




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

Search: