• No results found

Cloud Computing Architecture

1 Introduction

2.1 Large-Scale Distributed Computing

2.1.2 Cloud Computing

2.1.2.1 Cloud Computing Architecture

Clouds are usually referred to as a large pool of virtualized computing resources that allows users to gain access to applications and data in a cloud environment on demand.

This section describes the five-layers architecture, various service and operation models of cloud computing. This layer model of cloud computing is shown in Figure 2.4.

Chapter 2. Background and Literature Review

End Users ->

Multimedia, Real-time jé t * ^

— ... Àpplications ^ ^ ^ / Software as a Facebook, Youtube Application / Service (SaaS)

Google Apps, environment: the user/client, application layer, platform layer, infrastructure layer and hardware layer [33, 34].

(i) End users

The cloud users submit the sets of jobs required to create, provide, manage and consume cloud services on the top layer of this architecture as described in the Figure 2-4. Those users’ application can be run on any device such as computers, phones and other devices, operating systems and browsers via Internet.

(ii) Application Layer

At the highest level of the hierarchy, the application layer consists of the many of cloud applications. This layer includes the applications that would run in the clouds.

Compared with traditional applications, cloud applications can leverage the automatic-scaling feature to achieve better performance, availably. SaaS is a software delivery model in which deliver software as a service over the Internet.

This service model makes applications are accessed by a simple interface to get service. The users are not concerned with the underlying physical infrastructure such as network, storage, servers, etc. This model also eliminates the needs to install and run the application on the user’s own computers and simplifying

maintenance and support. For most business applications, this service delivery model includes accounting, collaboration and management. These applications such as office software, social media and online game enrich the family of SaaS- based services, for instance, Google Docs, web mail, Microsoft online, Facebook, etc.

(iii) Platform Layer

The platform layer adds on a collection of specialized tools, middleware and services on top of the physical resources to provide a development platform. This layer consists of operating systems and application frameworks to provide cloud platform service. The purpose of the platform layer is to minimize the burden of deploying applications directly into virtual machine (VM) containers. For example, Google App Engine operates [5] at the platform layer to provide API support for implementing storage, database and business logic of typical web applications. PaaS delivers a computing platform as a service, it includes operating system support and software development frameworks. It offers a high-level integrated environment to build, test, deploy and host customer-created applications. Generally, developers accept some restrictions on the type of software that can write in exchange for built- in application scalability. It also facilitates the deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layer. Customers of PaaS control over the deployed applications and their hosting environment configurations. Typical examples of PaaS are Windows Azure, Google App Engine. In that case, some are intended to provide a generalized development environment, and the others provide hosting-level services such as security and on demand scalability.

(iv) Infrastructure Layer

On the infrastructure layer, physical resources have been virtualized so that they can be exposed to upper layer and users as integrated resources. This layer creates a pool of combined virtualized resources by partitioning the physical resources via virtualization technologies. This layer is an essential component of cloud computing, such as virtualized, flexible, scalable and manageable to meet user requirements.

Cloud infrastructure service or laaS delivers computer infrastructure, typically a platform virtualization environment as a service. This service provides processing,

Chapter 2. Background and Literature Review

storage, networks and other fundamental computing resources to users. It refers to on-demand provisioning of infrastructure resources, usually in terms of network virtualization and virtual machines (VMs). According to this type of service, users can deploy arbitrary application, software, operating systems on the infrastructure, which is capable of scaling up and down dynamically. Also, user can sends jobs with related data, while the vendor’s computer does the computation processing and returns the result. Examples of laaS include IBM Blue Cloud, Eucalyptus, Amazon EC2, etc.

(v) Physical Layer

This physical layer is consists of hardware level resources, such as physical severs and multi-core processors enabling to manage these resources of the cloud. In practice, the hardware layer is included computing resource, storage resources, data center and networking resources. A data center usually contains computer hardware and software products such as cloud-specific operating systems, multi-core processors, networks, disks, etc. Typical issues at hardware layer include hardware configuration, fault tolerance, network traffic management. For most cloud service providers, selecting the right cloud model is according to cloud application requirements.

These various service models make user access to remote data in various formats from multiple sources. These remote data can be operated on a local disk, such as Amazon S3, SimpleDB. Equipped with Internet and web browsers, users can directly use software, storage, platform and computing resources as pay-as-you-go services. Clouds on-demand services are able to be shared within any one of the service layers since the Internet connection is established. For example, PaaS delivers platform services to SaaS and also consumes laaS offerings.