Running single node in the cloud

Are there some recommendations/best practices on running the GetEventStore in the cloud, e.g. on Windows Azure?

Can the event store use blob storage or does the data have to be stored in classical file system?

I’ve been running EventStore with damn near 100% uptime in an Azure VM role since mid December with no problems. I use a blob storage mounted vhd for persistence.

Thanks for the answer. This is very encouraging.

Can you tell us a bit more about your specific setup

  • what kind of VM are you using (amount of RAM, OS, etc.)

  • how do you deploy your app (manual, GitHub?)

  • how do you run the event store (as a service or embedded)

  • how many event per second is your peak load

  • how many events per day/month do you process

  • what is your disaster recovery strategy

any insight is highly appreciated

Inline.

Thanks for the answer. This is very encouraging.
Can you tell us a bit more about your specific setup

- what kind of VM are you using (amount of RAM, OS, etc.)

Medium size Windows 2012 (2 cores, 3.5 GB memory). I could downgrade this
easily.

- how do you deploy your app (manual, GitHub?)

EventStore is built and packaged on my build server and I do a manual
deploy if needed.

- how do you run the event store (as a service or embedded)

I run EventStore as a service (built with http://topshelf-project.com/)

- how many event per second is your peak load
- how many events per day/month do you process

I have no idea. :wink:

- what is your disaster recovery strategy

We do multiple backups per day. Although this isn't ideal, it's what we
currently do ATM. I'm currently looking into either multi-node or other
technology.

any insight is highly appreciated

I hope this helps,
Chris

Re backups. I will write a post on this today there are some important subtleties here. For starters you should copy files in a certain order for optimal back up. I also just put a card up for a small change to make this more obvious.

I am curious how things were with tops hello we have never tried hosting with it. Any gotchas along the way? Would you Ming putting up a gist or wiki page on the setup?

Cheers,

Greg

I’d love to hear about backups and while we’re talking about that, upgrading to the latest EventStore. Is there any file format changes or should I be able to just replace the exe?

TopShelf is insanely easy to use.

Here’s a gist of my complete service project: https://gist.github.com/trbngr/5083266

The only requirement is to have the EventStore binaries in a directory called “eventstore” in the output path.

are you from 1.0? If so there shouldnt be any breaking changes.

1.0? no way! lol

I’m running from around December. :slight_smile:

Do you know the exact version you were running from? We did not have
backwards compatibility assured then but I can check for you whether
or not a migration is needed.

I seem to be running the dev branch @ 1234fb74e580aeff19473ede0bd0a2ee8b38354a

yeah, backups is a pretty hot topic for us too. Our customers have loads of questions about backup and whether it is compliant with their requirements or processes.

Thanks for this! Exactly what I needed today.

Regarding backup in azure blob storage, you can simply take periodical snapshots of the vhd and restore it at any time in almost no time. we use powershell scripts running form teamcity to do backups and restores.

Mohamed,

That is pure genius. Thanks!

I see. Do you have some numbers: how long does it take to take a snapshot? How long to restore? I’m just asking for some qualitative numbers to get a feeling. Thanks

Snapshots, and restoring (promoting) them, happen in a matter seconds.

I can’t believe I didn’t think of this. :slight_smile:

I have a vhd of size 250GB, it takes less than a minute to take snapshot, it takes a few seconds to restore

Given that this is in team city, the actual opration takes no more than a couple of seconds

that sounds very promising! Thanks again

I do something very similar to Chris and I was using TopShelf as well. Anyhow, Chris had a nice config system while I had mine hardcoded. So, I took this gist, modified it a bit to add a few more features and defaults and put it up on GitHub here if anyone is interested:

https://github.com/dunnry/EventStoreService

Works well.