Is it production ready?

I’m just starting to learn about crystal. It seems cool and its great that people have already tried it in production(these companies). But their bravery doesn’t help the community much if they don’t talk about their experience. I’ve been searching for a talk or a blog post about using crystal in production but I can’t find any.
So I have two requests. If you know of any blog post or talk about this, post it here.
And if you are someone that is using crystal in production, please write something about your experience.

1 Like

Hi MassiveFermion! Welcome!

@sdogruyol talked a little bit about their usage of Crystal on Quora.

We’ve been using Crystal in production at Protel (where i work) and really happy with it for more than 6 months. We replaced tens of unicorn processes (looking at you Rails) with a single Kemal process and it’s been extremely fast and responsive with nearly 1/50 of the resource. Source

That was July, 2016 (38 months 2 weeks ago), and if protel is still using Kemal… that’s a long time, wow!


Hi @MassiveFermion

Besides that list, the people from are using it in production.

And a while back there was an interview to and is available in

As usual, when trying new technology is good to start small and feel comfortable. Depending on your specific needs and team Crystal might be ready or not for your use case. Do you have something specific you would like to give Crystal a try with?


not yet. But from time to time I like to update my toolbox with cool new technologies like crystal so that I can use them when I see fit.

Using it in production on raspberryPI.
Works reliably.


It does keep changing a bit but…besides that it’s lightning fast and much more stable than it used to be :)


I wrote a forum post a few minutes ago about our success using Docker to eliminate issues in production while using Amber and Crystal. Which you may find interesting :slight_smile:

The biggest I’ve had is that before we implemented commit locking, shards could release an update without bumping the version string that break old versions of Crystal but installing the new version of Crystal could break our code. Using Docker this way has reduced a lot of issues for us and how we did it may interest you.

Every language handles packaging differently, shards are unique and pose the same challenges as NPM and RubyGems do. As a for profit business, deploying Crystal is complicated and risky. We took steps to minimize the long term risk for ourselves and hope it provides some perspective to your question.