Cloud computing has emerged as a popular computing milieu that provides a range of delivering solutions for small to large enterprises with a flexible model that allows a computing power and storing space for the large volumetric data within minimum cost. These days, computational paradigm is shifting towards utility-based pay-as-you-go model and many discussion aside, but there remains no canonical definition of cloud computing yet. In this paper we have proposed a service-oriented taxonomical spectrum of cloud computing, which is more focused on the service engineering perspective of cloud. Our argument behind cloud engineering is a layered structural approach ‘as a Service’ such as security as a service, fault tolerance as a service, architecture as a service. The main contribution of this paper is to identify a wide spectrum of taxonomy, aiming at a better understanding of functional as well as architectural components that could benefit from cloudification. We describe each sub-taxonomy (architecture, core services, security, fault tolerance, management services etc.) in details. In addition, we present a comparative study of several cloud systems based on taxonomy. Moreover, it also identifies many challenges and opportunities that exist on the landscape of enterprise cloud. Copyright © 2011 John Wiley & Sons, Ltd.