Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 10 | Comments: 37

filter by tags archive


Rik Hemsley

This is great to hear, but even better would be some kind of tutorial on how to do what they did with RavenDB - i.e. to get it into worker roles in Azure, store in 'Windows Azure Drives' ... They claim they developed their app in under 3 weeks, but I can imagine it could take a long time to figure out how to get this part of the app configured so I assume they already had some experience.

Federico Lois

Hi Rik,

The first version of Codealike (that has been up and running for 1 year from 2012 to 2013) was hosted on Azure Worker Roles. From the concept of the service to the implementation and deploy it took 8 weeks. 2 weeks to find out what to build and 6 weeks to develop the first MVP that could provide users some value.

We were able to have RavenDB up and running in a single day on a worker role (first time developers at the time on Azure). After that a Microsoft Azure swat team provided us some critical hints on how to squeeze performance from it.

Then we moved into an entire VMs with stripped disks setup after they were stable on Azure. This one alone was a huge improvement in performance.

The amount of high frequency data that we track has given us, the Azure Team and even Oren a couple of headaches with some humongous fan-out indexes :)

In the last 6 months we redesigned a big part of the backend to handle the growing number of concurrent users. Each developer can generate quite a big amount of data and sending that to us constantly during the day. We then have to index, sift through that, learn from it and construct derived information that is relevant to you. Most of the data we handle is time-series with annotations and we had to device a couple of tricks to handle it.

In Oren’s own words when doing a review a couple of months ago: “RavenDB in version 2.5 is not designed to handle this case.” but it is actually handling it pretty well.

We are actually waiting for RavenDB 3.0 to be stable enough to start a redesign of the entire data layout and processing because some of the things that made sense at the time are no longer true now that we are starting to support other IDEs like Eclipse.

For example, just the focus function (we will post about it soon) requires us to process a huge amount of data per user. And at the moment we are doing it hourly, but we are aiming at doing it in realtime. Another one is the dispersion pattern where you can see at a glance how you worked in a single visualization. https://twitter.com/Codealike/status/442782945204391936/photo/1

Other insights from the 2013 data: https://codealike.com/insights/

Comment preview

Comments have been closed on this topic.


  1. Production postmortem: The case of the memory eater and high load - 15 hours from now
  2. Production postmortem: The case of the lying configuration file - about one day from now
  3. Production postmortem: The industry at large - 3 days from now
  4. The insidious cost of allocations - 4 days from now
  5. Find the bug: The concurrent memory buster - 5 days from now

And 4 more posts are pending...

There are posts all the way to Sep 10, 2015


  1. Find the bug (5):
    20 Apr 2011 - Why do I get a Null Reference Exception?
  2. Production postmortem (10):
    14 Aug 2015 - The case of the man in the middle
  3. What is new in RavenDB 3.5 (7):
    12 Aug 2015 - Monitoring support
  4. Career planning (6):
    24 Jul 2015 - The immortal choices aren't
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats