I currently have a webserver with MySQL set up on an AWS micro EC2 instance. If I wanted to migrate from AWS to another provider, or even stay with AWS and scale, what are some things to keep in mind so my web app don't break? Does a direct image duplication work on AWS with a more powerful EC2 instance? Since the performance specs have changed, what type of tweaking do I need to do on the instance OS?
If I choose to migrate to another provider like Linode or GoGrid, how can I make sure my system is fully duplicated over to the new provider? Is it possible to get an image transferred from AWS to an external system?
For scaling up in AWS:
Stop your instance (not terminate). Snapshot the EBS volume. Register the EBS Snapshot as an AMI. Launch a new more powerful instance with that AMI.
Scaling off AWS: As for exporting AWS images, it is not particularly easy. You would be better off building the new infrastructure in parallel and switch once everything is confirmed to be working.
As of a few days ago, you can change the computing size of your instance while your instance is stopped using the AWS Console. Stop (not terminate) your EBS based EC2 instance, right click the row and choose "Change instance type". I thought I'd include this here for future reference.