Oh, and I should add that I didn't know about Pallet (http://palletops.com/) until your post (thanks!). As you described, seems like an easy way to deploy to cloud services. Very slick, at least on paper.

Sounds cool, I'll check it out.

Cheers,
Dave

(12/08/24 20:03), David Della Costa wrote:
Hi George,

It's been a few months since I was researching it but I did a similar
investigation.  I'm a web developer, with a bit (but not significant)
Java experience, but mostly coming from the Ruby/Python world.  So I
think we are probably coming from similar places.

What I ended up feeling like was, these are the options more or less:

1) Some kind of hosting which provides "out-of-the-box" Clojure
support, more or less.  I actually tried Heroku; it was was super easy
to get up and running, and very nice to work with (at least, for the
trivially simple app I set up).  I didn't try AWS but I can't imagine
it'd be that much more difficult.

2) Some people were using the strategy of keeping a REPL running
constantly and running jetty via ring:
https://github.com/ring-clojure/ring/wiki/Interactive-Development

3) Then there is setting up Jetty or Tomcat, buildling a WAR and
running your app that way.

( 4, sort-of... > * libraries like appengine-magic for hosting on GAE

GAE seems to have so many conditions to getting it set up, compared to
Heroku, say, that I didn't even begin to attempt it.  Also having used
GAE for some production sites lately, I'm not super psyched about it,
but YMMV.)

I'm leaving out some ways of approaching this but it kind of sums up
the general strategies for web apps, to the best of my knowledge.

#1 is ideal if you've got some money to throw at it.

#2 to me is crazy, but I'm thinking about things in terms of actually
deploying real web applications with a team of people.

so that leaves #3.  It seems to be the most flexible and cheapest
option, while still being stable.  It has the (perhaps major)
disadvantage of forcing you to run your own version of Tomcat/Jetty
and therefore have a setup where you can host that kind of thing.

I wrote a tutorial explaining my approach, which also has some links
to other approaches, maybe it'll be helpful to you. (I'd also love to
hear any feedback you have about things that are missing or incorrect
or outdated.)

https://github.com/ddellacosta/Clojure-under-Jetty-and-Apache

Cheers,
Dave

2012/8/18 George Oliver <georgeolive...@gmail.com>:
hi,

I'm a Clojure beginner working on a web project and starting to think about
deployment. Currently I host my project in a local VM and have a small VPS
for public testing. Looking down the road I'd like a more flexible hosting
solution.

It seems like the hosting landscape is changing fast so I'd like to know --
how do you deploy your projects 'now'?

So far I've found stuff like:

* A continuum of Clojure support from cloud providers, with some free tiers
at AWS, Heroku, Openshift, etc.
* tools like lein-beanstalk for hosting apps on Elastic Beanstalk
* libraries like appengine-magic for hosting on GAE
* libraries like pallet for abstracting deployment to multiple cloud
providers
* many more tools depending on how much 'more Java' you're willing to
incorporate into your project, for example deploying a WAR in a Tomcat
container (not even sure I have the lingo right there! :) )
* combining these tools and libraries with CI tools such as Jenkins for a
complete automatic develop -> build -> deploy solution.

 From what I've seen, and given that (a) I have a small project (probably not
more than 5k users eventually) and (b) I'm not a professional programmer,
but (c) I'd like to manage this in a professional way, it seems like a
strategy could be:

1. use a tool like lein-beanstalk for public deployment and use simple
scripts for building
2. in the meantime get familiar with pallet for more flexibility in the
future
3. eventually deploy using pallet
4. at this point learn a CI tool to fully automate the process.

What do you think?


thanks, George

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to