27-06-2014, 04:43 PM
Lecture 15:Cloud Computing
could computing.ppt (Size: 1.74 MB / Downloads: 232)
What is Cloud Computing
Cloud Computing is a general term used to describe a new class of network based computing that takes place over the Internet,
basically a step on from Utility Computing
a collection/group of integrated and networked hardware, software and Internet infrastructure (called a platform).
Using the Internet for communication and transport provides hardware, software and networking services to clients
These platforms hide the complexity and details of the underlying infrastructure from users and applications by providing very simple graphical interface or API (Applications Programming Interface
Cloud Summary
Cloud computing is an umbrella term used to refer to Internet based development and services
A number of characteristics define cloud data, applications services and infrastructure:
Remotely hosted: Services or data are hosted on remote infrastructure.
Ubiquitous: Services or data are available from anywhere.
Commodified: The result is a utility computing model similar to traditional that of traditional utilities, like gas and electricity - you pay for what you would want!
Basic Cloud Characteristics
The “no-need-to-know” in terms of the underlying details of infrastructure, applications interface with the infrastructure via the APIs.
The “flexibility and elasticity” allows these systems to scale up and down at will
utilising the resources of all kinds
CPU, storage, server capacity, load balancing, and databases
The “pay as much as used and needed” type of utility computing and the “always on!, anywhere and any place” type of network-based computing
Basic Cloud Characteristics
Cloud are transparent to users and applications, they can be built in multiple ways
branded products, proprietary open source, hardware or software, or just off-the-shelf PCs.
In general, they are built on clusters of PC servers and off-the-shelf components plus Open Source software combined with in-house applications and/or system software
Software as a Service (SaaS)
SaaS is a model of software deployment where an application is hosted as a service provided to customers across the Internet.
Saas alleviates the burden of software maintenance/support
but users relinquish control over software versions and requirements.
Terms that are used in this sphere include
Platform as a Service (PaaS) and
Infrastructure as a Service (IaaS)
Virtualization
Virtual workspaces:
An abstraction of an execution environment that can be made dynamically available to authorized clients by using well-defined protocols,
Resource quota (e.g. CPU, memory share),
Software configuration (e.g. O/S, provided services).
Implement on Virtual Machines (VMs):
Abstraction of a physical host machine,
Hypervisor intercepts and emulates instructions from VMs, and allows management of VMs,
VMWare, Xen, etc.
Provide infrastructure API:
Plug-ins to hardware/support structures
Virtualization in General
Advantages of virtual machines:
Run operating systems where the physical hardware is unavailable,
Easier to create new machines, backup machines, etc.,
Software testing using “clean” installs of operating systems and software,
Emulate more machines than are physically available,
Timeshare lightly loaded systems on one host,
Debug problems (suspend and resume the problem machine),
Easy migration of virtual machines (shutdown needed or not).
Run legacy systems!
What is the purpose and benefits?
Cloud computing enables companies and applications, which are system infrastructure dependent, to be infrastructure-less.
By using the Cloud infrastructure on “pay as used and on demand”, all of us can save in capital and operational investment!
Clients can:
Put their data on the platform instead of on their own desktop PCs and/or on their own servers.
They can put their applications on the cloud and use the servers within the cloud to do processing and data manipulations etc.
Cloud-Sourcing
Why is it becoming a Big Deal:
Using high-scale/low-cost providers,
Any time/place access via web browser,
Rapid scalability; incremental cost and load sharing,
Can forget need to focus on local IT.
Concerns:
Performance, reliability, and SLAs,
Control of data, and service parameters,
Application features and choices,
Interaction between Cloud providers,
No standard API – mix of SOAP and REST!
Privacy, security, compliance, trust
Cloud Storage
Several large Web companies are now exploiting the fact that they have data storage capacity that can be hired out to others.
allows data stored remotely to be temporarily cached on desktop computers, mobile phones or other Internet-linked devices.
Amazon’s Elastic Compute Cloud (EC2) and Simple Storage Solution (S3) are well known examples
Mechanical Turk
Disadvantages of Cloud Computing
Does not work well with low-speed connections:
Similarly, a low-speed Internet connection, such as that found with dial-up services, makes cloud computing painful at best and often impossible.
Web-based applications require a lot of bandwidth to download, as do large documents.
Features might be limited:
This situation is bound to change, but today many web-based applications simply are not as full-featured as their desktop-based applications.
For example, you can do a lot more with Microsoft PowerPoint than with Google Presentation's web-based offering
The Future
Many of the activities loosely grouped together under cloud computing have already been happening and centralised computing activity is not a new phenomena
Grid Computing was the last research-led centralised approach
However there are concerns that the mainstream adoption of cloud computing could cause many problems for users
Many new open source systems appearing that you can install and run on your local cluster
should be able to run a variety of applications on these systems