Just wanted to share one option I recently found out, not many people aware about.
To start with, I am working in a large insurance organisation (which is in much regulated industry) with a pretty complex configuration of load balances, reverse proxies, multiple geographically distributed CD boxes in different data centers (and networks). So I was very surprised to find out there is such an offer from the vendor.
Sitecore offers to host you xDB in their cloud, powered by Azure. All maintenance and processing raw data from Mongo to Reporting database is done on their side. What is ends up for organisation is just setting connection string (to reporting database) in config and ensure firewall rules allow connectivity to the instance.
Pricing seems to be bespoke for your solution and not cheap (as everything from Sitecore), but it is reasonable if compare to a full time resource efforts, for example it comes out that our company even saves a bit! Again, this may not fit to all organisations and depends on people and infrastructure they already have in possession.
This information is a very "early bird" for me, so I will update with more details as soon as we start working with Sitecore xDB Cloud
What is happening? we got a commonly met point of frustration since recent - imagine, you have just installed an instance of Sitecore 8 and are trying to install some useful modules, for example Web Forms for Marketers 8.0 or PowerShell Module. And all you get is never-ending progress box dialog.
However that occurs not only while installing a module, but also when trying to rebuild indexes via built-in Developer toolbar interface. Same story, but at least this time it tries to tell us something with View all messages section, unfortunately unsuccessfully - there are no any error messages seen once you expand this box.
Why is it happening? Going through log files made me thinking there is something with xDB, it looks like sitecore tries to perform write operation into Mongo, but is not able to do. And because Sitecore 8 is now using modern client-based SPEAK interface instead of outdated SheerUI, the back-end where in fact an error occurs is not able to notify client about that (I believe is it not yet implemented and would be fixed with future updates).
How to fix? Let's install and run MondoDB. After default windows installation, the easiest way of running Mongo would be just running its server with dbpath parameter to where DB placed. I say the easiest because there is a better alternative to run MongoDB as Windows service application, so that it will run on system start up.
So, as soon Mongo is up and running, let's test our assumption and try to re-build Lucene indexes again:
And bingo! It now works well! Hope this solution helps.