Welcome! Please see the About page for a little more info on how this works.

+16 votes
in Other by

There are almost none online material about how to run Clojure projects in production environments and respective pipelines. It would be great to have more discussions and comments about what you are doing and not only what could be done.

My current setup:

Our infraestructure is based on microservice architecture running on Kubernetes behind Istio and Istio Gateway.

  1. CI is automated with Jenkins that runs Code Analysis and Tests and produces artifacts to sonarqube to be analyzed.
  2. Each Dockerfile compiles a jar file and have an entrypoint to execute the jar file in production when the CD publishes the new code into Kubernetes
  3. We use httpkit embedded for web services
  4. Some services are managed by mount or component libraries (database, web server, rabbitmq, etc.)
  5. Our configurations files are handles by yogthos/config library in edn files and lein's profiles
  6. no lib for logging, dealt by Google Stackdriver. (why these services are so expensive? :x)

We have no previous experience with Java products, so might have better services or practices to deploy code in production. For now, our mechanism is working just fine. I think this kind of content makes people more comfortable with their choices after reading some successful (or failures) use cases.

1 Answer

+5 votes

I think this is a fantastic topic and would love to see a guide on clojure.org that explored a range of alternatives with some of the pros and cons. I'm not sure it really makes sense as a "question" here though as there does not seem to be much of an actual question here but more of a call for discussion.

A guide on clojure.org would be really great. But you don't think that we could use this question here to start the discussions and the guide would make sense later as some sort of compilation about what we talked?
Sure, I've left it open.