0% found this document useful (0 votes)
17 views59 pages

Cloud Computing Concepts

Uploaded by

Ismaila Diakhate
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views59 pages

Cloud Computing Concepts

Uploaded by

Ismaila Diakhate
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 59

Cloud Computing Concepts

Temitope Ajayi
Phone: +234 803 405 4077
[email protected], topeajayi
@gmail.com
Two Technologies for Agility
• Virtualization:
• The ability to run multiple operating
systems on a single physical system and
share the underlying hardware resources*
• Cloud Computing:
• “The provisioning of services in a timely
(near on instant), on-demand manner, to
allow the scaling up and down of
resources”**
* VMware white paper, Virtualization Overview
** Alan Williamson, quoted in Cloud BootCamp March 2009
The Traditional Server Concept

Web App Server DB Server EMail


Server
Linux Linux Windows
Windows
Glassfish MySQL Exchange
IIS
The Traditional Server Concept

• System Administrators often talk about servers as a


whole unit that includes the hardware, the OS, the
storage, and the applications.
• Servers are often referred to by their function i.e. the
Exchange server, the SQL server, the File server,
etc.
• If the File server fills up, or the Exchange server
becomes overtaxed, then the System Administrators
must add in a new server.
And if something goes wrong ...

Web Server App Server DB Server EMail


Windows DOWN! Linux Windows
IIS MySQL Exchange
The Traditional Server Concept

• Unless there are multiple servers, if a


service experiences a hardware failure,
then the service is down.
• System Admins can implement clusters of
servers to make them more fault tolerant.
However, even clusters have limits on
their scalability, and not all applications
work in a clustered environment.
The Traditional Server Concept
• Cons
• Pros
• Expensive to acquire and
• Easy to
maintain hardware
conceptualize
• Not very scalable
• Fairly easy to deploy • Difficult to replicate
• Easy to backup • Redundancy is difficult to
• Virtually any implement
application/service • Vulnerable to hardware
can be run from this outages
type of setup • In many cases, processor is
under-utilized
The Virtual Server Concept

• Virtual servers seek to encapsulate the


server software away from the hardware
• This includes the OS, the applications, and the
storage for that server.
• Servers end up as mere files stored on a
physical box, or in enterprise storage.
• One host typically house many virtual
servers (virtual machines or VMs).
• A virtual server can be serviced by one or
more hosts e.g. storage, services, etc
The Virtual Server Concept

Hypervisor layer between Guest OS and hardware


Hypervisors And Hosts
• A hypervisor is a piece of computer software, firmware
or hardware that creates and runs virtual machines.
• A computer on which a hypervisor is running one or
more virtual machines is defined as a host machine.
• Each virtual machine has a guest operating
systems, which is managed by the hypervisor.
• Multiple instances of a variety of operating systems
may share the virtualized hardware resources.
Hypervisors and Virtual Machines

Server Server Clustering


1 2
Guest OS Guest OS Service
Console
Hypervisor

x86 Architecture

Intercepts
hardware
requests
The Virtual Server Concept

• Virtual servers can still be referred to by


their function i.e. email server, database
server, etc.
• If the environment is built correctly,
virtual servers will not be affected by the
loss of a host.
• Hosts may be removed and introduced
almost at will to accommodate
maintenance.
The Virtual Server Concept
• Virtual servers can be scaled out easily.
• If the administrators find that the resources
supporting a virtual server are being taxed too
much, they can adjust the amount of
resources allocated to that virtual server
• Server templates can be created in a
virtual environment to be used to create
multiple, identical virtual servers
• Virtual servers themselves can be
migrated from host to host almost at will.
The Virtual Server Concept
• Pros • Cons
• Resource pooling
• Slightly harder to
• Highly redundant
conceptualize
• Highly available
• Rapidly deploy new servers
• Slightly more costly
• Easy to deploy (must buy hardware,
• Reconfigurable while
OS, Apps, and now the
services are running abstraction layer)
• Optimizes physical
resources by doing more
with less
Cloud Computing?
• The cloud is Internet-based
computing, whereby shared
resources, software, and information
are provided to computers and other
devices on demand – pay per use.
• Cost-effective means of virtualising and making use of
resources more effectively
• Low start-up costs – pay for use helps to kick-start companies
• Scaling is proportional to demand (revenue) so it’s a good
business model
• Vast range of Cloud Computing applications
• Virtual private servers, Web hosting, data servers, fail-over
services, etc
Cloud Computing?
• Cloud computing is a model for enabling convenient,
on-demand network access to a shared pool of
configurable computing resources (e.g., networks,
servers, storage, applications, and services)
[Mell_2009], [Berkely_2009].
• It can be rapidly provisioned and released with
minimal management effort.
• It provides high level abstraction of computation and
storage model.
• It has some essential characteristics, service
models, and deployment models.
Clouds are on the Rise …
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 Contd.
• 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.
Essential Characteristics
• On-Demand Self Service:
• A consumer can unilaterally provision computing
capabilities, automatically without requiring human
interaction with each service’s provider.
• Heterogeneous Access:
• Capabilities are available over the network and
accessed through standard mechanisms that
promote use by heterogeneous thin or thick client
platforms.
Essential Characteristics Contd.
• Resource Pooling:
• The provider’s computing resources are pooled to
serve multiple consumers using a multi-tenant model.
• Different physical and virtual resources dynamically
assigned and reassigned according to consumer
demand.
• Measured Service:
• Cloud systems automatically control and optimize
resources used by leveraging a metering capability at
some level of abstraction appropriate to the type of
service.
• It will provide analyzable and predictable
computing platform.
Cloud computing takes virtualization to
the next step

• You don’t have to own the hardware


• You “rent” it as needed from a cloud
• There are public clouds
• e.g. Amazon EC2, and now many others
(Microsoft, IBM, Sun, and others ...)
• A company can create a private one
• With more control over security, etc.
Goal 1 – Cost Control
• Cost
• Many systems have variable demands
• Batch processing (e.g. New York Times)
• Web sites with peaks (e.g. Forbes)
• Startups with unknown demand (e.g. the
Cash for Clunkers program)
• Reduce risk
• Don't need to buy hardware until you need it
Goal 2 - Business Agility

• More than scalability - elasticity


• Ely Lilly in rapidly changing health care
business
• Used to take 3 - 4 months to give a department a
server cluster, then they would hoard it
• Using EC2, about 5 minutes
• And they give it back when they are done
• Scaling back is as important as scaling up
Goal 3 - Stick to Our Business

• Most companies don't WANT to do


system administration
• Forbes says:
• We are is a publishing company, not a software
company
• But beware:
• Do you really save much on sys admin?
• You don't have the hardware, but you still
need to manage the OS!
Cloud Computing Overview
Service Models
• Cloud Software as a Service (SaaS):
• SaaS is where an application is hosted as a service
provided to customers across the Internet
• The capability provided to the consumer is to use the
provider’s applications running on a cloud infrastructure.
• The applications are accessible from various client devices
such as a web browser (e.g., web-based email).
• The consumer does not manage or control the underlying
cloud infrastructure including network, servers, operating
systems, storage,…
• Examples: Caspio, Google Apps, Salesforce, Nivio, Learn.com.
• SaaS alleviates the burden of software maintenance/support
• but users relinquish control over software versions and requirements.
Service Models (contd.)
• Cloud Platform as a Service (PaaS):
• PaaS provides a computing platform and a solution stack
as a service.
• The capability provided to the consumer is to deploy onto
the cloud infrastructure consumer-created or acquired
applications created using programming languages, tools
and libraries supported by the provider.
• The consumer does not manage or control the underlying
cloud infrastructure. The provider provides the networks,
servers, storage and other services
• Consumer has control over the deployed applications and
possibly application hosting environment configurations.
• Examples: Windows Azure, Google App.
Service Models (contd.)
• Cloud Infrastructure as a Service (IaaS):
• IaaS providers offer virtual machines, virtual-machine image
libraries, raw (block) and file-based storage, firewalls, load
balancers, IP addresses, virtual local area networks (VLANs),
software bundles and other fundamental computing resources.
• The consumer is able to deploy and run arbitrary software,
which can include operating systems and applications.
• The consumer does not manage or control the underlying
cloud infrastructure but has control over operating systems,
storage, deployed applications, and possibly limited control
of select networking components (e.g., host firewalls).
• Examples: Amazon EC2, GoGrid, iland, Rackspace Cloud
Servers, ReliaCloud.
• Pools of hypervisors can scale services up and down according
to customers' varying requirements
• All infrastructure is provided on-demand
Service Models Contd.
Software as a Platform as a Infrastructure as a
Service (SaaS) Service (PaaS) Service (IaaS)

SalesForce
CRM
LotusLive

Google
App
Engine

Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance
Service Models contd.

Service Model at a glance: Picture From http://en.wikipedia.org/wiki/File:Cloud_Computing_Stack.svg


Cloud Taxonomy
Where is all of this?
Data Centers

• 10 billion spent on electricity per year for data centers


• 3% of global energy use
• Clouds are the future of the way companies do business
on the Internet
Deployment Models

Private Cloud:
 The cloud is operated solely for an organization. It may
be managed by the organization or a third party and may
exist on premise or off premise.

Community Cloud:
 The cloud infrastructure is shared by several
organizations and supports a specific community that has
shared concerns.
 It may be managed by the organizations or a third party
and may exist on premise or off premise
Deployment Models Contd.

Public Cloud:
 The cloud infrastructure is made available to the general
public or a large industry group and it is owned by an
organization selling cloud services.

Hybrid cloud:
 The cloud infrastructure is a composition of two or more
clouds (private, community, or public).
Deployment Models Contd.
Infrastructure as a Service
(IaaS)
Amazon EC2
What is Infrastructure as a Service ?

• A category of cloud services which provides capability to


provision processing, storage, intra-cloud network
connectivity services, and other fundamental computing
resources of the cloud infrastructure.
Source- [ITU –Cloud Focus
Group]

Diagram Source: Wikipedia


Highlights of IaaS

• On demand computing resources


• Eliminate the need of far ahead planning
• No up-front commitment
• Start small and grow as required
• No contract, Only credit card!
• Pay for what you use
• No maintenance
• Measured service
• Scalability
• Reliability
What is EC2 ?

Amazon Elastic Compute Cloud (EC2) is a web
service that provides resizeable computing capacity
that one uses to build and host different software
systems.

Designed to make web-scale computing easier for
developers.

A user can create, launch, and terminate server
instances as needed, paying by the hour for active
servers, hence the term "elastic".

Provides scalable, pay as-you-go compute capacity

Elastic - scales in both direction
EC2 Infrastructure Concepts
EC2 Concepts

• AMI & Instance


• Region & Zones
• Storage
• Networking and Security
• Monitoring
• Auto Scaling
• Load Balancer
Amazon Machine Images (AMI)

Is an immutable representation of a set of disks that contain an operating
system, user applications and/or data.

From an AMI, one can launch multiple instances, which are running
copies of the AMI.
AMI and Instance

• Amazon Machine Image (AMI) is a template for


software configuration (Operating System,
Application Server, and Applications)
• Instance is a AMI running on virtual servers in the
cloud
• Each instance type offers different compute and
memory facilities

Diagram Source:
Region and Zones

• Amazon have data centers in different region across


the globe
• An instance can be launched in different regions
depending on the need.
• Closer to specific customer
• To meet legal or other requirements
• Each region has set of zones
• Zones are isolated from failure in other zones
• Inexpensive, low latency connectivity between zones in
same region
Storage

• Amazon EC2 provides three type of storage option


• Amazon EBS
• Amazon S3
• Instance Storage

Diagram Source:
Elastic Block Store(EBS)
volume

An EBS volume is a read/write disk that can be created by an AMI
and mounted by an instance.

Volumes are suited for applications that require a database, a file
system, or access to raw block-level storage.
Amazon S3

S3 = Simple storage Service

A SOA – Service Oriented Architecture which
provides online storage using web services.

Allows read, write and delete permissions on
objects.

Uses REST and SOAP protocols for
messaging.
Amazon SimpleDB

Amazon SimpleDB is a highly available, flexible,
and scalable non-relational data store that offloads
the work of database administration.

Creates and manages multiple geographically
distributed replicas of your data automatically to
enable high availability and data durability.

The service charges you only for the resources
actually consumed in storing your data and serving
your requests.
Networking and Security

• Instances can be launched on one of the two platforms


• EC2-Classic
• EC2-VPC

Each instance launched is assigned two addresses a private
address and a public IP address.

A replacement instance has a different public IP address.
• Instance IP address is dynamic.
• new IP address is assigned every time instance is launched

Amazon EC2 offers Elastic IP addresses (static IP addresses)
for dynamic cloud computing.
• Remap the Elastic IP to new instance to mask failure
• Separate pool for EC2-Classic and VPC
• Security Groups to access control to instance
Monitoring, Auto Scaling, and Load
Balancing
• Monitor statistics of instances and EBS
• CloudWatch
• Automatically scales amazon EC2 capacity up and
down based on rules
• Add and remove compute resource based on demand
• Suitable for businesses experiencing variability in usage
• Distribute incoming traffic across multiple instances
• Elastic Load Balancing
How to access EC2

• AWS Console
• http://console.aws.amazon.com
• Command Line Tools
• Programmatic Interface
• EC2 APIs
• AWS SDK
AWS Management Console
References

Mobile cloud computing: Big Picture by M. Reza
Rahimi

http://aws.amazon.com/ec2,
http://docs.aws.amazon.com

Amazon Elastic Compute Cloud – User Guide, API
Version 2011-02-28.
• Above the Clouds: A Berkeley View of Cloud
Computing - Michael Armbrust et.al 2009
• International telecommunication union – Focus Group
Cloud Technical Report

You might also like