One of the most efficient way to store and process data is cloud computing. In cloud computing, instead of storing the data at the user-defined location (e.g., at the user's computer or at the centralized server), the computer system ("cloud") selects the location of the data storage that speeds up computations -- by minimizing the (average) communication time. In this chapter, we provide an analytical solution to the corresponding optimization problem.
The demand for cloud computing is growing fast, and we expect that this demand -- and thus, the size of the resulting cloud -- will continue to grow. To avoid expensive frequent redesigns of the cloud, it is therefore desirable to make sure that the resulting servers will have enough capacity to satisfy future demand -- and at the same time that we do not build in expensive extra capacity that will not be used in the predictable future. It is thus important to be able to predict the future demand for cloud computing -- i.e., predict how the cloud will grow. In this chapter, we describe how to optimally predict the cloud growth.