You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Paul Querna <pa...@querna.org> on 2011/02/08 07:28:12 UTC

Best Approaches for Developer Integration

Hi,

Lets suppose you are using Cassandra happily in production, but you
have an army of coders, with varying levels of knowledge about
Cassandra.

Currently we have hid most of our developers from the Cassandra
dependency by using a Fake interface that returns fake data from it,
but this is turning out to be less than ideal.

For example, for CouchDB has CouchDBX <http://www.couchone.com/get>
which at least on OSX present a very easy to use installer, data
browser, and GUI.  You just run CouchDBX.app, and then your
application can build out the rest of your data as needed for
development.

So, I guess this is coming down to:
  1) Has anyone built any easy to install packages of Cassandra?

  2) Can anyone explain their experience with getting non-Cassandra
developers up and running in a development environment? What worked?
What was hard?

Thanks,

Paul

Re: Best Approaches for Developer Integration

Posted by Stephen Connolly <st...@gmail.com>.
On 8 February 2011 06:40, Paul Brown <pa...@gmail.com> wrote:
>
> On Feb 7, 2011, at 10:28 PM, Paul Querna wrote:
>> So, I guess this is coming down to:
>>  1) Has anyone built any easy to install packages of Cassandra?
>
> I didn't find it necessary.  I implemented a simple embedding wrapper for Cassandra so that it could be started as part of a web application lifecycle (Spring-managed).  Developers just start up a personal copy of the service as part of "mvn -Pembedded-cassandra jetty:run" being none the wiser about the Cassandra underneath unless they care to be.
>

Mojo's Cassandra Maven Plugin makes this even easier

mvn cassandra:start jetty:run

If you don't want to modify your pom.xml to switch either jetty or
cassandra off of port 8080 then you'll end up with

mvn cassandra:start jetty:run -Dcassandra.jmxPort=_____

Note: the plugin has not been released yet... 48hr left on the release vote

>>  2) Can anyone explain their experience with getting non-Cassandra
>> developers up and running in a development environment? What worked?
>> What was hard?
>
> I've had technically savvy non-developer resources perfectly happy to work with the system via Ruby, PHP, or even the Cassandra CLI.  "Just do mvn -Pembedded-cassandra jetty:run" was too much in that case, but "Here are some useful libraries and here's where the prod/staging clusters are" was fine.
>
> -- Paul B

Re: Best Approaches for Developer Integration

Posted by Paul Brown <pa...@gmail.com>.
On Feb 7, 2011, at 10:28 PM, Paul Querna wrote:
> So, I guess this is coming down to:
>  1) Has anyone built any easy to install packages of Cassandra?

I didn't find it necessary.  I implemented a simple embedding wrapper for Cassandra so that it could be started as part of a web application lifecycle (Spring-managed).  Developers just start up a personal copy of the service as part of "mvn -Pembedded-cassandra jetty:run" being none the wiser about the Cassandra underneath unless they care to be.

>  2) Can anyone explain their experience with getting non-Cassandra
> developers up and running in a development environment? What worked?
> What was hard?

I've had technically savvy non-developer resources perfectly happy to work with the system via Ruby, PHP, or even the Cassandra CLI.  "Just do mvn -Pembedded-cassandra jetty:run" was too much in that case, but "Here are some useful libraries and here's where the prod/staging clusters are" was fine.

-- Paul B

Re: Best Approaches for Developer Integration

Posted by Sal Fuentes <fu...@gmail.com>.
Perhaps some of you may already be aware, but for the benefits of others:

1) https://github.com/fauna/cassandra does have a cassandra_helper script
which will download and install Cassandra for development/testing purposes
(although the cassandra_script might need to be updated to use 0.7)

2) For people on the Mac, there is a Homebrew (
http://mxcl.github.com/homebrew/) formula/package available for Cassandra
which makes installing simply: brew install cassandra

On Tue, Feb 8, 2011 at 8:49 AM, Jonathan Ellis <jb...@gmail.com> wrote:

> On Tue, Feb 8, 2011 at 10:38 AM, Eric Evans <ee...@rackspace.com> wrote:
> > I'm sure you already know this, but for the benefit of others, users of
> > Debian-based systems (yes, some of us do develop on Linux :) can apt-get
> > a package from the projects repository[1].
> >
> > Installing the package is enough to get a completely functional node
> > suitable to develop against.
> >
> > [1]: deb http://www.apache.org/dist/cassandra/debian unstable main
>
> And rpms are available from http://rpm.riptano.com/
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of DataStax, the source for professional Cassandra support
> http://www.datastax.com
>



-- 
Salvador Fuentes Jr.

Re: Best Approaches for Developer Integration

Posted by Jonathan Ellis <jb...@gmail.com>.
On Tue, Feb 8, 2011 at 10:38 AM, Eric Evans <ee...@rackspace.com> wrote:
> I'm sure you already know this, but for the benefit of others, users of
> Debian-based systems (yes, some of us do develop on Linux :) can apt-get
> a package from the projects repository[1].
>
> Installing the package is enough to get a completely functional node
> suitable to develop against.
>
> [1]: deb http://www.apache.org/dist/cassandra/debian unstable main

And rpms are available from http://rpm.riptano.com/

-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com

Re: Best Approaches for Developer Integration

Posted by Eric Evans <ee...@rackspace.com>.
On Mon, 2011-02-07 at 22:28 -0800, Paul Querna wrote:
> For example, for CouchDB has CouchDBX <http://www.couchone.com/get>
> which at least on OSX present a very easy to use installer, data
> browser, and GUI.  You just run CouchDBX.app, and then your
> application can build out the rest of your data as needed for
> development.
> 
> So, I guess this is coming down to:
>   1) Has anyone built any easy to install packages of Cassandra? 

I'm sure you already know this, but for the benefit of others, users of
Debian-based systems (yes, some of us do develop on Linux :) can apt-get
a package from the projects repository[1].

Installing the package is enough to get a completely functional node
suitable to develop against.

[1]: deb http://www.apache.org/dist/cassandra/debian unstable main

-- 
Eric Evans
eevans@rackspace.com