We have seen how to run RavenDB on Windows Azure using a Worker Role, today I decided to try to setup RavenDB using a Virtual Machine, a Windows Server 2012 Medium Seized VM.

The first step is obviously to create the VM, once connected to Azure management portal I started the VM creation wizard:


Choosing to create a VM selected from the built-in image gallery, and choosing as the guest OS Windows Server 2012.


The next step is to define some information about the VM such as the name, the administrator’s credentials and the size of the VM


Currently the size of the VM is important other then for performance reasons for the number of hard disks you can attach to the VM, the big is the VM the highest is the number of the HDs you can attach.


I finally configure the VM as a standalone VM since currently is alone and created a new availability set, that basically is a sort of logical grouping of resources.

After that the VM creation process has finished the VM provisioning, it took something like 10 minutes, I created 2 Virtual Hard Drives and attached them to the VM.


From now on the process is exactly the same you can do on a stand alone server:

  • I RDP into the server;
  • Installed IIS;
  • Since it is a Windows Server 2012 I configured the 2 VHDs as a storage pool in striping mode;
  • Downloaded and installed RavenDB as a web application;
  • Configured Windows Authentication;
  • Configured RavenDB to put the “data” directory onto the storage pool;

easy peasy :-)

One last important thing, if you want to access the RavenDB site from outside of the Azure datacenter you need to configure an endpoint for the protocol and port:


By default there is only the RDP stuff. The interesting thing is that you are basically configuring the port forwarding on the Azure software load balancer…so you can use that feature to easily switch environments on a single VM…interesting.