Optimze app for cloud? Or optimize cloud for app?
On number 5, you can tweak the app to run on some set virtual server in the cloud, or you can right-size the virtual server through experience and performance feedback. Recommencd the latter. Maybe it's a chicken and egg problem.