Cloud Computing Csc3206: About The Course Unit
Cloud Computing Csc3206: About The Course Unit
CLOUD COMPUTING‐CSC3206
Umar Yahya
PhD CS & MSc. CNM (UBD, Brunei), BSc.TE & HDCIT (IUT, Bangladesh)
Room 9 / Motion Analysis Research Lab (MARL)
Email: [email protected] Phone: 0700836936
About the Course unit
Contact Hours / Assessment
o Contact Hours= 60 Hours
o Course work / Continuous Assessment=30%
o Final Examination=70%
Primary Texts/ Resources
1) Cloud computing : principles and paradigms (2011), Rajkumar
Buyya, James Broberg, Andrzej Goscinski (Eds).
2) Cloud Computing: Web‐Based Applications That Change the Way
You Work and Collaborate Online (2009) Book by Michael Miller
3) Cloud Computing Concepts, Technology and Architecture (2013)
Book by Ricardo Puttini, Thomas Erl, and Zaigham Mahmood
Resource Sharing Platform: https://csc3206.wordpress.com
15/01/2019 UmarYahya2019‐IUIUKC 2
1
15/01/2019
15/01/2019 UmarYahya2019‐IUIUKC 3
Introduction
What is Cloud Computing?
15/01/2019 UmarYahya2019‐IUIUKC 4
2
15/01/2019
Introduction
What is Cloud Computing?
"a pay‐per‐use model for enabling available, convenient,
on‐demand network access to a shared pool of
configurable computing resources (e.g. networks,
servers, storage, applications, services) that can be
rapidly provisioned and released with minimal
management effort or service provider interaction"‐
Definition by The National Institute of Standards and
Technology (NIST).
15/01/2019 UmarYahya2019‐IUIUKC 5
Introduction
What is Cloud Computing? …
Several definitions exist. However 4 common
characteristics of a cloud are shared;
i. Pay‐per‐use (i.e no ongoing commitment, utility prices);
ii. Elastic capacity and the illusion of infinite resources;
iii. Self‐service interface; and
iv. Resources that are abstracted or virtualised.
Ultimate goal is allowing customers to run their
everyday IT infrastructure “in the cloud.”
15/01/2019 UmarYahya2019‐IUIUKC 6
3
15/01/2019
Introduction
Roots of Cloud Computing
Technologies that have advanced and significantly
contributed in making cloud computing viable.
From Mainframes to Clouds: From in‐house
generated computing power into utility‐supplied
computing resources delivered over the Internet as
Web services.
Computing delivered as a Utility: “on demand delivery of
infrastructure, applications, and business processes in a
security‐rich, shared, scalable, and based computer
environment over the Internet for a fee”
15/01/2019 UmarYahya2019‐IUIUKC 7
15/01/2019 UmarYahya2019‐IUIUKC 8
4
15/01/2019
Introduction
Roots of Cloud Computing …
SOA, Web Services, Web 2.0, and Mashups:
Service‐oriented architecture (SOA): software resources
are packaged as “services”
Web Services: Advanced the domain of software
integration
Web 2.0: Participative and Social Web. i.e Websites that
emphasize user‐generated content, usability, participatory
culture and interoperability for end users
Mashups: a technique by which a website or Web
application uses data, presentation or functionality from
two or more sources to create a new service. (Google
Maps)
15/01/2019 UmarYahya2019‐IUIUKC 9
Introduction
Roots of Cloud Computing …
Grid Computing: Groups of networked computers that
act together to perform large tasks, such as analyzing
huge sets of data and weather modeling
Utility Computing: Users assign a “utility” value to their
jobs, where utility is a fixed or time‐varying valuation
that captures various QoS constraints (deadline,
importance, satisfaction)
o Valuation is the amount they are willing to pay a
service provider to satisfy their demands
15/01/2019 UmarYahya2019‐IUIUKC 10
5
15/01/2019
Introduction
Roots of Cloud Computing …
Hardware virtualization: (VMWare, Xen, and KVM)
15/01/2019 UmarYahya2019‐IUIUKC 11
Introduction
Roots of Cloud Computing …
Virtual Appliances and the Open Virtualization Format:
A virtual appliance is an application combined with the
environment needed to run it (OS, libraries, compilers,
databases, application containers, and so forth)
Application environments packaged in the shape of virtual
appliances for easy software customization, configuration,
and patching and improves portability
Autonomic Computing
Seeks to improve systems by decreasing human involvement
in their operation. i.e Systems managing themselves, with
high‐level guidance from humans
15/01/2019 UmarYahya2019‐IUIUKC 12
6
15/01/2019
Introduction
Layers and Types of Clouds
Cloud computing services into three classes (i.e according to
the abstraction level of the capability provided):
Introduction
15/01/2019 UmarYahya2019‐IUIUKC 14
7
15/01/2019
Introduction
Qn. Highest Abstraction?
15/01/2019 UmarYahya2019‐IUIUKC 15
Introduction
Deployment Models of Cloud Computing
Public Cloud: Made available in a pay‐as‐you‐go manner
to the general public
Private Cloud: Internal data center of a business or other
organization, not made available to the general public
Community Cloud: Shared by several organizations and
supports a specific community that has shared concerns
(e.g., mission, security requirements, policy, and
compliance considerations)
Hybrid Cloud: When a private cloud is supplemented with
computing capacity from public clouds. Temporarily
renting capacity to handle spikes in load is known as
“cloud‐bursting”
15/01/2019 UmarYahya2019‐IUIUKC 16
8
15/01/2019
Introduction
15/01/2019 UmarYahya2019‐IUIUKC 17
Introduction
Desired Features of a Cloud
i. Self‐Service: Must allow self‐service access so that
customers can request, customize, pay, and use services
without intervention of human operators
ii. Per‐Usage Metering and Billing: Services must be priced
on a short‐term basis (e.g., by the hour), allowing users to
release (and not pay for) resources as soon as they are not
needed.
iii. Elasticity: The illusion of infinite computing resources
available on demand. i.e users expect clouds to rapidly
provide resources in any quantity at any time
iv. Customization: In a multi‐tenant cloud a great disparity
between user needs is often the case. Thus, resources
rented from the cloud must be highly customizable
15/01/2019 UmarYahya2019‐IUIUKC 18
9
15/01/2019
Introduction
Cloud Infrastructure Management (CIM)
IaaS providers face challenges when managing physical and
virtual resources (servers, storage, and networks) in a
holistic fashion
Orchestration of resources must be performed in a way to
rapidly and dynamically provision resources to applications.
(Orchestration=automated configuration, coordination, and
management of computer systems and software)
The software toolkit responsible for this orchestration is
called a virtual infrastructure manager (VIM)
VIM also referred to as: cloud operating system,
infrastructure sharing software, virtual infrastructure engine
15/01/2019 UmarYahya2019‐IUIUKC 19
Introduction
Cloud Infrastructure Management (CIM)
Features available in VIMs
Virtualization Support. The multi‐tenancy aspect
of clouds requires multiple customers with
disparate requirements to be served by a single
hardware infrastructure.
Self‐Service, On‐Demand Resource Provisioning.
Self‐service access to resources has been
perceived as one the most attractive features of
clouds.
15/01/2019 UmarYahya2019‐IUIUKC 20
10
15/01/2019
Introduction
Cloud Infrastructure Management (CIM)
Features available in VIMs
Multiple Backend Hypervisors. To provide a
uniform management layer regardless of the
virtualization technology used.
Introduction
Cloud Infrastructure Management (CIM)
Features available in VIMs
Interface to Public Clouds. Extending the capacity
of a local in‐house computing infrastructure by
borrowing resources from public clouds
11
15/01/2019
Introduction
Cloud Infrastructure Management (CIM)
Features available in VIMs
Dynamic Resource Allocation. A feature that
continuously monitors utilization across resource
pools and reallocates available resources among
VMs according to application needs.
15/01/2019 UmarYahya2019‐IUIUKC 23
Introduction
Cloud Infrastructure Management (CIM)
Features available in VIMs
High Availability and Data Recovery. Aims at
minimizing application downtime and preventing
business disruption.
Data backup in clouds should take into account the high
data volume involved in VM management.
Frequent backup of a large number of VMs, should be
done with minimal interference in the systems
performance.
Some VIMs offer data protection mechanisms that
perform incremental backups of VM images.
The backup workload is often assigned to proxies, thus
offloading production server and reducing network
overhead
15/01/2019 UmarYahya2019‐IUIUKC 24
12
15/01/2019
Introduction
Cloud Infrastructure Management (CIM)
VIMs Case studies (read about this in detail)
Apache VCL
AppLogic
Citrix Essentials
Enomaly ECP
Eucalyptus
Nimbus3
OpenNebula
OpenPEX
oVirt
Platform ISF
VMWare vSphere and vCloud
15/01/2019 UmarYahya2019‐IUIUKC 25
15/01/2019 UmarYahya2019‐IUIUKC 26
13
15/01/2019
Introduction
IaaS Providers
Commonly offer virtual servers containing one or
more CPUs, running several choices of operating
systems and a customized software stack.
Storage space and communication facilities also
often provided.
IaaS offerings can be distinguished by the
availability of specialized features that influence
the cost‐benefit ratio to be experienced by user
applications when moved to the cloud.
15/01/2019 UmarYahya2019‐IUIUKC 27
Introduction
IaaS Providers
Most relevant features of IaaS Providers …
i. Geographic distribution of data centers. E.g The
concept of “availability zones” and “regions”
presented by Amazon for its EC2 service
ii. Variety of user interfaces and APIs to access the
system.
Different types of user interfaces (UI) provide different
levels of abstraction
The most common being graphical user interfaces (GUI),
command‐line tools (CLI), and Web service (WS) APIs
15/01/2019 UmarYahya2019‐IUIUKC 28
14
15/01/2019
Introduction
IaaS Providers
Most relevant features of IaaS Providers …
iii. Advance Reservation of Capacity. Advance
reservations allow users to request for an IaaS
provider to reserve resources for a specific time
frame in the future.
iv. Automatic Scaling and Load Balancing.
Applications often need to scale up and down to
meet varying load conditions.
Therefore automatic scaling is a highly desirable
feature of IaaS clouds.
15/01/2019 UmarYahya2019‐IUIUKC 29
Introduction
IaaS Providers
Most relevant features of IaaS Providers…
v. Service‐Level Agreement (SLA).
SLAs offered by IaaS providers to express their
commitment to delivery of a certain QoS.
To customers it serves as a warranty.
SLAs usually include availability and performance
guarantees.
Additionally, metrics must be agreed upon by all
parties as well as penalties for violating these
expectations.
15/01/2019 UmarYahya2019‐IUIUKC 30
15
15/01/2019
Introduction
IaaS Providers
Most relevant features of IaaS Providers…
vi. Hypervisor and Operating System Choice.
Traditionally, IaaS offerings have been based on
heavily customized open‐source Xen deployments.
More recently, there has been an emergence of
turnkey IaaS platforms such as VMWare vCloud and
Citrix Cloud Center (C3). ‐> lowering the barrier of
entry for IaaS competitors, leading to a rapid
expansion in the IaaS marketplace.
15/01/2019 UmarYahya2019‐IUIUKC 31
Introduction
IaaS Providers (See Table 1.2 in Buya et al 2011)
Case studies
Amazon Web Services. Pioneered the introduction
of IaaS clouds in 2006. It offers:‐
o S3 (storage),
o EC2 (virtualservers),
o Cloudfront (content delivery),
o Cloudfront Streaming (video streaming),
o SimpleDB (structured datastore),
o RDS (Relational Database),
o SQS(reliable messaging), and
o Elastic MapReduce (data processing).
15/01/2019 UmarYahya2019‐IUIUKC 32
16
15/01/2019
Introduction
IaaS Providers
Case studies
Flexiscale. A UK‐based provider offering services
similar in nature to Amazon Web Services.
Distinct features include:‐
o persistent storage by default,
o fixed IP addresses,
o dedicated VLAN,
o a wider range of server sizes, and
o runtime adjustment of CPU capacity (aka CPU
bursting/vertical scaling)
15/01/2019 UmarYahya2019‐IUIUKC 33
Introduction
IaaS Providers
Case studies
Joyent. Allow deploying various specialized
software‐stack based on a customized version of
Open‐Solaris operating system.
o Apache, MySQL, PHP, Ruby on Rails, and Java come
preinstalled
GoGrid. Offers “value‐added” stacks on top for
applications such as high‐volume Web serving, e‐
Commerce, and database stores.
15/01/2019 UmarYahya2019‐IUIUKC 34
17
15/01/2019
Introduction
IaaS Providers
Case studies
Rackspace Cloud Servers. Rackspace Cloud
Servers is an IaaS solution that provides fixed size
instances in the cloud.
o As part of its default offering, enables fixed (static) IP
addresses, persistent storage, and load balancing (via
A‐DNS) at no additional cost.
15/01/2019 UmarYahya2019‐IUIUKC 35
Introduction
PaaS Providers
Offer a development and deployment environment
that allow users to create and run their
applications with little or no concern to low‐level
details of the platform
15/01/2019 UmarYahya2019‐IUIUKC 36
18
15/01/2019
Introduction
PaaS Providers
Features:
Programming Models, Languages, and Frameworks.
Most commonly used languages in platforms include
Python and Java (e.g., Google AppEngine), .NET
languages (e.g., Microsoft Azure), and Ruby (e.g.,
Heroku).
Persistence Options.
A persistence layer is essential to allow applications
to record their state and recover it in case of crashes,
as well as to store user data.
15/01/2019 UmarYahya2019‐IUIUKC 37
Introduction
PaaS Providers
Case studies (See Table 1.3 in Buya et al 2011)
Aneka. Aneka is a .NET‐based service‐oriented resource
management and development platform.
App Engine. Google App Engine lets you run your Python
and Java Web applications on elastic infrastructure supplied
by Google.
Microsoft Azure. Microsoft Azure Cloud Services offers
developers a hosted . NET Stack (C#, VB.Net, ASP.NET)
Force.com. Allows developers to create add‐on functionality
that integrates into main Salesforce SaaS application.
Heroku. Heroku is a platform for instant deployment of Ruby
on Rails Web applications. Servers are invisibly managed by
the platform and are never exposed to users
15/01/2019 UmarYahya2019‐IUIUKC 38
19
15/01/2019
Introduction
Summary
Challenges and Risks
Data Lock‐In and Standardization. Users may want to move
data and applications out from a provider that does not
meet their requirements
15/01/2019 UmarYahya2019‐IUIUKC 39
Introduction
Summary
Top Benefits of Cloud Computing
Cost. Eliminates the capital expense of buying hardware and
software and setting up and running on‐site datacenters
Speed. Services are provided self service and on demand
Global scale. Delivering the right amount of IT resources right
when it is needed and from the right geographic location
Productivity. On‐site datacenters typically require a lot of time‐
consuming IT management tasks (e.g hardware set up,
software patching)
Performance. Services run on a worldwide network of secure
datacenters
Security. offer a broad set of policies, technologies and
controls that strengthen your security (i.e helping protect your
data, apps and infrastructure from potential threats).
15/01/2019 UmarYahya2019‐IUIUKC 40
20
15/01/2019
Introduction
Summary
Examples of what is possible with cloud services
Create new apps and services
Test and build applications
Store, back up and recover data
Analyse data
Stream audio and video
Embed intelligence
Deliver software on demand
15/01/2019 UmarYahya2019‐IUIUKC 41
Introduction
Summary
How do I choose a cloud service provider
Business health and processes
Financial health.
Organisation, governance, planning and risk
management.
Trust.
Business knowledge and technical know‐how.
Compliance audit.
15/01/2019 UmarYahya2019‐IUIUKC 42
21
15/01/2019
Introduction
Summary
How do I choose a cloud service provider …
Administration support
Service Level Agreements (SLAs).
Performance reporting.
Resource monitoring and configuration
management.
Billing and accounting.
15/01/2019 UmarYahya2019‐IUIUKC 43
Introduction
Summary
How do I choose a cloud service provider …
Technical capabilities and processes
Ease of deployment, management and upgrade.
Standard interfaces.
Event management
Change management.
Hybrid capability
15/01/2019 UmarYahya2019‐IUIUKC 44
22
15/01/2019
Introduction
Summary
How do I choose a cloud service provider …
Security practices
Security infrastructure.
Security policies.
Identity management.
Data backup and retention.
Physical security.
15/01/2019 UmarYahya2019‐IUIUKC 45
15/01/2019 UmarYahya2019‐IUIUKC 46
23