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: 6,026 | Comments: 44,842

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.


No future posts left, oh my!


  1. Technical observations from my wife (3):
    13 Nov 2015 - Production issues
  2. Production postmortem (13):
    13 Nov 2015 - The case of the “it is slow on that machine (only)”
  3. Speaking (5):
    09 Nov 2015 - Community talk in Kiev, Ukraine–What does it take to be a good developer
  4. Find the bug (5):
    11 Sep 2015 - The concurrent memory buster
  5. Buffer allocation strategies (3):
    09 Sep 2015 - Bad usage patterns
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats