I develop a Rails 3 web app and recently moved from MySQL to MariaDB. Well actually the guys at Rails Machine did the move for me. I don't know what all they did on their end, so can't speak much for the server admin side. We ended up making the switch since I was moving to a high availability setup with multiple DB servers.
On the web app side, I am using the mysql2 gem and made zero changes to my code. Also, I frequently import SQL dumps from MariaDB into my local MySQL development with no problems.
The only issue I had was related to some nasty SQL I had in a select in a finder (yeah I know bad practice). MySQL was returning a 0 while MariaDB returned NULL. Either way, it was my fault for messy code and when I fixed the select, everything was good.
There's one silly difference I noticed. Timestamps in mariadb dumps have their size appended. Mysql doesn't like that, so you need to filter them out. Otherwise pretty much a drop-in.
I maintain a reasonably complex web app in production that uses stored procedures extensively. I am running it in production with both MariaDB 5.5.x and MySQL 5.5.x.
I have not experienced any compatibility issues with MariaDB vs. MySQL.
Seamless. I'm not using stored procedures, views, etc., but for some simple InnoDB databases, MariaDB was a drop-in replacement. The command line tools are even still called mysql.
The bug was now been analyzed but not fixed for ~3 releases.
That said I also ran the testsuite against 5.6 and found some problems, too. You might also be concerned about http://bugs.mysql.com/bug.php?id=69274 - this means that if you loose an idb file during a crash you're out of luck to use your db ever again.
We're thus currently stuck at percona server 5.5 with regular investigation of the alternatives.
Recently upgraded from MySQL 5.1 -> MariaDB 5.5 with no issues what so ever. We have ~90 tables where the largest table has 40,000,000 entries.
I configured the new database servers as slaves of the old ones. This enabled me to verify things in production and do a safe upgrade. Promoting the MariaDB slaves to master was the only required action in terms of switching over. No code changes were required in our application code.