MySQL High Availability Options

Details
High availability is an evergreen topic. The historical approach has been MySQL's built-in replication plus some software on top of that, or DRBD or SAN replication, or... there are too many options, and not all of them actually offer high availability.
There is a new kid on the block though -- a new kind of replication that replaces MySQL's native replication. It's called Galera, and is packaged also as Percona XtraDB Cluster. In addition, there's Continuent Tungsten, which replaces MySQL replication too, but in middleware. So the HA discussions have continued or even increased, and it's tough to make sense of it all.
What do we know now about replication, shared data, and so on? What do we know about the frameworks and toolsets that surround and manage them? What do we know about the new Galera clustering technology? What are the real requirements for HA, and which approaches and technologies are left on the table after crossing off unsuitable ones?
I'll be prepared to break things down and over-simplify them, and rely on attendees to ask those annoying hard questions to get things back into the realm of reality.


MySQL High Availability Options