CloudFoundry is a very nice peace of software and might just be best the open-source paas systems. I have taken a lot of inspirations from how cloudfoundry/appfog is built. The idea of the event system that Raft uses comes from how cloudfoundry's system works. Having a mesh like network or servers that can be used to host node applications.
Its hard to say that Raft has any advantage over cloudfoundry. The only advantage's that raft has would only effect a node.js program developer. The Raft's stack is written in node and its make to host node applications. Any add-ons for raft would be written in node. So if you where someone who is hosting 10, 20, 100+ node applications then Raft could be a better fit. Some other thing that are nice is the one-line install of a PaaS system. >From starting the hardware to hosting an application is very easy. I would say Raft is more of a tool to the developer then a service. On Friday, March 1, 2013 2:28:28 AM UTC-5, Charlie Edward wrote: > > Looks awesome. What is the advantage versus cloudfoundry, and other open > source solutions? > > On Fri, Mar 1, 2013 at 7:16 AM, Tim Dickinson > <[email protected]<javascript:> > > wrote: > >> Raft - Open-Source PaaS >> >> The idea behind raft and mangoraft.com is to give the node community a >> fully-featured Platform as a Service (PaaS). Raft gives you a provision of >> CPU, memory, disk space and bandwidth. From this the sky's the limit in >> what can be build. Sites and services ranging from the weekend projects to >> large scale production sites are able to take advantage of raft. Full >> instances of a UNIX system is available from with in the running >> allocation. Each application is run in its own chroot jail. Keeping all >> other applications sharing the system safe. >> <https://github.com/MangoRaft/Raft#convenient>Convenient >> >> Deploy your application in under 30 seconds. Fast deploys mean even more >> time to build and debug your applications. >> <https://github.com/MangoRaft/Raft#scalable>Scalable >> >> Run more than one instance of your application. A global footprint is no >> problem, run your application independent to any LaaS providers or even run >> it on your own hardware. >> <https://github.com/MangoRaft/Raft#distributed>Distributed >> >> To take advantage of today's cloud provider. raft has been built to run >> on more then one server that is running in more than one data center. Raft >> uses a distributed event system allowing you to run more than one instance >> of each service. So if you wanted to host tens of thousands of your >> favorite express app, raft can do it. >> <https://github.com/MangoRaft/Raft#open-source>Open-source >> >> All the code is open source. If you would like to run your own copy of >> raft you can. Even better then the git repo is that you can install it all >> with one command. "npm install raft-hooks -g" this will install a program >> called hooks. Take a look at "hooks -h" for help on how to use the client. >> <https://github.com/MangoRaft/Raft#status>Status >> >> Lots of work is been done on Raft. If you would like to know more please >> drop us a line! >> <https://github.com/MangoRaft/Raft#installation>Installation >> >> Install raft >> >> $ npm install raft >> >> Install raft-hooks >> >> $ sudo npm install raft-hooks -g >> >> <https://github.com/MangoRaft/Raft#core>Core >> >> The core features of raft are a set of hooks that allow ease of adding >> more Feature latter one. With a distributed process module adding and >> removing part is no problem >> Feature StatusComment Distributed Event Systemcomplete The system used >> to distribute event to all processesRouter completeThe router is in >> working state. Over all seems to work well. SpawnercompleteWorking copy >> of the spawn/spawner. All feature are in place Logger completeFull >> package logging in real-time. StatscompleteLoad and memory usage for >> each spawn. Deploy/SnapShot Server incompleteDeploy server creating each >> package snapshot. API ServerincompleteREST api server for managing user >> packages <https://github.com/MangoRaft/Raft#hooks>Hooks >> >> Raft-hooks are a set of command line programs for running raft. >> Command StatusComment hooks hub completeThe main event server hooks >> router completestart the router process hooks spawn completestart the >> spawn process hooks logger completestart the logger process >> <https://github.com/MangoRaft/Raft#cli>Cli >> >> The comamnd-line program for managing packages hosted by raft >> Command StatusComment raft deloy incompleteDeploy to raft >> <https://github.com/MangoRaft/Raft#addons>Addons >> >> Other hooks that could be added on latter. Any action could be an addons >> to the system. >> Addons StatusComment WebUIincompleteWebui will be the web console to >> raft. Allowing users to manage their app from the web Emailer >> incompleteEmail >> addon for each package ffmpegincompleteVideo encoding service / Image >> resizeing >> >> The raft services are a set of hooks that make up the event system. It >> consists of 2 modules that are on npm. The first is "raft" and the second >> is "raft-hooks". Raft is the core components of the system as a whole. >> Raft-hooks is a command program to run the event system. >> <https://github.com/MangoRaft/Raft#the-hub>The hub >> >> The hub service is the event distributor for all other services. The hub >> service is the first service that must start. The idea behind the hub to to >> start it and forget it. You will never have to interact with the hub once >> it has started. >> <https://github.com/MangoRaft/Raft#router>Router >> >> The Router is used to proxy http and web-sockets to the corresponding >> application. You can run more than one instance of the Router. The idea is >> that the Router sit in front all other services and applications and proxy >> from a URL to host:port. If you where to query test.mangoraft.com your >> request would first go the the Router then be piped to the next application >> port. The Router does not have to be on the same server your applications, >> as long as the two processes can connect to one another thats all it take. >> To deal with many hundreds of thousands of request you may run 5, 10, 25+ >> instances of the Router. So that would be 25+ servers running an instance >> each of the balanRoutercer. The Router uses the native node.js cluster API >> to take full advantage of multicore processors. >> <https://github.com/MangoRaft/Raft#spawn>Spawn >> >> The spawn is the bulk of the "hosting" system for raft. It controls the >> starting and stopping of the application's. The spawn uses npm to install >> all needed dependences. Once the dependences are install the spawn will >> start up your application. Every application is built off the most basic >> package.json. all that so required is the app name, domain, dependences, >> start script and version. The package would be the same as npm's package >> for a module just that it does not need a user value. You can run more than >> one instance of each application. This allows for a true scalable node.js >> environment. The spawn is capable of running your application with versions >> of node "0.4.x>=". For every server you want to have hosting applications >> you need the spawn service running. You can have endless count of servers >> running the spawn. >> <https://github.com/MangoRaft/Raft#snapshot>Snapshot >> >> The snapshot is all about keeping track of different version of your >> applications. Every time you push or deploy to raft is creates a snapshot. >> If ever you need to revert to an earlier version of your application you >> would do so with the snapshots. >> <https://github.com/MangoRaft/Raft#logger>Logger >> >> The logger is used to keep track of all application stdout, stderr and >> npu output's. You can watch logs in real-time giving you a better debugging >> experience. By the end of the spawns life the stdout and stderr will be >> stored in the storage object. >> >> I would love to get the input from the community about Raft. What you >> like about it or what you might not. What thing would you want to see and >> what features you this Raft can go without. >> >> GitHub: https://github.com/MangoRaft/Raft >> >> Home: http://mangoraft.com >> >> -- >> -- >> Job Board: http://jobs.nodejs.org/ >> Posting guidelines: >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >> You received this message because you are subscribed to the Google >> Groups "nodejs" group. >> To post to this group, send email to [email protected]<javascript:> >> To unsubscribe from this group, send email to >> [email protected] <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/nodejs?hl=en?hl=en >> >> --- >> You received this message because you are subscribed to the Google Groups >> "nodejs" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
