You are on page 1of 31

Cloud Computing

Cloud is a metaphor for Internet and Computing is any type of calculation or the use of computer technology in Information Processing. So the combined effect of these two words is computing over the internet. Cloud Computing refers to both:

the applications delivered as services over the Internet and the hardware and system software in the data centers that provide those services

Cloud Cloud Cloud Cloud Cloud

application layer software environment layer software infrastructure layer

software kernel layer


hardware layer

Provides user with the application Access is provided using web browsers or thin computing terminals normally referred to as Software-as-a-Service (SaaS). Pros:

Alleviates the burden of software maintenance and the ongoing operation and support costs Allows users to obtain superb performance for there cpu intensive and memory intensive workloads without necessitating huge capital investments in their local machines simplifies work with respect to upgrading and testing the code developers of the application are able to roll smaller patches to the system and add new features without disturbing the users with requests to install major updates or service packs.

Cons: The security and availability of the cloud applications are two of the major issues in this model security and safety of storing confidential data on the cloud users authentication and authorization up-time and performance data backup and disaster recovery and provide reliable SLAs for their cloud applications outages with possible network outage and system failures Examples: Sales force Customer Relationships Management (CRM) system Google Apps

Supply the developers with a programming-language-level environment with a set of well-defined APIs Commonly referred to as Platform-as-a-Service (PaaS). Pros:

Automatic scaling and load balancing Integration with other services (e.g. authentication services, email services, user interface) overhead of developing cloud applications is alleviated and is handled at the environment level makes the cloud application development a less complicated task, accelerates the deployment time and minimizes the logic faults in the application. facilitate the process of the development of cloud applications

Cons:

Centralization requires new/different security measures Security and privacy issues. Significant quantity of risks. Intended to web-based applications only Difficult to adapt to specific field. Features might be limited. High dependence on a provider. Googles App Engine, which provides a python runtime environment and APIs for applications to interact with Googles cloud runtime environment SalesForce Apex language that allows the developers of the cloud applications to design, along with their applications logic, their page layout, workflow, and customer reports.

Examples

Provides fundamental resources to other higher-level layers Cloud services offered in this layer can be categorized into: computational resources, data storage, and communications

Computational Resources: Such services are dubbed Infrastructure-as-a-Service (IaaS). Virtual machines (VMs) are the most common form for providing computational resources Virtualization is the enabler technology for this cloud component, which allows the users unprecedented flexibility in configuring their settings while protecting the physical infrastructure of the providers data centre Use of virtual private servers(VPS) to provide access to entire server for cloud application Allows a VPS to be shared across multiple physical servers

Pros:

Avoid capital expenditure on hardware and human resources Low barriers to entry Streamlined and automated scaling Provides a clean install of the required environment available at all times as a rollback position in the event of a catastrophic failure. cost of a VPS server appears to be slightly lower than that of an equivalent dedicated platform. Potentially greater long-term cost Business efficiency and productivity largely depends on the vendor's capabilities Centralization requires new/different security measures Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud Enomalism Elastic Cloud : The Elastic Computing Platform (ECP) is the answer for service providers that want to leverage the power, flexibility, and compelling economics of cloud computing.

Cons:

Examples

Data Storage: Allows users to store their data at remote disks and access them anytime from any place. Commonly known as Data-Storage-as-a-Service (DaaS) Facilitates cloud applications to scale beyond their limited servers. Pros: Access your data at all times A physical storage centre is no longer needed pay structure that only calls for payment only when used(Pay as you go) Easily scalable No need to install physical storage devices No storage maintenance tasks, such as backup, data replication, and purchasing additional storage devices Cons: Lost control comes with handing over your data and information Security and confidentiality of data and information may be breached If cloud host disappears, then access to the information cant be made Examples Amazon S3 is storage for the Internet. It is designed to make web-scale computing easier for developers EMC Storage Managed Services provide comprehensive management of your storage operations in accordance with your specific service-level requirements.

Communication:

Provide communication capability that is service oriented, configurable, schedulable, predictable, and reliable. Provides network security, dynamic provisioning of virtual overlays for traffic isolation or dedicated bandwidth, guaranteed message delay, communication encryption, and network monitoring. Commonly known as Communication-as-a-Service (CaaS) Pros: Digital voice recording ensure all recorded calls are easily accessible and stored Live speech analytics- ensuring critical communications such as terms and conditions are delivered by your contact agent by analysing voice recognition patterns Simultaneous messaging make sure all staff are up to date with a single instant message to all contact centre operators Interactive technology such as web and video conferencing allows for online meetings and presentations Cons: Extreme business disruption in the event of a service outage Loss of control over valuable data Lack of security for both voice and data

Examples

Microsoft Connected Services Framework (CSF) is a discontinued service-aggregation SOA platform from Microsoft.

Provides the basic software management for the physical servers that compose the cloud. Software kernels at this level are be implemented as an OS kernel, hypervisor, virtual machine monitor and/or clustering middleware Use of virtualization allows jobs to be loosely tied to actual hardware Providing migration, check pointing and load balancing to the applications at this level is no more a complicated task. Examples:

The Globus Toolkit, currently at version 5, is an open source toolkit for building computing grids developed and provided by the Globus Alliance. Condor is a specialized workload management system for compute-intensive jobs.

It includes the actual physical hardware and switches that form the backbone of the cloud Commonly known as Hardware-as-a-Service (HaaS). Manages and upgrades the hardware on behalf of its consumers SLAs in this model are more strict Pros:

No need to invest in building data centres No need to invest in managing data centres

Cons:

Efficiency, ease and speed of provisioning such large scale systems, for example is a major challenge. Other challenges include data centre management, scheduling, and power-consumption optimizations. A research project, which uses UBoot to script the boot sequence of thousands of remote Bluegene/P nodes over the network.

Examples

When multiple clouds become one


Resources/apps/platforms across independent clouds are used Services other than those of each individual cloud Transparency of multiple clouds - single-cloud like Sky providers are consumers of cloud providers

Creates open Cloud application programming interface Creates an open-source platform targeted at the development of component-based applications Provides a transparent and simple access to heterogeneous Cloud resources Provides an easy and automatic tool for application scalability

Assumptions related to use of mOSIAC

decouple the development of the Cloud based application from its deployment

two dierent views:


the logical one the developer view the infrastructure one the platform view.

application is composed from several components (rhombs) representing dierent layers communicating through asynchronous messages using queues

Steps to use mOSIAC


develop the application components specify the resource requirements submit the requirements to the platforms resource broker that gives back a resource contract committing to meet the requirements bootstrap the contracted resources by using a specialized tool deploy and start the application monitor the application

Guidelines for design by mOSAIC API


split the application in components based on their purpose; create clear (communication and data) dependencies between components use the recommended architectural paradigm (service oriented) use the recommended communication patterns

Types of applications supported : long-running scalable applications massive batch- or parallel-processing jobs

Architecture for the platform has two main parts:

the deployer, named Resource Broker (responsible of resource negotiation and booking, and denoted RB) and the executor, named Application Executor (AE)

mOSAIC

Resource Broker

Application Executer

Resource Broker

mediate between the client and the providers to optimize the costs and maximize the performance requests and responses are described according to a specific ontology The RB has two sub-systems,

Resource Broker

Client Interface

Cloud Agency

Client interface Cloud Agency

Client Interface

uses the application descriptor or supplementary resource specification document includes a Monitor, a Negotiator, a Mediator, a Registry, Client semantic engine uses Cloud Ontology and Quality of Service Parameters validates the application specifications and generates a SLA document includes Provider Semantic Engines generates a Resource contract

Cloud Agency

Application Executer(AE)

is in charge with application execution using the resources booked and stated in Resource contract document it must cooperate and communicate with

the Cloud Agency by using JADE specific XML/HTTP APIs the application itself by providing homogeneous APIs the Cloud-provider itself by consuming heterogeneous cloud APIs other middleware by consuming middleware de-pendent APIs

components of AE are supporting services for deployment, running, monitoring, and scaling

Composed of

Client Agents Mediation Agents Provider Agents

Agent Based Architecture

Client Agents

Mediation Agents

Provider Agents

Client Agents

acts as access point for the client to the Cloud Agency oering proactive services maintains the user profile and the requested SLA cooperates with the Mediation Agent retrieves a list of available Provider Agents ,contacts each Provider Agent and requests a bid for the needed resources after response from Provider Agents, it assesses the following

Mediation Agents

the QoS provided and the quality of the provider itself

After assessing the bid responses


it puts together a contract with the winning providers on behalf of the client answers back to the Client Agent with the corresponding contract

optimize the contract by applying dierent trade-os between performance, availability or costs, but within the bounds specified by the client accepts bid requests from the Mediation Agent propose a contract for the resources it could provide

Provider Agent

Components of mOSAIC at user or cloud provider site

Main services oered are: provisioner bootstrapper environment builder supervisor controller statistics collector and aggregator notifier, and resource drivers.

Provisioner

mediates the creation of VMs or other Cloud resources Prepares the newly provisioned VM to run mOSAIC components Installs the mOSAIC platform on the targeted machine actions performed:

Deployer

connect to the targeted node create an initial environment start the Bootstrapper process

Bootstrapper:

actions performed:

connect to the Controller to find out a list of services that must be run delegate to the Environment Builder the preparation of the environment delegate to the Supervisor the actual starting and monitoring of the services periodically exchange information with the Controller in order to start/stop/ update the running services, or decommissioning of the node.

Environment Builder

Prepares:

specific file-system contents (e.g. binary files, libraries, data files, etc.) environment setup (process UID/GID, environment variables) operating system services running operating system configuration (e.g. firewall)

Supervisor:

Actions performed:

starts the child process (the supervised service process) monitors the process existence , state and resource consumption based on the policy it stops/restarts the child process in case of malfunction or excessive resource consumption periodically communicates with the Bootstrapper, in order to manage the life-cycle of the supervised process (start, stop, etc.) periodically communicates with the Collector sending statistics about the monitored process.

Controller

brain of the entire run-time. takes decisions and delegates actions to all the other components: it decides if new resources must be provisioned (thus delegating work to the Provisioner and then to the Deployer) based on dierent services load , it decides whether to and where to start new, or stop running modules (delegating the actual work to the Bootstrapper or Supervisor)

Statistics Collector, Statistics Aggregator and Notifier


Collector gathers raw statistics from the AE components gathered statistics are deposited in a store that is available to the Statistics Aggregator Aggregator consolidates raw statistics in meaningful single figures and deposits them in a specific repository Notifier contacts parties in case of any alerts

Resource Drivers

actually implement the resource specific protocol present to the modules the API, thus wrapping/mediating resource access

Process of access to resources abstracted by AE


1.

2.

3.

4.

The application uses the uniform resource API in the language of his choice provided by language dependent, resource implementation independent libraries The libraries are proxies which transform language dependent API calls into messages to the drivers (a uniform resource access protocol) The drivers understanding the uniform resource access protocol translate the operations into resource implementation dependent API calls Finally, the actual resource libraries communicate with the resources.

Other Examples of Sky Computing

RESERVOIR is the first initiative intending to provide an open source solution to enable the deployment and management of complex resources across dierent administrative domains, and one of its main components, OpenNebula, is currently providing uniform interfaces for EC2 and ElasticHosts. Eucalyptus, integrated in the Ubuntu Linux distribution, enables building IaaS solutions using an Amazon EC2 compatible interface, while also providing S3 and SimpleDB compatible clones. Simple Cloud API (www.simplecloud.org) enabling uniform access to data-oriented Cloud resources and oering an API for developing Web applications. CloudBroker (www.cloud-broker.com), a proprietary platform aiming to provide a Cloud environment tailored according to the customers needs and enabling the integration of Cloud resources oered by dierent providers.

You might also like