Cloud computing has emerged as a paradigm to provide every networked resource as a service. The Cloud has also introduced a new way to control cloud services (mainly due to the illusion of infinite resources and its on-demand and pay-per-use nature). Here, we present this lifecycle and highlight recent research initiatives that serve as a support for appropriately engineering Cloud systems during the different stages of its lifecycle.