  VM startup time is an essential factor in designing elastic cloud
applications. For example, a cloud application with autoscaling can reduce
under- and over-provisioning of VM instances with a precise estimation of VM
startup time, and in turn, it is likely to guarantee the application's
performance and improve the cost efficiency. However, VM startup time has been
little studied, and available measurement results performed previously did not
consider various configurations of VMs for modern cloud applications. In this
work, we perform comprehensive measurements and analysis of VM startup time
from two major cloud providers, namely Amazon Web Services (AWS) and Google
Cloud Platform (GCP). With three months of measurements, we collected more than
300,000 data points from each provider by applying a set of configurations,
including 11+ VM types, four different data center locations, four VM image
sizes, two OS types, and two purchase models (e.g., spot/preemptible VMs vs.
on-demand VMs). With extensive analysis, we found that VM startup time can vary
significantly because of several important factors, such as VM image sizes,
data center locations, VM types, and OS types. Moreover, by comparing with
previous measurement results, we confirm that cloud providers (specifically
AWS) made significant improvements for the VM startup times and currently have
much quicker VM startup times than in the past.
