There's three types of workloads that make sense to run on EC2:
a) Extremely spiky/seasonal loads (batch jobs, event/campaign traffic)
b) Loads that can be structured as to run entirely from spot-instances (worker-pools)
c) Loads so small that the markup versus rented/dedicated hardware just doesn't matter