Wireless Sensor Networks

advertisement
CS6223: Distributed Systems
Cloud Computing
Origin of the Term “Cloud Computing”
• “Comes from the early days of the Internet where we
drew the network as a cloud… we didn’t care where the
messages went… the cloud hid it from us” – Kevin
Marks, Google
• First cloud around networking (TCP/IP abstraction)
• Second cloud around documents (WWW data abstraction)
• The emerging cloud abstracts infrastructure complexities
of servers, applications, data, and heterogeneous
platforms
2
A Working Definition of Cloud Computing
• Cloud computing is a model for enabling convenient, ondemand 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 or
configuration effort.
• The cloud model has the following features:
– 5 essential characteristics,
– 3 service models, and
– 4 deployment models.
3
Five Essential Cloud Characteristics
• On-demand self-service
• Broadband network access
• Resource pooling
– Location transparency
• Rapid elasticity
• Measured service
4
Three Cloud Service Models
• Software as a Service (SaaS)
– Use cloud’s applications (S/W) over a network
• Platform as a Service (PaaS)
– Deploy customer-developed applications in a cloud
• Infrastructure as a Service (IaaS)
– Rent processing, storage, network, and other fundamental
computing resources
5
Service Model Architectures
Cloud Infrastructure
Cloud Infrastructure
Cloud Infrastructure
IaaS
PaaS
PaaS
SaaS
SaaS
SaaS
Cloud Infrastructure
Cloud Infrastructure
IaaS
PaaS
Cloud Infrastructure
IaaS
PaaS
Software as a Service
(SaaS)
Architectures
Platform as a Service (PaaS)
Architectures
Infrastructure as a Service (IaaS)
Architectures
6
Four Cloud Deployment Models
• Private cloud
– enterprise owned
• Community cloud
– shared infrastructure for specific community
• Public cloud
– Sold to the public, mega-scale infrastructure
• Hybrid cloud
– composition of two or more clouds
7
Possible Trends of Cloud Computing
• Small enterprises use public SaaS and public clouds and
minimize growth of data centers
• Large enterprise data centers may evolve to act as private
clouds. They may also use hybrid clouds to leverage both
private and public clouds
• Public clouds may adopt standards in order to run
workloads from hybrid cloud infrastructures
8
Core objectives of Cloud Computing
Core objectives and principles of cloud computing:
• Security
• Scalability
• Availability
• Performance
• Cost-effective
• On-demand acquire / release resources
• Pay for what you use
• Leverage others’ core competencies
• Turn fixed cost into variable cost
9
Analyzing Cloud Security
• Some key issues:
– trust, multi-tenancy, encryption, compliance
• Clouds are massively complex systems that consist of
standard functional units replicated thousands of times
• Cloud security is a tractable problem
– There are both advantages and challenges
10
Security Advantages of Cloud Computing
•
More resources for security, e.g.,
–
–
–
•
•
•
•
•
•
•
dedicated security team,
good security infrastructure,
fault tolerance and reliability, …
Hypervisor protection against network attacks
Data held by unbiased party
On-demand security controls
Real-time detection of system tampering
Low-cost disaster recovery and data storage solutions
Rapid re-constitution of services
……
11
Challenges of Cloud Security
•
•
•
•
•
•
•
•
•
Data dispersal and international privacy laws
Possible massive outages
Multi-tenancy (with conflict of business interests)
Attraction to hackers (high value target)
Difficulties in keep data access logging
Data ownership issues
Security of virtual OSs in the cloud
Encryption needs for cloud computing
………..
12
Foundational Elements of Cloud Computing
Primary Technologies
• Virtualization
• Service Oriented Architectures
• Distributed Computing
• Broadband Networks
• Browser as a platform
• Free and Open Source Software
• …….
Other Technologies
• Web 2.0
• Web application frameworks
• Service Level Agreements
• Autonomic Systems
• ……
13
Virtualization
• Cloud computing separates applications from the
underlying infrastructure
• Host operating system provides an abstraction layer for
running virtual guest OSs
• The key is the “hypervisor” or “virtual machine manager”
– Enable guest OSs to run in isolation of other OSs
– Run multiple types of OSs
• Enable portability (migration) of virtual servers between
physical servers
• Increase utilization of physical servers
14
Utility Computing
• “Computing may someday be organized as a public utility”
- John McCarthy, MIT Centennial in 1961
• Huge computational and storage capabilities available
from utilities
• Metered billing (pay for what you use)
• Simple to use interface to access the capability (e.g.,
plugging into an outlet)
15
Web 2.0
• Web 2.0 is the trend of using the full potential of the web
–
–
–
–
Viewing the Internet as a computing platform
Running interactive applications through a web browser
Interconnecting mobile devices
Enhanced effectiveness with greater human participation
• “Web 2.0 is the business revolution in the computer
industry caused by the move to the Internet as a platform,
and an attempt to understand the rules for success on that
new platform.” – by Tim O'Reilly
16
Web Services
• Self-describing and stateless modules that perform discrete units of
work and are available over the network
• Web service providers offer APIs that enable developers to exploit
functionality over the Internet, rather than delivering full-blown
applications.
• Standards based interfaces
• e.g., SOAP, WSDL, WS-Security, WS-Transaction
• Many loosely coupled interacting modules form a single logical
system (e.g., legos)
17
Major Cloud Platforms
•
•
•
•
Amazon’s Elastic Compute (EC2) and Simple Storage (S3)
Google’s Google Apps
Microsoft’s Azure
Saleforce.com’s CRM clouds (e.g., Sales Cloud, Service Cloud
and Force.com)
• IBM’s Smart Business portfolio
18
Examples of Google Cloud Users
The government of City of Washington D.C. moved most of the
government functions to Google Cloud:
• Migrating data of 38,000 employees to Google Apps
• Replace office software by
–
–
–
–
Gmail
Google Docs (word processing and spreadsheets)
Google video for business
Google sites (intranet sites and wikis)
• 500,000+ organizations use Google Apps
• GE moved 400,000 desktops from Microsoft Office to Google
Apps and then migrated them to Zoho for privacy concerns
19
Facebook’s Use of
Open Source and Commodity Hardware (8/08)
By Jonathan Heiliger, Facebook's vice president of technical
operations:
• 80 million users + 250,000 new users per day
• 50,000 transactions per second, 10,000+ servers
• Built on open source software
– Web and App tier: Apache, PHP, AJAX
– Middleware tier: Memcached (Open source caching)
– Data tier:
MySQL (Open source DB)
• Thousands of DB instances store data in distributed fashion
(avoids collisions of many users accessing the same DB)
• Use redundancy of simple hardware devices for reliability
20
Amazon Cloud
• Amazon cloud components
– Elastic Compute Cloud (EC2)
– Simple Storage Service (S3)
– SimpleDB
• New Features
– Availability zones
• Place applications in multiple locations for failovers
– Elastic IP addresses
• Static IP addresses that can be dynamically remapped to point to different instances
(no change of DNS)
21
CityU CSLab Cloud Configuration (a case study)
• This is one rack (a large DataCenter has rows of
these racks). This rack is IBM Blade Center.
• A rack has many rack-units (server boards
inserted into the rack). Each rack-unit has 2
XEON CPUs, memory (16 – 96GB), and disk
(~100G). The local disk on each rack-unit is
small, only for O/S (no data or FS).
• Each rack has 3 storage arrays (30TB in total)
connected by SAN (Storage Area Network) to
all rack-units, i.e., they all share the same disk
storage.
• The disk storages of racks are further
interconnected by optical fibers (high speed).
22
Clusters and VM Configuration
• All server boards (rack units) are grouped into clusters. In Cslab,
14 boards are configured into 4 clusters (a cluster acts like a big
server), each with around 4 rack-units.
• Usually the same type of svr-boards (with the same CPU
platform) are grouped into the same cluster. This configuration is
easy for VM automatic migration between svr-boards in the same
cluster.
• VMs are configured on clusters. There can be hundreds VMs
configured on a cluster. Sys-Admin uses an interface (supported
by VMWare) to create a VM by specifying CPU, memory,
storage requirements, and VM platform (i.e., UNIX, Linux,
Solaris, MS-Window, etc).
23
VM Configuration / Mornintoring
• The Sys-Admin can use the interface to monitor the clusters (and svrboards inside each cluster), VMs on each cluster (and svr-boards), and
actual resource usage of VMs.
• A VM can be for a server, a web-server, database server, etc, or a server for
all students to do a course work for a subject. A VM can also be configured
for each staff office’s desktop (no PC is needed in staff’s office).
• The Max number of VMs on a cluster is mainly limited by memory and
storage size (they cannot be shared).
• A VM has its own IP address / domain name, all the same as a physical
machine. Users can run all kind of applications on the VM.
• A VM can work for relatively a long time, from a day to a few years. It can
survive the underneath H/W (CPU or storage) replacement.
24
VM Auto-Migration
• When one svr-board needs to stop for maintenance, Sys-Admin
can mark the server for maintenance through the admin interface.
Then, all VMs on this server can automatically migrate to other
servers without stopping the applications running on the server.
• Applications on the VM may suffer some delay (or packet loss) if
they involve network access, because VM migration involves the
change of MAC address (from one board to another) and the
change of packet routing.
• This migration can also happens for load balancing purpose. The
system software can monitor the load on all servers, and automigrate VMs from heavy loaded servers to light ones.
25
VM Migration within & across Clusters
• Another mode for VM management is “energy saving”. If this
mode is turned on, the system will try to auto-migrate the VMs
to some of the server-boards, and turn off the power of the rest
of idle server-boards for energy saving.
• Since all VMs on the same cluster share the same disk storage
(some clusters, particularly connected by SAN, also share the
same disk), it is easy to migrate VMs between server-boards
and this migration can be done automatically.
• Each VM is represented as a “folder” in the disk storage system
and the files on this VM are all under this “folder”.
• The migration of VMs across clusters may need Sys-Admin to
use the interface to do it manually.
26
Data Center Networks (DCN)
• This is a floor map of CityU’s data center.
It has rows of racks. Each little box of a
row is a rack.
• Data center network is a LAN that interconnect server farms inside a data center
and further connect the data center to the
Internet.
27
CISCO’s Architecture of DCN
• A DCN is in a tree structure, where the top are CRs (core
routers) that connect the data center to the Internet.
• CRs are connected to Layer-2 domains by ARs and ASs.
•
•
•
•
ARs (access router) and ASs
(aggregation switch) are duplicated
for reliability (a pair for each
Layer2 domain).
Switches under each pair of ARs (or
ASs) form a layer-2 domain.
A Layer-2 domain typically has
several thousands of servers.
The bottom of the tree are rows of
ToRs (Top of Rack), each ToR
typically has 20 – 40 servers.
28
Thoughts on Cloud Computing……
• “A way to increase capacity or add capabilities on the fly without
investing in new infrastructure, training new personnel, or licensing new
software.”
• “The idea of loosely coupled services running on an agile, scalable
infrastructure should eventually make every enterprise a node in the
cloud.”
• “We are at the beginning of the age of planetary computing. Billions of
people will be wirelessly interconnected, and the only way to achieve
that kind of massive scale usage is by massive scale, brutally efficient
cloud-based infrastructure.”
• ……
30
Download