Cloud Computing Overview
-A 60 minute overview on some essentials about Cloud systems
-Target audience: Management, Architects
2
Cloud Computing
A cloud computing system stores data in a remotely accessible
system. Users can access IT Resources remotely as long as they
have the permission to access the cloud network.
Source: Petre, 2012; Singh & Jangwal, 2012.
Cloud IT Resources are IT artifacts which can include hardware,
software, virtual servers, programs, databases or any IT resource
remotely accessible to a cloud consumer.
3
Topics covered
●
Simple Architectures
●
Deployment
●
Delivery
●
Cloud Characteristics eg. Multi-Tenancy
●
Opportunities
●
Challenges
●
Platform examples including AWS
4
What Happens In The Cloud
There are three possible scenarios that one can
come across while using cloud computing solutions:
●
Transfer of data to a remote cloud server.
●
Transfer of data from a cloud server to user’s
device.
●
Storing data on a cloud server not owned by
user.
5
Cloud Computing Architecture
6
Cloud Computing has many forms....
7
A Basic Cloud Development System
Development Environment:
IDE, SDK, Plugins
Production Environment
Simple
storage Table Store
<key, value> Drives Accessible through Web services
Management Console and Monitoring tools
& multi-level security
8
Cloud Development– Azure eg.
9
Characteristics Of Cloud Systems
Common Characteristics:
Low Cost Software
Virtualization Service Orientation Advanced Security Homogeneity
Massive Scale Resilient Computing Geographic Distribution
Essential Characteristics:
Resource Pooling
Broad Network Access Rapid Elasticity Measured Service On Demand Self-Service
10
Types Of Cloud Deployment Models
•
Private Cloud
•
Hybrid Cloud
•
Public Cloud
11
Deployment Platforms in the Cloud
12
Private Cloud
•
The infrastructure is owned and used by a single organization
•
Private clouds enable a flexible and agile management of local
infrastructure
•
Not a new model, datacenter management has been around
for a while
•
Internal interfaces expose additional functionality for
managing virtualized resources and controlling data center
operation, not exposed by cloud interfaces
•
Cloud interfaces may be also provided for users requiring
higher abstraction
13
Private Cloud
Feature Function
Internal Interface • Unix-like CLI for fully management of VM life-cycle and physical boxes
• XML-RPC API and libvirt virtualization API
Scheduler • Requirement/rank matchmaker allowing the definition of workload and resource-aware allocation policies
• Support for advance reservation of capacity through Haizea Virtualization
Management
• Xen, KVM, and VMware
• Generic libvirt connector (VirtualBox planned for 1.4.2) Image Management • General mechanisms to transfer and clone VM images Network Management • Definition of isolated virtual networks to interconnect VMs Service Management
and Contextualization
• Support for multi-tier services consisting of groups of inter-connected VMs, and their auto-configuration at boot time
Security • Management of users by the infrastructure administrator
Fault Tolerance • Persistent database backend to store host and VM information
Scalability • Tested in the management of medium scale infrastructures with hundreds of servers and VMs (no scalability issues has been reported)
Installation • Installation on a UNIX cluster front-end without requiring new services
• Distributed in Ubuntu 9.04 (Jaunty Jackalope) Flexibility and
Extensibility
• Open, flexible and extensible architecture, interfaces and components, allowing its integration with any product or tool
14
Hybrid Cloud
•
Extension of Private Clouds to combine private with public
Cloud-based infrastructure to enable highly scalable hosting
environments.
•
Access to remote cloud is fully transparent to private cloud
users.
•
Hybrid Clouds enable the dynamic scaling of capacity to meet
peak or fluctuating demands.
15
Hybrid Cloud
Feature Function
Cloud Plugins • Amazon EC2 and ElasticHosts connectors
Federation • Support for simultaneous access to several remote clouds
Flexibility • Modular approach to develop new connectors
16
Public Cloud
•
The infrastructure is owned by a single commercial
organization and used by customers.
•
Public clouds enable the deployment of an entire IT
infrastructure without the associated capital costs, paying
only for the used capacity.
•
Cloud interface: Simple remote management of virtualized
server instances.
17
Public Cloud
Feature Function
CloudInterfacesfor Users
• Implementation of a subset of the EC2 Query API and the OGF OCCI API
Flexibility • The new OpenNebula Cloud API allows the implementation of the new Cloud interfaces
18
Public Cloud
Feature Function
CloudInterfacesfor Users
• Implementation of a subset of the EC2 Query API and the OGF OCCI API
Flexibility • The new OpenNebula Cloud API allows the implementation of the new Cloud interfaces
19
Public vs Private
20
Cloud Deployment Model Summary
21
Types Of Cloud Delivery Systems
22
Cloud Delivery Models
23
Cloud Delivery Models
24
Software as a Service (SaaS)
SaaS is a software distribution model in which applications are
hosted by a vendor or service provider and made available to
customers over a network, typically the Internet.
25
Platform as a Service (PaaS)
PaaS is a way to rent hardware, operating systems, storage and
network capacity over the Internet. The service delivery model
allows the customer to rent virtualized servers and associated
services for running existing applications or developing and
testing new ones.
26
Infrastructure as a Service (IaaS)
IaaS is a provision model in which an organization outsources the
equipment used to support operations, including storage,
hardware, servers and networking components. The service
provider owns the equipment and is responsible for housing,
running and maintaining it. The client typically pays on a per-use
basis.
27
Cloud Delivery Platform Summary
28
Key Characteristics of the Cloud
Resiliency: Failover, redundancy
Elasticity: Scaling of IT resources in and out to accommodate
demand
On Demand Usage: Self provisioning and accessible
Multi-Tenancy (see next slides)
29
MULTI-TENANCY
Multi-tenancy is an architectural pattern
•
A single instance of the software is run on the service
provider’s infrastructure
•
Multiple tenants access the same instance.
•
In contrast to the multi-user model, multi-tenancy requires
customizing the single instance according to the multi-faceted
requirements of many tenants.
30
Multi-tenancy – the concept
31
• A Multi-tenant application lets customers (tenants) share the same hardware resources, by offering them one shared application and database instance while allowing them to configure the application to fit there needs as if it runs on dedicated environment.
Key aspects of multi tenancy:
1. The ability of the application to share hardware resources.
2. The offering of a high degree of configurability of the software.
3. The architectural approach in which the tenants make use of a single application and
database instance.
MULTI-TENANCY
32
Multi-Tenant Architecture
33
Cloud Computing Security
Authentication in cloud computing is of critical importance as it
ensures the overall security of the system. As all the sensitive
data of the users is stored in the cloud, authentication of identity
of the users becomes very important to ensure the data is
managed properly.
Source: Ahmed & Hossain, 2014 34
35
Opportunities In Cloud Computing
•
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 on going revenue stream.
•
Data and services are stored remotely but accessible from
“anywhere”.
36
Challenges In Cloud Computing
• Use of cloud computing means dependence on others and that could possibly limit flexibility and innovation:
• The others are likely become the bigger Internet companies like Google and IBM, who may monopolise the market.
• Security could prove to be a big issue:
• It is still unclear how safe out-sourced data is and when using these services ownership of data is not always clear.
• There are also issues relating to policy and access:
• If your data is stored abroad whose policy do you adhere to?
• What happens if the remote server goes down?
• How will you then access files?
• There have been cases of users being locked out of accounts and losing access to data.
37
•
Lower computer costs:
– You do not need a high-powered and high-priced computer to run cloud computing's web-based applications.
– Since applications run in the cloud, not on the desktop PC, your desktop PC does not need the processing power or hard disk space demanded by traditional desktop software.
– When you are using web-based applications, your PC can be less expensive, with a smaller hard disk, less memory, more efficient processor...
– In fact, your PC in this scenario does not even need a CD or DVD drive, as no software programs have to be loaded and no document files need to be saved.
37
Advantages of Cloud Computing
38
• Improved performance:
– With few large programs eating up your computer's memory, you will see better performance from your PC.
– Computers in a cloud computing system boot and run faster because they have fewer programs and processes loaded into memory…
• 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.
– better than paying for similar commercial software
• which alone may be justification for switching to cloud applications.
38
Advantages of Cloud Computing
39
•
Instant software updates:
– Another advantage to cloud computing is that you are no longer faced with choosing between obsolete software and high upgrade costs.
– When the application is web-based, updates happen automatically
• available the next time you log into the cloud.
– When you access a web-based application, you get the latest version
• without needing to pay for or download an upgrade.
•
Improved document format compatibility.
– You do not have to worry about the documents you create on your machine being compatible with other users' applications or OSes
– There are potentially no format incompatibilities when everyone is sharing documents and applications in the cloud.
39
Advantages of Cloud Computing
40
•
Unlimited storage capacity:
–
Cloud computing offers virtually limitless storage.
–
Your computer's current 1 Tbyte hard drive is small compared to
the hundreds of Pbytes available in the cloud.
•
Increased data reliability:
–
Unlike desktop computing, in which if a hard disk crashes and
destroy all your valuable data, a computer crashing in the cloud
should not affect the storage of your data.
–
In a world where few individual desktop PC users back up their
data on a regular basis, cloud computing is a data-safe
computing platform!
40
Advantages of Cloud Computing
41
•
Universal document access:
–
That is not a problem with cloud computing, because you do not
take your documents with you.
–
Instead, they stay in the cloud, and you can access them
whenever you have a computer and an Internet connection
–
Documents are instantly available from wherever you are
•
Latest version availability:
–
When you edit a document at home, that edited version is what
you see when you access the document at work.
–
The cloud always hosts the latest version of your documents
•
as long as you are connected, you are not in danger of having
an outdated version
41
Advantages of Cloud Computing
42
•
Easier group collaboration:
–
Sharing documents leads directly to better collaboration.
–
Many users do this as it is an important advantages of cloud
computing
•
multiple users can collaborate easily on documents and
projects
•
Device independence.
–
You are no longer tethered to a single computer or network.
–
Changes to computers, applications and documents follow you
through the cloud.
–
Move to a portable device, and your applications and documents
are still available.
42
Advantages of Cloud Computing
43
Cloud Benefits
44
Challenges of the Cloud
45
•
Requires a constant Internet connection:
–
Cloud computing is impossible if you cannot connect to
the Internet.
–
Since you use the Internet to connect to both your
applications and documents, if you do not have an Internet
connection you cannot access anything, even your own
documents.
–
A dead Internet connection means no work and in areas
where Internet connections are few or inherently
unreliable, this could be a deal-breaker.
45
Disadvantages of Cloud Computing
46
•
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
46
Disadvantages of Cloud Computing
47
• Can be slow:
– Even with a fast connection, web-based applications can sometimes be slower than accessing a similar software program on your desktop PC.
– Everything about the program, from the interface to the current document, has to be sent back and forth from your computer to the computers in the cloud.
– If the cloud servers happen to be backed up at that moment, or if the Internet is having a slow day, you would not get the instantaneous access you might expect from desktop applications.
47
Disadvantages of Cloud Computing
48
• Stored data might not be secure:
– With cloud computing, all your data is stored on the cloud.
• The questions is How secure is the cloud?
– Can unauthorised users gain access to your confidential data?
• Stored data can be lost:
– Theoretically, data stored in the cloud is safe, replicated across multiple machines.
– 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.
48
Disadvantages of Cloud Computing
49
•
Locked in costs:
–
Each cloud systems uses different protocols and different APIs
•
may not be possible to run applications between cloud
based systems
–
eg. Amazon has created its own DB system (not SQL), and
workflow system (many popular workflow systems out there)
•
so your normal applications will have to be adapted to
execute on these platforms.
49
Disadvantages of Cloud Computing
50
Enterprise Cloud Models and Issues
51
Cloud Challenges – Summary
52
Examples of 3
rdparty Cloud platforms
53
ABICLOUD CLOUD PLATFORM
Abicloud is an open source infrastructure software for the
creation and integral management of Public & Private Clouds
based on heterogeneous environments.
54
(Source: Peng et al., 2009)
55
Eucalyptus Cloud Platform
Elastic Utility Computing Architecture For
Linking Your Programs To Useful Systems
56
Eucalyptus Cloud Platform
• Origins at Computer Science Department at University of California, Santa Barbara
• Provides framework for IT infrastructure and datacenter management by creating private clouds.
• Open source and packaged using Linux distributions
• Maintained by Eucalyptus Inc. which provides enterprise products and support.
57
Eucalyptus Cloud Platform
•
Cloud controller (CLC)
•
Cluster controller (CC)
•
Node controller (NC)
•
Storage controller(SC)
•
Walrus
(Source: Peng et al., 2009)58
59
Nimbus Cloud Platform
•
An extensible open source Infrastructure-as-a-Service
implementation
•
Can be configured to use familiar schedulers like PBS and SGE
to manage VMs
•
Launches self-configuring virtual clusters
•
WSRF and EC2 interfaces
60
A Brief History of
Nimbus
Research on agreement-based
services Xen released
First WSRF Workspace Service
release
EC2 gateway available
Support for EC2 interfaces
2003 2006 2009
EC2 goes online
First STAR production run on EC2
Nimbus Cloud comes online
Context Broker release
Source: Keahey, (2009)
Source: Peng et al., 2009 61
62
OpenNebula CLOUD PLATFORM
• Orchestrates storage, network and virtualization technologies to enable the dynamic placement of multi-tier services on distributed infrastructures, combining both data center resources and remote cloud resources, according to allocation policies
• Provides internal and Cloud administration and user interfaces for the full management of the IaaS Cloud platform
2005 2006 2007 2008 2009 2010 2011 2012
Research
Project TP1 v1.0 v1.2 v1.4 v2.0 v2.2 v3.0 v3.4
v3.2
Source: Peng et al., 2009 63
64
OpenNebula
For the Infrastructure Manager
• Centralized management of VM workload and distributed infrastructures
• Support for VM placement policies: balance of workload, server consolidation…
• Dynamic resizing of the infrastructure
• Dynamic partition and isolation of clusters
• Dynamic scaling of private infrastructure to meet fluctuating demands
• Lower infrastructure expenses combining local and remote Cloud resources
65
OpenNebula
For the Infrastructure User
•
Faster delivery and scalability of services
•
Support for heterogeneous execution environments
•
Full control of the lifecycle of virtualized services management
66
An overview of AWS
• AWS is Amazon’s umbrella description of all of their web-based technology services.
• Mainly infrastructure services:
– Amazon Elastic Compute Cloud (EC2)
– Amazon Simple Storage Service (S3)
– Amazon Simple Queue Service (SQS)
– Amazon CloudFront
– Amazon SimpleDB
67
•
Amazon EC2 is one large complex web service.
•
EC2 provided an API for instantiating computing instances with any
of the operating systems supported.
•
It can facilitate computations through Amazon Machine Images
(AMIs) for various other models.
•
Signature features: S3, Cloud Management Console, MapReduce
Cloud, Amazon Machine Image (AMI)
•
Excellent distribution, load balancing, cloud monitoring tools
67
Amazon EC2
68
Amazon Cloud-front
•
Cloud-based content distributing network enables you to
place the content at the edges of the network for rapid
delivery.
•
Place the contents in S3 and run the application from
anywhere and the content is moved to where the application
is (to the edges).
69
S3
• Amazon web services API support the ability to:
• Find buckets and objects
• Discover their meta data
• Create new buckets
• Upload new objects
• Delete existing buckets and objects
• When manipulating the buckets you can optionally specify where they should be stored.
• Use REST API preferably something that abstracts out even that: Jets3t;
s3cmd (command line)
• BitTorrent access to S3 is also available
70
AWS Use in an organization
• Maintain a library of AMIs for the business
– May contain legacy systems or company-specific systems
– Harden AMIs using such software as Bastille
• Launch instances for non-technical but domain experts to work with.
– What will you provide them so that they can start working?
• Use S3 for archival storage and shared storage
71