Hi, You may be interested by openruko <https://github.com/openruko>, an OpenSource Heroku clone written in nodejs.
Cheers Romain Le samedi 2 mars 2013 03:49:19 UTC+1, Tim Dickinson a écrit : > > 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]>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] >>> 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. >>> >>> >>> >> >> -- -- 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.
