Zotonic is the open source, high speed, real-time web framework and content management system, built with Erlang. It is flexible, extensible and designed from the ground up to support dynamic, interactive websites and mobile solutions.
Zotonic is incredibly fast and wonderfully stable - suited for anything from basic websites to complex distributed applications. It offers an elegant backend for managing content with the flexibility that developers need to build truly amazing applications.
Zotonic has become my go-to application prototyping system for maybe 4-5 years now). I love the category, resource, edge model. I’m not sure if this is still the case but in the past when I was tempted to use it for production I ended up have to reach for different tooling because it expected to run on one web-server node. I don’t know if that is still part of the framework
We are running it in production with a customer support application, which is featured on multiple client sites. It handles all this traffic very nicely.
In the past we have had a reverse proxy in front of it, but because Zotonic makes client side caching easy this cache was not hit much anyway. We decided to remove it entirely because it halved our response times, and complicated the setup.
The machine usually has 50k open connections which can grow to around 250k. Which is peanuts for the beam.
What kind of traffic are you expecting in production?
I 100% agree, the performance on a single node is amazing, and the system administration is much simpler. The problem I ran into was convincing everyone around me that it could work with a single node. Part of this was convincing reasonably large IT dept. (~80 engineers, and three levels of management) that it was possible to simplify the extent I was talking about. Perhaps they had all been burned by their ageing .NET systems stability and scaling enough to be cautious.
RE: what kind of traffic are you expecting in production?
I sadly don’t have good numbers on this. I’ve largely been working the transportation brokerage space, and this was a reasonably large trucking brokerage. That meant a team of around 2k employee’s spending their entire day with the software with pretty intensive searching and filtering truck data with lots of odd invoicing logic. The current infrastructure to support this was way bigger than I care to admit.
I really like that the Zotonic team implemented a complete solution that demonstrates the capabilities of the Erlang programming language for creating web platforms of varying degrees of complexity. Implemented a modular architecture that allows you to implement ideas.
The project has a blog. I hope that the team will publish notes more often, stories about current work.