I’m excited today to announce we’re ending our private beta and making Rama free for production use! You can download Rama here. Rama is a platform for developing any backend at any scale that unifies computation and storage, supports infinite data models, and greatly reduces the amount of infrastructure and code needed to build a backend. Rama is deployed as a cluster, and on that cluster you deploy any number of Rama applications programmed in Java or Clojure.

We demonstrated Rama’s power when we announced it 1.5 years ago by rebuilding the entirety of Mastodon to be Twitter-scale (mostly the same as the Twitter consumer product circa 2015). Mastodon/Twitter consists of a ton of different interactive and asynchronous features, all with completely different indexing and processing requirements. Our implementation is 100x less code than Twitter wrote to build their 2015 consumer product at scale and 40% less code than the backend portion of the official Mastodon implementation. The performance and scalability of our implementation is as good or better than Twitter’s published numbers, and no other infrastructure besides Rama was needed. I’m excited now to make this power available to everyone.

The free version of Rama can run clusters up to two nodes, enough to comfortably run small or medium-scale applications. A license can be purchased to run larger clusters and have access to enterprise features. One-click deploys are available for AWS and for Azure.

The effect of Rama on the development speed and operational overhead of our private beta users has been profound. The past couple weeks we’ve published case studies from Multiply and from AfterHour exploring this, and we’ll be publishing more case studies from more of our users soon. Here are quotes from those first two case studies:

“With databases, the conversation always started with “what are we able to do?“. I rarely find myself asking what Rama is able to support, and rather “how?“. The requirements of the application dictate how we utilise the platform, not the other way around. Rama as a tool allows us to think product first, while still delivering highly optimised and scalable features for specific use cases, something that would not have been possible without a much larger team.”

William Robinson, senior engineer at Multiply

“Rama provides exactly the type of persistence, routing, and data locality for processing that is required to handle chat as scale. We would have easily spent 3-6 months building an inferior backing to our chat system if it were not for Rama. We are running many rooms with thousands of concurrent users in each and do not see any reason why it won’t continue to scale as we add more users, more features, and more rooms.”

JD Conley, Head of Engineering at AfterHour

I’m also excited to announce that we’ll build your entire backend for you using Rama at 75% less cost than anyone else will charge for a comparably high-quality implementation. So if someone else quotes you $40k, we’ll only charge $10k. We can do this with huge profit margins because Rama reduces the cost of development so much (and we’re pretty good at using it!). As a bonus, your application will be fully scalable as well. We’re offering free consultations if you’d like to discuss using Rama or our services.

Releasing a free version of Rama was my goal ever since I started working on it. The mission of Red Planet Labs is to dramatically improve the economics of software development. Rama accomplishes the technical side of that – what previously required large companies can now be done by individuals or small teams. The next step is to teach the world how to leverage this new way of thinking of building software. Making Rama free to use is a major milestone towards that goal. As more and more developers adopt Rama, we’ll have more and more examples of how Rama applies to every domain.

We used the private beta as an opportunity to learn from early adopters and improve Rama with their feedback. Here’s just a few of the ways Rama has improved since starting the private beta 1.5 years ago:

  • Added instant migrations, enabling schema changes with arbitrary transformation functions to be deployed and fully migrate instantly no matter how large the datastore
  • Added incremental backups, enabling Rama applications to be frequently backed up to any external store (e.g. Amazon S3)
  • Added a REST API, enabling reads and writes to be done with HTTP
  • Added yielding selects, enabling massive queries to be performed with high efficiency
  • Added node labeling, enabling Rama applications with different hardware requirements to co-exist in the same cluster
  • Added streaming ack returns, enabling arbitrary information about processing to be communicated back to appenders

These are besides the innumerable telemetry, logging, performance, and minor feature improvements we’ve made.

If you’d like to use Rama please don’t hesitate to get in touch! We’d love to talk to you even if you’re only planning to use the free version.