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.
You can monitor usage statistics through Amazon's EC2 Dashboard, but you'll get better granularity of stats from inside the running machine.
Windows Server instances on the free tier may be a tight fit. Depending on what you plan to do, the amount of memory apportioned to a Windows Server instance may not be enough to run anything terribly ambitious. If you're not doing more than serving up static Web pages, it should be fine. I was able to install MySQL/Apache instances on such a machine (via the AMPPS Web stack) and run it with about 20 percent RAM free.
On the plus side, if you're using a database via an AWS-hosted database instance (RDS), the database is launched entirely apart from the machine you're running. With RDS, you don't have to worry about running a database server on the actual instance you're using (and thus gobbling up that much more memory with it).
You don't get a consistent IP address by default. Because of the way AWS provisions addresses, instances do not come with a static IP address or a consistent private DNS name automatically. This makes it tough to host a free site for use by the outside world without some DNS trickery, as resetting the instance you're using will cause its IP address to also reset.
Fortunately, this limitation is easy to overcome. If you want a machine to be consistently reachable by the general public, you can use EC2 Elastic IP Addresses to provision a static IP for a free instance. Bear in mind that if you reserve an address and don't actually associate it with an instance, you'll be charged a small fee.
Best practices with the free tier Clearly, the free tier has many gotchas. The resource limits make it all too easy to run up charges if you're not careful. As you strive to make the most of your micro instance, keep these guidelines in mind.
Keep an eye on your billing. It should go without saying, but check in regularly with your AWS account activity page to see if you're running up charges you're not aware of. By default Amazon doesn't warn you if you've exceeded the free tier; you're just silently billed for any usage that isn't covered. If you want to be alerted to what your estimated usage is going to be and create alarms to warn you if you might exceed your budget, Amazon provides a billing alert system for your use. However, the number of alarms and notifications you can generate is limited by the free tier.
Sign up for CIO Asia eNewsletters.