Sorry, but that is mostly a lie.
Running a non-trivial app on EC2 is significantly more complex than doing the same on (rented) bare metal. Scaling to a massive size can be easier on EC2, but only after you paid a significant upfront cost in terms of dollars and development complexity.
Is your app prepared to deal with spontaneous instance hangs, (drastic) temporary instance slowdowns, sudden instance or network failures?
Did you know that ELBs can only scale up by a certain, sparsely documented amount per hour?
Or that you need a process to deal with "Zombie" instances that got stuck while being added/removed to ELBs (e.g. the health-check never succeeds).
Or that average uptime (between forced reboots) for EC2 instances is measured in months, for physical servers in years?
Or that Autoscaling Groups with Spot instances can run out of instances even if your bid amount is higher than the current price in all but one of the availability zones that it spans?
The list of counter-intuitive gotchas grows very long very quickly once you move an EC2 app to production.