Cloud computing is a relatively new concept and the definition of cloud computing is evolving continuously. The NIST definition of cloud computing clarifies the key characteristics of it. Rapid scalability, on-demand service model, broad network access, a pool of resources, measurable services are some of the key characteristics. Cloud computing is an Internet-based distributed computing model that utilizes the power of virtualization (Biddick, 2012) . Cloud computing delivers software and hardware solutions as services and keeps the complexity of the platform transparent to the end-users. The cloud architecture has two main parts, the front end and the backend. Front-end and back-end are bound together by a network and middleware. There are three main service delivery models of cloud computing. The service models are SaaS, PaaS and IaaS. Together, these three models delivered all kinds of computing resources as services. There are various cloud deployment models like private, public, hybrid, community and distributed cloud computing models. Day by day, new variations of cloud deployment models are arising. For example, the cloud bursting model is another special case of a hybrid cloud (Hugos & Hulitzky, 2012) .
Cloud computing infrastructure is promising for the future as it exploits the resource provisioning and capabilities of managed services. That, in turn, supports other emerging technologies like big data and analytics, IoT and so on (Jamsa, 2012) . Cloud computing can reduce IT management overhead and capital investments in the IT infrastructure of businesses. Cloud computing platforms are highly scalable and offer a high-degree of operational agility to businesses. Cloud computing can connect more than one cloud platform seamlessly without much concern about the underlying complexities. Hence, cloud computing is becoming a cost- effecting and robust solution for disaster recovery and business continuity. Businesses can plan their outsourced IT expenditure in early (Biddick, 2012) .
Cloud computing platforms are growing and improving very rapidly. However, there are some concerns related to it. Security and privacy are two of the most common concerns related to clouds. Other than that the dependency on the availability of the network connection and the Internet for delivering the cloud services imposes another risk of downtime (Krutz and Vines, 2012) . Cloud computing services are delivered by external cloud service vendors. So, the control and management part is the responsibility of the vendors. The quality of cloud and performance partially depends on the vendors also. It is also not easy to migrate from one vendor to another quickly (Biddick, 2012) . Vendor lock-in has become a serious concern related to cloud computing.