As part of a project to offset usage spikes by auto spinning up EC2 instances on the fly for added computing power during high traffic periods, I needed to answer the question how fast could I really spin up an EC2 instance. So after running several tests against small and large EC2 instances running a base CentOS 5.3 AMI this is what I found:
Small Instance 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform with a base install of CentOS 5.3 AMI
Amount of time from launch of instance to availability:
Between 5 and 6 minutes us-east-1c
Large Instance 7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform with a base install of CentOS 5.3 AMI
Amount of time from launch of instance to availability:
Between 11 and 18 minutes us-east-1c
Both were started via command line using Amazons tools.
Given my research instances are not so instant, so in order to accommodate for the delay calculating your usage patterns is key to avoid the gap. Having a reserve set of instances running as a buffer to carry you over the delay of launching new instances during peak load times is a must. By knowing your usage patterns you can at least make an educated decision as to how many instances you will need in the buffer. Also a system of seeing load acceleration against running capacity will be important for auto launching instances as necessary given your determined algorithm.
The post How long does it take to launch an Amazon EC2 instance? first appeared on Phil Chen.