Private Cloud - Simple - Scalable

TL; DR;


Python private compute cloud framework with a focus on ease of deployment and expansion rather than pure performance.

No need for a sysadmin to administer a complicated cluster. Run a one node cluster on your dev box in seconds, and scale to tons of nodes when you need.

Getting started


Add a node to the cluster

$> sudo pip install beach
$> python -m beach.hostmanager ./multinode.yaml
















                    

Query Actors in the cluster

from beach.beach_api import Beach

beach = Beach( './multinode.yaml', realm = 'testing' )
a1 = beach.addActor( 'Ping', 'myactors/pingers' )
a2 = beach.addActor( 'Pong', 'myactors/pongers' )

beach.close()











                    

Populate the cluster

from beach.beach_api import Beach

beach = Beach( './multinode.yaml', realm = 'testing' )
vHandle = beach.getActorHandle( 'myactors/pingers' )
resp = vHandle.request( 'do_ping', data = { 'dat' : 'val' } )

beach.close()











                    

What an Actor looks like

from beach.actor import Actor

class Ping ( Actor ):
    def init( self, parameters ):
        self.pong = self.getActorHandle( category = 'pongers' )
        self.handle( 'do_ping', self.start_pings )

    def deinit( self ):
        pass

    def start_pings( self ):
        self.schedule( 5, self.pinger )
        return ( True, {} )

    def pinger( self ):
        data = self.pong.request( 'ping',
                                  data = { 'dat' : 'val' } )
        self.log( 'Received: %s' % str( data ) )
                    

Get Beach