Database: Managed MySQL (RDS) works. Lot of DB management tasks like backup, monitoring replication etc are handled by Amazon support and we don't have to worry about it.

Functionality: You name it and Amazon has a solution for it. They are more like one-stop shop.

Backups: With the help of EBS and S3, backups are made easy.

Now the bad stuff!

1. Support: They have automated way too much and lacks human touch. It takes days if not weeks to get response from their sales support team. Also you need to enroll for Gold or Platinum level support to get phone support or quick turnaround and it can cost up to 10% of monthly bill.

2. Performance: I have lot to complain here:

Instance CPU lacks power compared to competition. Process that used to take 40-50% CPU on large instance in EC2 runs quietly on our new cloud partner's platform medium instance.

Inconsistent performance - At times we paid high price for load issues in Amazon's cloud. We had to closely keep eye on our Keynote monitoring and divert traffic between regions.

RDS - Write or read operation on average takes upto 80 - 100 milliseconds. When our goal is response time under 100ms we had to constantly redesign our db operations. This made us to migrate to Cassandra very quickly.

3. Failures: We have been pretty happy until the recent mega crash in their east DC. Initially we weren't sure whether it's a temporary glitch or bigger problem and not sure on ETA. Fortunately, we were able to divert our traffic to N. California by updating our geo-load balancing rules.