Performance and Availability
Now that your application is running and secured, you need to make sure that it can support all its users—and that it will stay up. In this respect, there are some differences between cloud and traditional IT environments. Here's a short list:
- With cloud computing, you're running with virtual resources, and you need to make sure that you have sufficient CPU, memory, disk, and so on. Though similar to physical resources, these measures are virtual, and their needs are different. The best way to ensure accessibility of your virtual resources is through testing.
- With cloud environments, your network is crucial. Choose a data center in a location near your application's users, and run your cloud resources from that data center. This rule sounds obvious, but it may take some work to transfer virtual machine images, clone storage volumes, and copy data across to the place where the application will run.
- Make backups of your application and data. Cloud services such as cloning storage volumes and making images from virtual machine instances can be very convenient for this purpose. Backup services can be automated by using cloud management APIs.
- High availability and disaster-recovery facilities are very costly for physical systems. This is one great advantage of cloud computing. Especially for non-critical applications, a cold-backup high-availability strategy can be a much more viable option in a cloud environment than in a physical computing environment. Disaster recovery for non-critical applications in physical systems is usually not economically feasible. In contrast, cold startup of a system based on virtual machine images and storage services can be quite fast with cloud management APIs, and it results in a quick recovery time.