Title: Presented by: Prof Mark Baker
1An overview of Cloud Computing and its Services
- Presented by Prof Mark Baker
- ACET, University of Reading Tel 44 118 378
8615 E-mail Mark.Baker_at_computer.org - Web http//acet.rdg.ac.uk/mab
OpenCirrus
2Outline
- Origins of Clouds,
- Cloud definition and characteristics,
- Service and deployment models,
- Architecture,
- Taxonomy and Characteristics,
- Cloud Hyperbola,
- Issues that need to be Understood!,
- Cloud Security Risks,
- Virtualization,
- Green IT,
- Advantages/disadvantages/issues/problems,
- The Future.
3Origins of Clouds
- The idea of an "intergalactic computer network"
was introduced in the sixties by J.C.R.
Licklider, who was responsible for enabling the
development of ARPANET (Advanced Research
Projects Agency Network) in 1969 - His vision was for everyone on the globe to be
inter-connected and accessing programs and data
at any site, from anywhere. - Other experts attribute the cloud concept to the
computer scientist John McCarthy, who proposed
the idea of computation being delivered as a
public utility, similar to the service bureaus
that date back to the sixties.
4Origins of Clouds
- Since the sixties, cloud computing has developed
along a number of lines, with Web 2.0 being the
most recent evolution! - Since the Internet started to offer significant
bandwidth in the 1990s, cloud computing for the
masses has been something of a late developer. - The firm Salesforce.com in 1999, which pioneered
the concept of delivering enterprise applications
via a simple web site - The services provided paved the way for both
specialist and mainstream software firms to
deliver applications over the Internet.
5Origins of Clouds
- The next development was Amazon Web Services in
2002that provided cloud-based services including
storage, computation and even human intelligence
through the Amazon Mechanical Turk - https//www.mturk.com/mturk/welcome
- In 2006, Amazon launched its Elastic Compute
cloud (EC2) as a commercial web service that
allowed companies and individuals to rent
computers on which to run their own computer
applications. - Amazon EC2/S3 was the first widely accessible
cloud computing infrastructure service.
6Cloud-based Systems
- Users purchase an entire solution
- salesforce.com
- Users interface with resources through
programming interface - Google AppEngine, and AppScale
- Users access resources through service interface
- Microsoft Azure
- Users provision entire infrastructure
- Amazon EC2, OpenNebula, Nimbus, Enomalism,
Eucalyptus, Open Cirrus, GoGrid
7A Definition of Cloud Computing
- Cloud computing is a model for enabling
convenient, on-demand network access to a shared
pool of configurable resources - e.g. networks, servers, storage, applications,
and services. - These resources can be provisioned and released
with minimal management effort or service
provider interaction. - A cloud model promotes availability and is
composed of five essential characteristics, three
service models, and deployment models.
8Everything has been outsourced, whats left for
me to do?
9Cloud Characteristics
- On-demand self-service
- A consumer can unilaterally provision computing
capabilities, such as server time and network
storage, as needed automatically without
requiring human interaction with each services
provider. - Ubiquitous network access
- Services are available over the network and
accessed through standard mechanisms that promote
the use of heterogeneous platforms, such as
mobile phones, laptops, and PDAs.
10Cloud Characteristics
- Resource pooling
- The computing resources are pooled using a
homogenous infrastructure to serve consumers
using a multi-functional model, with different
physical/virtual resources dynamically assigned
and reassigned according to consumer demand. - There is a sense of location independence as the
customer generally has no control or knowledge
over the exact location of the provided resources
but may be able to specify a location at a higher
level of abstraction (e.g., country, state, or
datacenter). - Examples of resources include storage,
processing, memory, network bandwidth, and
virtual machines.
11Cloud Characteristics
- Elasticity
- Capabilities can be quickly and elastically
provisioned, and in some cases automatically. - This allows a scale up /down for resource use.
- To the consumer, the capabilities available for
provisioning often appear to be infinite and can
be purchased in any quantity at any time. - Measured service
- Cloud systems automatically control and optimise
the resources used, by leveraging a metering
capability at some level of abstraction for the
type of service, e.g., storage, processing,
bandwidth, and active user accounts. - Resources use can be monitored, controlled, and
reported providing transparency for both the
provider and consumer of the utilised service.
12Cloud Service Models
- Cloud Software as a Service (SaaS)
- The capability provided to the consumer is to use
the providers applications running on a cloud
infrastructure, which is accessible from various
client devices, such as a Web browser. - The consumer does not manage or control the
underlying cloud infrastructure, or even
individual application capabilities, with the
possible exception of initial user-specific
application configuration settings.
13Cloud Service Models
- Cloud Platform as a Service (PaaS)
- The consumer deploys their the applications onto
the cloud using programming languages and tools
supported by the provider, such as Java, python,
.Net. - The consumer does not manage/control the
underlying cloud infrastructure, but has control
over the deployed applications and possibly
application hosting environment configurations.
14Cloud Service Models
- Cloud Infrastructure as a Service (IaaS)
- The capability is provided to the consumer, who
can use processing, storage, networks, and
resources. - The consumer is able to deploy and run arbitrary
software, which can include an operating systems
and applications. - The consumer does not manage or control the
underlying cloud infrastructure they have
control over operating systems, storage, deployed
applications, and possibly select networking
components, e.g., firewalls, load balancers.
15Different Cloud Computing Layers?
16Cloud Service Layers
Service Users
Service Providers
Cloud End-User Services (SaaS)
Cloud Platform Services (PaaS)
Cloud Providers
Cloud Infrastructure Services (IaaS)
Physical Infrastructure
17Cloud Computing Service Layers
Description
Services
Services Complete business services such as
PayPal, OpenID, OAuth, Google Maps, Alexa
Application Focused
Application Cloud based software that
eliminates the need for local installation such
as Google Apps, Microsoft Online
Development Software development platforms used
to build custom cloud based applications (PAAS
SAAS) such as SalesForce
Platform Cloud based platforms, typically
provided using virtualization, such as Amazon
ECC, Sun Grid
Storage Data storage or cloud based NAS such
as CTERA, iDisk, CloudNAS
Infrastructure Focused
Hosting Physical data centers such as those run
by IBM, HP, NaviSite, etc.
18(No Transcript)
19Deployment Models
- Private cloud
- The cloud infrastructure is operated solely by an
organisation. - Community cloud
- The cloud infrastructure is shared by several
organisations and it supports a specific
community that has shared concerns - Public cloud
- The cloud infrastructure is made available to the
general public or a large industry group and is
owned, potentially, by an organisation selling
cloud services. - Hybrid cloud
- The cloud infrastructure is a composition of two
or more clouds (e.g. private, community, or
public) that remain unique entities but are bound
together by standardised or proprietary
technologies that enables data and application
portability.
20Cloud Architecture
21Cloud Taxonomy
22Cloud Characteristics
- Large scale,
- Virtualization,
- Non-stop computing,
- Free software,
- Geographic distribution,
- Service oriented architecture,
- Autonomic computing,
- Security technologies.
23Cloud Characteristics
- Large Scale
- Cloud implementations, regardless of the
deployment model, tend to be as large in order to
take advantage of economies of scale - Large deployments can often be located next to
cheap power and real estate to lower costs! - They often take advantage of bulk commodity
hardware purchases and streamlined data-centre. - To improve effectiveness, large cloud deployments
may be located near a high speed Internet hubs.. - Virtualization
- This is critical, it provides the essential
characteristics of location independent resource
pooling and rapid elasticity. - Virtualization enables data centres to increase
their server utilisation from a typical 10 to an
ideal 80 that can produce significant cost
savings.
24Cloud Characteristics
- Non-stop computing
- Clouds enables the characteristics of non-stop
computing. - This means that applications can take advantage
of the cloud-based distributed software. - The hardware enables an application to remain
active at all times even through upgrades. - Free Software
- The scale of many clouds combined with the need
for many software licenses encourages the use of
free software in the development of clouds. - By free software we refer to Open source products
that are potentially free to the cloud developer,
otherwise the software is cheaply licensed.
25Cloud Characteristics
- Geographic Distribution
- Cloud systems that are built on the concept of
resource pooling may not have separate backup
sites! - Cloud providers rely on unused cloud capacity to
provide disaster recovery capabilities. - The providers not only need significant unused
capacity, but must have their resource pool
geographically distributed so that a single data
centre disaster will not cause an outage or
overcapacity situation.
26Cloud Characteristics
- Service Oriented Architecture
- Cloud software takes full advantage of this
paradigm with a focus on statelessness, low
coupling, modularity, and semantic
interoperability. - An important characteristic for cloud
applications so that they use the location
independent resource pool and provide elasticity
capabilities. - Clouds can run applications that do not have this
characteristic, but such applications will be
isolated workloads so the provider gives
reliability and scalability.
27Cloud Characteristics
- Autonomic Computing
- Cloud implementations often have automated
systems to enable their management and security. - This enables them to be large, sophisticated, and
be cost effective. - IBM definition - autonomic computing has four
properties self-healing, self-configuration,
self-optimization, and self-protection. - Clouds may exhibit all of these properties.
- These properties do not commonly exist in
advanced forms that are not always available
using traditional computing models.
28Cloud Characteristics
- Security Technologies.
- Cloud implementations should contain advanced
security technologies. - The resource pooled nature, enables providers to
focus all their security resources on potentially
securing the cloud architecture. - At the same time, the automation capabilities
within a cloud combined with the large focused
security resources should result in advanced
security capabilities. - These capabilities are necessary because the
multi-functional nature of clouds increases the
threat exposure compared to traditional computing
models.
29Increasing use of Clouds
- Cloud computing is increasingly being used for
what was known as on-demand and utility
computing. - The services provided, the APIs and the
applications that can be hosted by these Cloud
providers have superseded the use of the Grid,
and are increasingly becoming popular with users.
- There are obviously two sides to the services
that are provided by Cloud providers those that
are supplied by commercial entities, such as
Amazon and Google, as well as those that are
open-source systems, such as provided by
OpenCirrus and Eucalyptus.
30Cloud Hyperbola!
- Unfortunately, much of the information and news
about Cloud-based systems are related to
publicity and hyperbola. - What is needed is a fair and unbiased review of
these systems so that people who want to use
Cloud-based systems know what they get! - The consumers needs to understand the
architecture, the services provided, the
protocols used, security implications, and
applications that can be executed, as well as
factors such inter-operability, performance and
scalability.
31Cloud Security Risks
- Trusting the service providers security model
- The data owner bears ultimate responsibility
regardless! - Inability to respond to audit findings
- Cloud customers cannot force security remediation
on service providers without contractual
guarantees. - Obtaining support for investigations
- Airing dirty laundry and notifications for
security events. - Loss of physical control
- In a virtual world, do you know where your data
is processed and stored?
32Potential Security Issues
- Privileged user access
- Sensitive data provides an inherent level of
risk, because out sourced services by pass the
"physical, logical and personnel controls exert
over in-house resources. - You need as much information as you can about the
people who remotely manage your data. - Regulatory compliance
- Consumers are responsible for the security and
integrity of their own data, even when it is held
by a service provider. - Service providers should be subject to external
audits and security certifications. - Providers who refuse to undergo this scrutiny
level are "signaling that customers can only use
them for the most trivial functions.
33Potential Security Issues
- Data location
- When using a cloud, you will not know exactly
where your data is hosted - it could be in stored
in many countries - Need to know if the providers will commit to
storing and processing data in specific
jurisdictions, and whether they will make a
contractual commitment to obey local privacy
requirements on behalf of their customers. - Data segregation
- Data in the cloud is typically in a shared
environment alongside data from other customers. - The cloud provider should provide evidence that
encryption schemes were designed and tested by
specialists.
34Potential Security Issues
- Recovery
- Even if you do not know where your data is, a
provider should tell you what will happen to your
data in case of a failure! - Any provider that does not replicate the data and
application infrastructure across multiple sites
is vulnerable to a total disaster. - Investigative support
- Need to investigate illegal activities may be
impossible in clouds, - The services are difficult to investigate,
because logging and data for multiple customers
may be co-located and may also be spread across
an ever-changing set of hosts and data centres. - Need a contractual commitment to support specific
information.
35Potential Security Issues
- Long-term viability.
- Ideally, your cloud provider will never go broke
or get acquired and swallowed up by a larger
company. - You need to be sure your data will remain
available even after such an event.
36Virtualization in General
- Virtual machines run in software that emulates
computer hardware - Host machine hardware running the virtual
machine software, - Host operating system operating system running
the virtual machine software, - Hypervisor slimmed down host operating system
that virtualises the physical hardware, - Guest system operating system.
- Examples of Virtual Machines
- VMware,
- Microsoft Virtual PC and Microsoft Virtual
Server, - Parallels Workstation,
- Sun xVM,
- Kernel-based Virtual Machine (KVM),
- Xen (Opensource),
37Virtualization
- Virtualization disconnects software from a
specific piece of dedicated hardware. - Physical resources such as servers and storage
devices appear as single logical resources, and
virtualization software determines how many of
these physical devices to employ. - This can result in increased utilisation of
computing assets, lowered power and cooling
costs, easier lifecycle management, and less
sophisticated backup/disaster recovery. - Although many associate the word "virtualization"
with just server virtualization, there are in
fact many opportunities within the software stack
to beneficially introduce virtualization
concepts.
38Virtualization
- Various system currently offer solutions to
address various areas server, storage, and
application/desktop virtualization. - Permits a guest operating system to be executed
as a process on a host operating system. - Achievable through several mechanisms
- Operating system containers,
- Traditional virtual machine monitors,
- Para-virtualization systems,
- Hardware-assisted virtualization.
39Virtualization
- Virtual workspaces
- An abstraction of an execution environment that
can be made dynamically available to authorised
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
40Virtual Machines
- VM technology allows multiple virtual machines to
run on a single physical machine.
App
App
App
App
App
Xen
Guest OS (Linux)
Guest OS (NetBSD)
Guest OS (Windows)
VMWare
UML
Virtual Machine Monitor (VMM) / Hypervisor
Denali
Hardware
etc.
Performance Para-virtualization (e.g. Xen) is
very close to raw physical performance!
41Virtualization in General
- Advantages of virtual machines
- Easier to create new machines, backup machines,
and so on, - Software testing using clean installs of
operating systems and software, - Emulate more machines than are physically
available, - Load up a VM with a range of software services,
- Timeshare lightly loaded systems on one host,
- Debug problems (suspend and resume the problem
machine), - Easy migration of virtual machines.
- Run legacy systems some Met folk are still
using F77/F90!
42Green IT
43Green Computing
- Why?
- Computer energy is often wasteful
- Leaving the computer on when not in use (CPU and
fan consume power, screen savers consume power). - Pollution
- Manufacturing techniques,
- Packaging,
- Disposal of computers and components.
- Toxicity
- Toxic chemicals used in the manufacturing of
computers and components which can enter the food
chain and water!
44Energy Use of PCs
- CPU uses 120 Watts.
- Cathode Ray Tube (CRT) uses 150 Watts
- 8 hours of usage, 5 days a week 562 Kwatts
- If the computer is left on all the time without
proper power saver modes, this can lead to 1,600
Kwatts. - For a large institution, say a university of
40,000 students and faculty, the power bill for
just computers can come to 1.5 million / year - Energy use comes from
- Electrical current to run the CPU, motherboard,
and memory, - Running the fan and spinning the disk(s),
- Monitors - CRTs consume more power than any
other computer component.
45Reducing Energy Consumption
- Turn off the computer when not in use, even if
just for an hour. - Turn off the monitor when not in use (as opposed
to running a screen saver). - Use power saver mode
- In power saver mode, the top item is not
necessary, but screen savers use as much
electricity as any normal processing, and the
screen saver is not necessary on a flat panel
display. - Use hardware/software with the Energy Star label
- Energy Star is a seal of approval by the Energy
Star organization of the government (the EPA) - Use LCDs instead of CRTs as they are more power
efficient.
46Green IT and Virtualization
- Energy saving benefits
- VM allows the possibility to control the
applications. - Lower management costs,
- Significantly lower replacement costs,
- More flexible and responsive to requests,
- Additional Disaster Recovery Capabilities.
- Reduce the number of systems consuming power!
- Improve average utilisation, potentially more
efficient than on bare-metal! - Many HPC applications are only 15 20
efficient, VM provide the opportunity to be
around 75 80. - Need further evidence and proof still.
- Improved management capabilities across the board.
47Cloud Use
- Popular cloud apps
- Facebook 64K UW users now big in classes,
- Google Gmail, Docs, Calendar,
- Windows Live (esp. Messenger),
- Doodle (meeting scheduler),
- Blackboard online used by Biz School
UW-Bothell. - Platform services
- Amazon EC2/S3,
- Slicehost.
48Basic 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.
49What 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.
50Opportunities and Challenges
- The use of the cloud provides a number of
opportunities - It enables services to be used without any
understanding of their infrastructure. - Cloud computing works using economies of scale
- It potentially lowers the outlay expense for
start up companies, as they would no longer need
to buy their own software or servers. - Cost would be by on-demand pricing.
- Vendors and Service providers claim costs by
establishing an ongoing revenue stream. - Data and services are stored remotely but
accessible from anywhere.
51Cloud-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
52Some Commercial Cloud Offerings
- Problem Commercial offerings are proprietary and
usually not open for cloud systems research and
development
53Advantages of Cloud Computing
- Lower computer costs
- You do not need a high-powered and high-priced
computer to run cloud computing's web-based
applications. - When you are using web-based applications, your
PC can be less expensive, - Reduced software costs
- Instead of purchasing expensive software
applications, you can get most of what you need
for free-ish! - Most cloud computing applications today, such as
the Google Docs suite, are totally free. - That is a lot better than paying 200 for
similar Microsoft Office software - which alone
may be justification for switching to cloud
applications.
54Advantages of Cloud Computing
- Instant software updates
- Another advantage is that cloud computing is that
you are no longer faced with choosing between
obsolete software and high cost upgrades. - When you access a web-based application, you get
the latest version - without needing to pay for
or download an upgrade. - Unlimited storage capacity
- Cloud computing offers virtually limitless
storage. - Your computer's current 200 Gbyte hard drive is
small compared to the hundreds of Pbytes
available in the cloud. - Whatever you need to store, you can.
55Disadvantages of Cloud Computing
- Requires a constant Internet connection
- You need a decent Internet connection!
- A dead Internet connection means no work and in
areas where Internet connections are few or
inherently unreliable, this could be a
deal-breaker. - When you are offline, cloud computing simply does
not work. - 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. - In other words, cloud computing is not for the
broadband-impaired!
56Disadvantages of Cloud Computing
- Stored data might not be secure
- With cloud computing, all your data is stored
remotely. - Can un-authorised users gain access to your
confidential data? - Cloud providers say that data is secure, but it
is too early to be completely sure of that. - Data can be lost
- Theoretically, data stored in the cloud is safe,
but it should be replicated across multiple
systems. - But on the off chance that your data goes
missing, you have no physical or local backup. - Put simply, relying on the cloud puts you at risk
if the cloud lets you down.
57Disadvantages of Cloud Computing
- HPC Systems
- Not clear that you can run compute-intensive HPC
applications that use MPI/OpenMP! - Scheduling is important with this type of
application as you want all the VM to be
co-located to minimise communication latency! - General Concerns
- Each cloud systems uses different protocols and
different APIs so it may not be possible to run
applications between cloud based systems. - Amazon has created its own DB system (not SQL
92), and workflow system (many popular workflow
systems out there) so your normal applications
will have to be adapted to execute on these
platforms.
58Issues that need to be Understood!
- An architectural view of the systems and a good
understanding of the services that are provided,
as well as the protocols that are used. - Knowledge about capacity planning and resource
allocation mechanisms. - Security including the technologies, policies and
mechanisms used, and issues related to the
possession and ownership of data. - The use of virtualization and the abilities to
use legacy and new applications on these VMs. - Potential use of fault-tolerance mechanisms to
provide reliable applications failure could be
a disaster for ones applications!
59Issues that need to be Understood!
- Knowledge about the distributed programming
abstractions that can be used, plus information
about the types of applications executed, ranging
from simple client/server through to
sophisticated HPC applications - Can these systems efficiently run MPI, OpenMP and
threads? - Information about application development and the
potential for debugging and profiling on these
systems. - Scheduling is an important feature
- It is essential to ensure that applications are
co-located together to reduce latency and
increase bandwidth. - Monitoring and logging capabilities to help
understand application performance, resource use,
failures, faults bottlenecks and other potential
problems low overheads too!
60Issues that need to be Understood!
- Service Level Agreements (SLAs) and Quality of
Service (QoS) agreements, are needed so that the
resources reserved, provided and the services are
assured. - Need to create a range of benchmarks that can be
used to help assess the performance and potential
scalability of Cloud-based systems. - Inter-operability needs to be assessed and
addressed because it will be clear that users may
want to execute their applications on or across
multiple cloud systems. - Green IT on clouds where applications and the
infrastructure can be optimised to minimise
energy consumption. - Information about storage, information
preservation and back-ups.
61The Future
- Many of the activities grouped together under
clouds have already been happening and
centralised computing activity is an increasing
phenomena. - Grid Computing is dying off fast applications
are more important than middleware! - However, there are concerns that the mainstream
adoption of using cloud-based system can
potentially cause problems for users. - Need in-depth reviews about the capabilities,
components, security and implications of clouds. - 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 not clear HPC applications are
appropriate yet!
62(No Transcript)
63Questions?