Abstract – The computer world is changing every day, moreover hardware and software computation is becoming very large and complex. At this point, cloud computing has emerged as a solution to fill need for supporting and processing large volumetric data using distributed and clustered computers. The cloud computing is the delivery of computing as a service. The cloud computing systems can handle big amount of data as on demand service basis. This paper provides a taxonomy for describing cloud computing architecture and several deployment types that can be instantiated in the cloud.
The scalability and flexibility of software architectures and the promises of distributed computing have created cloud computing concept. In the cloud concept, the centralized computing infrastructure model shifts to a fully distributed decentralized systems. The definition implies important aspects of cloud computing, comparison of cloud service and deployment types in essence of what is cloud computing to how to get most out of it. Basically, there are three type of cloud delivery models.
- Software as a Service: In SaaS model, it is not possible to control operating system, hardware or network infrastructure where cloud application is consumed.
- Platform as a Service: In PaaS model, the applications run on a cloud environment and can be controlled, but the operating system, hardware or network infrastructure is not accessible.
- Infrastructure as a Service: In IaaS model, the users can choose capacity and size for fundamental computing resources. Resources such as memory, processing and storage can be accessed and scaled up/down, but not the infrastructure beneath the cloud architecture is manageable. IaaS runs on the provided Cloud Data Centers.
II. Cloud Architecture
Several fundamental components form the cloud architecture:
- Computing resources are located off-premise in a data center that is not owned or managed by the enterprise and used within the cloud services.
- Most resources leverage virtualization, ease of management and interoperability.
- Infrastructure is often shared by other organizations.
- Multiple consumers and applications can share the same physical infrastructure enabled via Virtualization.
- Computing resources and services are provisioned, scaled up/down on demand basis.
- Services are usually subscription-based, with a variety of tiered service offerings as well as flat-rate and per-use pricing models.
These components tied together into an architecture, produce a cloud services. The architecture of cloud computing can be described using a layered model, in a similar manner to that of OSI seven-layer model.
Figure 1 .Cloud Architecture
A. Service Models
Cloud computing term emerged in the second half of 2007 as a category for two emerging types of online offerings:
- Infrastructure-as-a-service (IaaS): delivers compute or storage resources,
- Platform-as-a-service (PaaS): delivers a complete runtime environment for developing or running applications from the likes of Azure, Amazon, Salesforce.com, and Google.
A third type of online offering is developed quickly:
- Software-as-a-service (SaaS): provides user access to application functionality, and which preceded the use of the “cloud” term.
In 2009-2010 it expanded further from a synonym for public clouds where the providers deliver services to a number of third parties to the concept of private clouds that combine old data-center design and management trends with new public clouds for self-service provisioning and pay-as-you-go billing to deliver and use IT resources. Lastly, hybrid clouds present the way IT providers and users mix and match public and private cloud components in a variety of ways to fit in their own requirements.
According to three fundamental models, the components and manageability of these cloud components is depicted in following diagram.
Figure 2 .Cloud Service Models and Components
1) Infrastructure as a Service (IaaS)
IaaS provides consumers to provision storage, networks, processing and other fundamental computing resources where the consumers deploy and run arbitrary software on this infrastructure. The consumer does not have control on the underlying cloud data center infrastructure, but can choose the operating systems to install, the size of storage, and deployed applications. As an example of IaaS Cloud providers and products are IBM’s SmartCloud Enterprise, Azure Virtual Machines, Amazon IaaS, Open Stack, HP Cloud, Companies are VMware-certified vCloud Data Center providers.
2) Platform as a Service (PaaS)
PaaS delivers computing capacity where PaaS users deploy their software on to the PaaS compute fabric that acts like an enormous single computer that dynamically allocates whichever resources the software requires. There is a whole continuum of offerings between the two opposite poles of computing/storage instances and computing/storage fabrics. Software developers can write their codes and run their applications on a cloud platform without buying and managing the underlying cloud infrastructure. The consumers does not have to deal with the cost and complexity of building up a cloud infrastructure. Some of the popular PaaS offerings are Heroku, Google Application Engine, Windows Azure, Amazon Beanstalk services. PaaS providers also support multiple programming languages. Most commonly used languages are Python and Java (e.g., Google AppEngine), .NET languages (e.g., Microsoft Azure), and Ruby. A broad types of software frameworks are usually available to PaaS application developers, depending on application requirements. Web and enterprise application hosting providers offer popular frameworks such as .NET, Ruby on Rails, Java EE .
3) Software as a Service (SaaS)
The cloud service providers offer consumers a cloud infrastructure including the capability of consumer can run applications and manage. The consumer can access the applications from many client devices such as thin client interface, web browser or a program user interface. The cloud infrastructure including virtual servers, operating systems, storage, network or some application capabilities are not manageable and not needed to control by consumer.
In the Software as a Service (SaaS), applications can be composed with other services from the same or different providers. Services such as user authentication, source code version control, e-mail, document/content management systems are examples of SaaS building blocks. The main offering of SaaS architecture is reusability and integration capabilities of other system’s functionality into a business solution in which case, a single off-the shelf product does not always provide all those features in one. Popular social computing APIs such as Facebook APIs, Bing APIs, Flickr, YouTube, Google Maps, and Twitter are combined into many business solutions and produce a variety of creative and interesting solutions from finding game retailers to shopping mall maps. As an example, Azure Team Foundation Server offers developers management of application life cycle from the cloud and enables software developers to check-in/checkout their code and manage work items wherever they reside.
B. Deployment Types
Although, cloud computing technology has mainly emerged from the public computing, other deployment models are adopted to meet different service location and distribution requirements. In this context, regardless of service model type, cloud is classified as private, public and hybrid, based on deployment model.
1) Private cloud
Private cloud is a cloud infrastructure whether managed internally or by a third-party, but operated solely for a single organization.  The users still have to build and manage the systems and thus do not benefit from less hands-on management as in public cloud.
2) Public cloud
Public cloud applications, storage, web servers, physical resources and other resources are accessible by other consumers enabled by a service provider. These services are used without any fee or offered on a pay-as-you-go model. Public cloud service providers own and operate the infrastructure and offer access only through Internet (E.g. Microsoft and Google does not offer direct connectivity).
3) Hybrid cloud
Hybrid cloud is a composition of two or more clouds (private or public) that remain unique entities but are bound together.  Hybrid cloud offers the benefits of multiple deployment models according to need.
While there are many different definitions, most notable and major characteristics are listed below, which a cloud should have:
(i) Pay-as-you-go (pay per usage and no obligation to commit for a period of time),
(ii) Elastic usage of the capacity and the infinite resources,
(iii) An interface for self-service operations,
(iv) Resources are abstracted or reside virtualized
The below are listed also common characteristics of cloud services:
On-demand self-service: consumer can scale up/out, manage and monitor computing services (e.g. server, network, storage, memory, applications) without a need from service provider.
Broad network access: Cloud services can be accessed through standard mechanisms including heterogeneous client platforms such as mobiles, tablet pcs, laptops, and desktop workstations.
Resource pooling: Computing resources are shared with multiple consumers in a multi-tenant service model. Different physical and virtual resources dynamically assigned and reassigned to consumer computing environment on demand basis. The consumer generally has no knowledge over the exact location of the resources utilized. The location can only be specified at a higher level of abstraction (E.g. geographical region, country, etc.) Storage, memory, processing, and network bandwidth are used as cloud resources.
Rapid elasticity: Capabilities such as server, storages, CPU can be elastically provisioned and released. In some cases it is possible to scale rapidly up and out automatically. The consumer can adjust capabilities available for provisioning to commensurate with demand.
Measured service: Cloud systems automatically control and optimize resource usage by leveraging a metering capability at a certain level of abstraction according to the type of service (E.g., processing, storage, bandwidth, number of servers and active user accounts). Resource usage is monitored, and reported in order to provide transparency for both the provider and consumer.
Organizations start moving to cloud computing services for the following reasons:
- Convenience: on-demand IT services are easily procured and terminated from a variety of networked devices. Convenience, accelerates reacting to market needs faster.
- Adaptation: ability to mix and match services and scale up/down or in/out the resources per usage (clouds are “elastic”).
- Innovation: trying the services provided in cloud computing is easier while taking fewer risks through pay-as-you-go (PAYG) approach.
- Simplicity: one of the biggest problems for IT environments is to become too complex, inflexible, unreliable, and expensive to run. Cloud computing reduces some of this complexity with standardized commodity services sourced as a “black-box” utility with less focus on technology and operations and more focus on service orchestration, integration, and delivering business value from IT services rather than delivering IT systems.
- Lower costs: scale based IT resource pooling coupled with the PAYG approach.
- Cost transparency/awareness: the ability to understand and measure the resource consumption atomically and manage cost for billing, planning, or optimization purposes.
Quality of service (QoS): besides leveraging green IT, organizations expect resources consumed on cloud computing to be high available, more reliable and scalable than on-premise systems and security is preserved as well.
IV. Moving to the cloud
Figure5: Cloud Service Model Is Comparable To the Conventional Computing Models 
Despite, Cloud is still an early technology, with (to date) limited adoption, cost reduction, improved process and consumer effectiveness drives cloud managed services to be an option for moving in. It is also known that, as with all early technologies, cloud technology will be shaped by the consumers, organizations and service providers that provide, sell, leverage, and consume it.
As a major characteristics of the Cloud, “Elasticity” distinguishes cloud from on-premise services. The key differentiation of cloud computing is breaking the dependencies of applications on underlying hardware. This separation gives more efficient and easier monitoring and management ability, better resiliency, and lower IT costs. The inference is that cloud computing can divide the data center into an application cloud, a hardware cloud, and a computing cloud. Rather than coupling specific applications to hardware, the applications can be managed as independent clouds. As a result of this independency, applications can be moved from server to server, even data center to data center without performance degradation or data loss. Hosting applications that formerly resided on individual desktops further enable users to access necessary applications from anywhere.
The key for a cloud is to be flexible, rather than focusing on definitions and semantics. We should look at drivers and expectations, at deployment models and use cases, at outcomes and barriers, in order to find the best way to build a Responsible Cloud, and drive success, according to key requirements.
 What Cloud Computing Exact is?, http://ciscorouterswitch.over-blog.com/article-what-cloud-computing-exact-is-102461240.html
 The NIST Definition of Cloud Computing. Peter Mell and Timothy Grance, NIST Special Publication 800-145 (September 2011). National Institute of Standards and Technology, U.S. Department of Commerce. http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
 Wikimedia Foundation, Inc Cloud Systems [April 2012] . http://en.wikipedia.org/wiki/Cloud_computing
 Cloud Computing is Still at the Peak of Inflated Expectations Gartner, November 2010
 ^ “There’s No Such Thing As A Private Cloud”. InformationWeek. 2010-06-30. http://www.informationweek.com/cloud-computing/blog/archives/2009/01/theres_no_such.html. Retrieved 2010-08-22