程序代写代做代考 flex Week 9 – Cloud Computing 1

Week 9 – Cloud Computing 1

CLOUD COMPUTING (1)
Dr Bailin Deng

Introduction to Cloud Computing
• “Cloud computing is a model for enabling ubiquitous,

convenient, on-demand network access to a shared pool
of configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be
rapidly provisioned and released with minimal
management effort or service provider interaction. ”

Mell, P. and Grance, T., 2011. The NIST definition of cloud computing.

Introduction to Cloud Computing
• Five main principles

• Pooled resources
• Virtualization
• Elasticity
• Automation
• Metered Billing

• J Rosenberg & A Mateos, The Cloud at Your Service, Manning
Publications, 2010

Pooled Resources
• Pooled computing resources that are available to any

subscribers
• A shift from host-hosted IT to outsourced IT
• Lower financial barrier to initiate a new project
• Reduction in expenses associated with operating and infrastructure

Virtualization
• Each physical server is partitioned into many virtual

servers
• Each virtual server acts like a real server that can independently

run an operating system and applications
• Virtualized servers are the primary units that can be consumed as

needed in the cloud

Elasticity
• Ability to dynamically change how much resource is

consumed in response to how much is needed

• Typical applications require a base level of resources
under normal conditions, but need more resources under
peak load conditions

• In the non-cloud world, need to build sufficient capacity to
handle peak load scenarios – over-provisioning

Automation
• Ability to automatically (via API) provision and deploy a new

virtual instance of a machine, and to free (de-provision) an
instance

• Provision new instance
on an as-needed basis

Metered Billing
• A pay-as-you-go model

• No annual contract and no commitment to a specific level of
consumption

• Charges only for what you use (e.g. on an hourly basis)

Private/Public/Hybrid Clouds
• Private Cloud: pooled resources that belong to a

particular organization or an enterprise, not available to
the general public

• Public Cloud: pooled resources are available to any
subscribing user

• Hybrid Cloud : combines both private and public clouds

Potential Benefits
• Initial capital barrier to starting a project is drastically

reduced

• Improves an organization’s agility – reduced planning,
purchasing, provisioning and maintenance

• Security might be stronger and better in the Cloud
• Big vendors probably know how to do security

Potential Disadvantages
• Location of data
• Latency
• Cost
• Not all applications suit cloud environments
• Vendor/tool lock-in

• Dependence on vendor’s continued support and billing
arrangements (e.g. Google API)

• Security and privacy
• http://www.edweek.org/ew/articles/2014/03/13/26google.h33.html

Infrastructure as a Service (IaaS)
• An IaaS provider supplies virtual machine images of

different operating systems
• The images can be tailored by the developer to run any custom or

packaged application
• Users responsible for the setup and maintenance of services

running on the virtual machines (e.g. Apache)
• Use of the images is typically metered and charged on an hourly

basis
• Storage and bandwidth are also consumable commodities
• Storage is typically charged per GB per month
• Bandwidth is typically charged for transmission in and out of the

system

Infrastructure as a Service (IaaS)
• Example: Amazon Elastic Compute Cloud (EC2)

Platform as a Service (PaaS)
• A user develops/deploys applications using languages,

libraries, services, and tools supported by the provider
• Facilitates deployment of applications without the complexity of

managing the underlying virtual OSs

• Limitation: Less flexibility
• A particular PaaS provider only supports some specific language(s)

Platform as a Service (PaaS)
• Examples:

• Google AppEngine
• Microsoft Azure
• Heroku
• OpenShift (Red Hat)

Software as a Service (SaaS)
• SaaS refers to services and applications that are available

on an on-demand basis

Software as a Service (SaaS)
• SaaS refers to services and applications that are available

on an on-demand basis

• Example: Google
• Cloud applications accessed via browser

• Google Docs, etc.
• Or via Google apps, using predefined APIs

• Gmail, Calendar, … [also available via browser]
• APIs available to third parties (e.g. as HTTP requests)

• Translate API
• Custom search API
• …

Comparison

Hosted
applications

Development tools,
DB management, etc.

OS Servers &
Storage

Networking
firewalls/security

Data center
physical facility

Technical Underpinnings
• Data centers
• Virtualization
• Cloud API for controlling remote servers
• …

Data Centers
• A data center is a facility (usually secure) to house a large

collection of computers, networking and communications
equipment
• Mega data centers: Amazon, Google, Facebook, etc.

Data Centers
• Space: from a room up to entire building/multiple buildings

• Servers mounted in rows of rack cabinets
• Mainframe computers and storage devices may be placed

alongside them

• Clean, unwavering power – computers have to be running
at all times
• Backup batteries and diesel generators to keep power flowing

Data Centers
• Cooling system – air-conditioning

• Water-cooling is an option (some new data centers built along
rivers)

• Network connectivity and ample bandwidth are vital

• Physical and logical security:
• Guards, state-of-the-art authentication technology to keep

unauthorized users from physically entering
• Firewalls, VPN gateways, intrusion-detection software, and so on,

to keep unauthorized users from entering over the network

• Underpinned by a disaster recovery plan

Data Centers – Example

Virtualization
• Virtualization is accomplished by inserting a thin layer of

software directly on the computer hardware
• This layer contains a virtual machine monitor (VMM) – also called

hypervisor
• VMM accesses the hardware and presents the guest OS with a

virtual set of hardware resources
• VMM allocates hardware resources dynamically and transparently

• New instances can be generated and run on demand

• Multiple guest operating systems run concurrently on a
single physical computer and share resources with each
other through the VMM

Virtualization

Desktop Virtualization
• Virtualization isn’t just for servers

• Allows multiple OSs to run concurrently on a desktop

• Examples
• VirtualBox
• VMWare
• Parallels Desktop for Mac …

Benefits of Virtualization
• Security: virtualization gives the cloud provider more

control over what the client OS can do.
• Cost: multiple clients can use the same physical machine

instead of having to rent full machines.
• Scheduling flexibility: virtualization allows the cloud

provider to make better scheduling decisions by making it
easier to migrate client operating systems from one
physical machine to another.

• Resilience: if hardware fails, it is much easier to
reallocate virtual resources to other hosts than it would be
to completely replace physical machines.

Cloud API
• Each type of cloud must provide some kind of API that

can be used to:
• Provision resources
• Configure and control resources
• Release resources when they are no longer needed

• Many different kinds of APIs – no accepted standard yet
• SaaS – normally browser-based web interface
• IaaS
• Amazon EC2 API: SOAP-based and HTTP Query-based APIs

Example: Amazon EC2 API
• “Amazon Elastic Compute Cloud (Amazon EC2) is a web

service that provides resizable compute capacity in the
cloud.”

• AMI: an Amazon Machine Image is an encrypted and
signed machine image suitable for running in a virtual
server environment

• For example, it may contain Linux, Apache, MySQL or
PHP as well as applications of the AMI’s owner

Example: Amazon EC2 API
• AMI can be

• Public (provided by Amazon)
• Private (custom designed by its creator)
• Paid (purchased by a third party)
• Shared (created by the community for free)

• AMI can be stored in Amazon’s Simple Storage Service
(S3)

• Instance: The result of launching an AMI is a running
system is called instance

• When an instance terminates, all the data on that instance
vanishes