Cloud Computing: A Brief Review

Cloud computing – a long held dream of computing as a utility – is a promising technique which shifts data and computational services from individual devices to distributed architectures. The content of cloud was initially created to describe sets of complex on-demand services offered by commercial providers. Based on the advancement in network topology with high speed bandwidth and Smart phones, people can upload their information using the Internet anytime. Cloud computing denotes Internet-based distributed computing platforms which are highly scalable and flexible. Their features can change the fashion of conventional information processes. Cloud computing allocates IT resources, such as computational power, storage, software, hardware platforms and applications to a wide range of consumers, possessing a wide range of devices.

Cloud providers including -public, private or hybrid clouds- are able to offer seamless on-demand services as a pay-as-you-go model. Therefore, consumers can easily use the services without a need to install or worrying about the underlying infrastructure. So, they can focus on their applications and can scale and retrieve the allocated resources directly by interacting with Cloud Service Providers. Virtualization is the key enabling technology in which cloud computing can change the system's view from a piece of hardware to a dynamic and flexible entity. Cloud-based services can be divided into three levels: Infrastructure as a Service (IaaS), Software as a Service (SaaS) and Platform as a Service (PaaS).

According to the NIST, the essential features of cloud can be defined as: On demand self-service, broad network access, resource pooling, rapid elasticity, measured service. Taxonomy, advantages and challenges of cloud computing are shown in the Table 3 (Cloud taxonomy, online).

Taxonomy Infrastructure services: Storage, compute, services management.
Cloud software: Data, compute, appliances, file storage, cloud management.
Platform services: Database, business intelligence, Integration, development & testing.
Software services: Billing, financial, legal, sales, Desktop productivity, human resources, content management, backup & recovery, social networks, collaboration.
Advantages Improved business continuity, On demand storage and compute power, lower cost of ownership, agility, pay as you go model, increased availability, mobility and collaboration.
Challenges Security issues, Disaster recovery, Dependency, latency, transparency, performance concerns, SLA violations.

Table 3. Taxonomy, advantages and challenges of cloud computing