My recollection is reverse engineering is legal, but it needs to be done carefully. Using staff that designed the "thing" you are trying to reverse engineer is not part of the doing it carefully bit...
Oh I know there are more than a few these days. My point was the majority of startups I'm aware of are still very hesitant to do this. From the conversations I've had its less that the founders of these firms are morally opposed to the idea, but that their VCs really don't like the idea as a global policy.
I think ironically to the bubble many of us live in the Silicon Valley, this was proposed by a Republican and passed in the House. Never made it in the Senate. A refreshing reminder good ideas still come from all slices of our political spectrum.
I'm not sure about "a lot of startups", I'm personally only aware of a very few that are doing this. Word on the street that I hear is that maaaaybe your current employer might do this for employees they like, but not as a consistent policy. Many board members, founders, etc... feel they will take a retention hit if they were to implement something like this.
I personally think the status quo is insane, and I will never take another role with a options component of the package that does not have a policy like this.
So just as a FYI the reason that probably happened to you is that the underlying host was failing. I am assuming they wanted to give you a window to deal with it but the host croaked before then. I've been dealing w/ AWS for a long long time and I've never seen a maintenance event go early unless the physical hardware actually died...
Operating Cassandra at the scale that Uber is going to require is going to be painful and as operationally draining as MySQL if not more.
There are really not a large number of options here anymore with the departure of FoundationDB from the market. CockroachDB might be an option in a few years, though I'm still confused why they are moving towards a SQL-ish vs key-value interface...
+1 to this as long as you are ok with an external vendor.
A couple of caveats. If you are coming from Nagios, this is a different worldview on monitoring. Like many other solutions commented here this is all based around metrics and their associated time series, and then you need to alert on those metrics. You ask the system questions with a time series query language.
Wavefront doesn't yet have a great solution for poll-based monitoring (i.e. hitting host Xs /healthcheck endpoint) so I still use terrible 'ol Nagios for that in my environment. However the rest of my work is all done in Wavefront - I'd say easily the high 90% of all my material alerts are done in wavefront with a small subset of work done in Nagios.
The killer feature here is the query language. I don't think there is anything else on the market that has its level of sophistication. I've had ex-Googlers on my team who "grew up" with Borgmon, which is in some sense the Ur-time series monitoring system and they loved it.
All this said, there are a lot of options about there. I have a strong bias against supporting my own complicated monitoring infrastructure. I want to focus on my own product. If you don't share that opinion or are on a super duper tight cash budget (but you do have time) than disregard the above ;)