Storage. An EC2 instance isn't much use without storage space. On the free tier you're allowed 30GB of Elastic Block Storage, 5GB of Amazon S3 storage, 2 million I/Os, and 1GB of snapshot storage.
Note the limits on I/O usage. This is where things can get complicated, because Amazon charges for I/O. Outside of the free tier, Amazon charges 10 cents per 1 million I/O requests per month, and the amount of I/O used by a given instance can vary widely depending on what you're using it for. (We'll offer tips on managing this later.)
Databases. Among Amazon's Relational Database Services (RDS), you have your pick of MySQL, Oracle BYOL, or Microsoft SQL Server Express, each with 750 hours of usage per month, 20GB of storage, 10 million I/Os, and 20GB of backup storage. For those who prefer NoSQL, Amazon offers it in the form of DynamoDB, but with only 100MB of storage on the free tier. Here again, estimating I/O can be tricky, but there's more than enough available to experiment with a low-traffic, database-driven site and not run into major overage.
Data transfer. This part is easy: 15GB of outbound bandwidth across all AWS functions -- period. For perspective, my personal site with some 5,000 visitors per month consumes about 1.2GB of bandwidth in that time. For a relatively simple -- or nonpublic -- website, 15GB should be more than enough.
What are the limits?
Now the bad news. Amazon has attached tight strings to the way the free tier works. Aside from the usage limits outlined above, there are a bunch of other restrictions.
Core services are free for only 12 months. Most of the key AWS services -- including EC2, S3, and RDS -- are restricted to 12 months of free use after your initial sign-up. After that, it's pay as you go at the usual rates. On the plus side, some of the other services -- DynamoDB, Simple Workflow, Simple Queue Service, Simple Notification Service, Amazon Elastic Transcoder, and CloudWatch -- are still eligible for the free tier after the first year.
Expect your CPU (and bandwidth) to be throttled. Micro instances are designed to supply maximum CPU in intermittent bursts. They don't supply a full, continuous instance of what Amazon calls a "compute unit" -- you need to move up to the M1 Small instance to get that. This makes a micro instance "well suited for lower throughput applications and websites that require additional compute cycles periodically," as Amazon's documentation puts it.
If you run applications that occasionally spike the CPU at 100 percent, they should be fine. Apps that peg the CPU at 100 percent for long periods of time will run briefly at 100 percent, then be throttled. Note that the internal statistics for a throttled machine will still report the CPU as running at 100 percent, so don't be fooled.