It offers online data storage, infrastructure and application.• Cloud Computing is both a combination of software and hardware based computing resources delivered as a network service.7C
Trang 1TRƯỜNG ĐẠI HỌC QUY NHƠN KHOA KỸ THUẬT VÀ CÔNG NGHỆ
- -
BÀI GIẢNG
HỆ THỐNG ĐIỆN TOÁN ĐÁM MÂY
Biên soạn: TS Nguyễn Đỗ Dũng
Bộ môn: Điện tử - Viễn thông
Tài liệu lưu hành nội bộ
Trang 43
Cloud Computing
Introduction:
• Cloud Computing provides us a means by which we can access the
applications as utilities, over the Internet It allows us to create,
configure, and customize applications online
• With Cloud Computing users can access database resources via
the internet from anywhere for as long as they need without
worrying about any maintenance or management of actual
resources
5
Cloud Computing
What is Cloud?
• The term Cloud refers to a Network or Internet In other words,
we can say that Cloud is something, which is present at remote
location
• Cloud can provide services over network, i.e., on public networks
or on private networks, i.e., WAN, LAN or VPN
• Applications such as e-mail, web conferencing, customer
relationship management (CRM), all run in cloud
6
Trang 54
Cloud Computing
What is Cloud Computing?
• Cloud Computing refers to manipulating, configuring, and
accessing the applications online It offers online data storage,
infrastructure and application
• Cloud Computing is both a combination of software and hardware
based computing resources delivered as a network service
7
Cloud Computing
Background:
• Reincarnation of centralized data processing and storage as
paralleled by the mainframe
• A mainframe (also known as Big Iron) is:
8
Trang 65
Cloud Computing
Background:
• A large network of computers
• Used by large organizations to provide services to smaller ones
and individuals
• Used for bulk data processing
• Synonyms: Grid Computing, SaaS, Network Computing, Utility
Trang 87
Cloud Computing
Basic Concepts
There are certain services and models working behind the scene
making the cloud computing feasible and accessible to end users
Following are the working models for cloud computing:
Deployment models define the type of access to the cloud, i.e., how
the cloud is located? Cloud can have any of the four types of access:
Public, Private, Hybrid and Community
14
Trang 98
Cloud Computing
1 Deployment Models:
• PUBLIC CLOUD: The Public Cloud allows systems and services to
be easily accessible to the general public Public cloud may be less
secure because of its openness, e.g., e-mail
• PRIVATE CLOUD: The Private Cloud allows systems and services
to be accessible within an organization It offers increased security
because of its private nature
and services to be accessible by group of organizations
• HYBRID CLOUD: The Hybrid Cloud is mixture of public and
private cloud However, the critical activities are performed using
private cloud while the non-critical activities are performed using
Cloud Computing
1 Deployment Models: Cloud Services Taxonomy
16
Trang 10Service Models are the reference models on which the Cloud
Computing is based These can be categorized into three basic
service models as listed below:
• Software as a Service (SaaS)
• Platform as a Service (PaaS)
• Infrastructure as a Service (IaaS)
18
Trang 1110
Cloud Computing
2 Service Models:
• Software as a Service (SaaS):
- The capability provided to the consumer is to use the provider’s
applications running on a cloud infrastructure and accessible from
various client devices through a thin client interface such as a Web
browser (e.g., web-based email)
- The consumer does not manage or control the underlying cloud
infrastructure, network, servers, operating systems, storage, or even
individual application capabilities, with the possible exception of
limited user-specific application configuration settings
19
Cloud Computing
2 Service Models:
• Software as a Service (SaaS):
- SaaS model allows to use software applications as a service to end
users
- SaaS is a software delivery methodology that provides licensed
multi-tenant access to software and its functions remotely as a
Web-based service
+ Usually billed based on usage
+ Usually multi tenant environment
Trang 1211
Cloud Computing
2 Service Models:
• Platform as a Service (PaaS):
- The capability provided to the consumer is to deploy onto the
cloud infrastructure consumer-created applications using
programming languages and tools supported by the provider (e.g.,
java, python, Net)
- The consumer does not manage or control the underlying cloud
infrastructure, network, servers, operating systems, or storage, but
the consumer has control over the deployed applications and
possibly application hosting environment configurations
21
Cloud Computing
2 Service Models:
• Platform as a Service (PaaS):
- PaaS provides the runtime environment for applications,
development & deployment tools, etc
- PaaS provides all of the facilities required to support the complete
life cycle of building and delivering web applications and services
entirely from the Internet
- Typically applications must be developed with a particular
platform in mind
+ Multi tenant environments
+ Highly scalable multi tier architecture
22
Trang 1312
Cloud Computing
2 Service Models: Cloud Services Taxonomy
• Infrastructure as a Service (IaaS):
- The capability provided to the consumer is to provision
processing, storage, networks, and other fundamental computing
resources where 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 select networking components
(e.g., firewalls, load balancers)
23
Cloud Computing
2 Service Models:
• Infrastructure as a Service (IaaS):
- IaaS is the delivery of technology infrastructure as an on demand
scalable service
- IaaS provides access to fundamental resources such as physical
machines, virtual machines, virtual storage, etc
+ Usually billed based on usage
+ Usually multi tenant virtualized environment
+ Can be coupled with Managed Services for OS and application support
24
Trang 16 Helps to use application without installation.
Access the personal files at any computer with internet
This technology allows much more efficient computation by
centralizing storage memory, processing and bandwidth
• Cloud Computing holds some strong promises
Highly Available
Dynamically allocate resources
Pay only for resources that you use
• Cloud Computing is not yet well understood
30
Trang 17Cloud Computing
Cloud Computing
• Cloud computing is the
delivery of hosting
services that are provided
to a client over the
Internet.
- Enable large-scale services
without up-front investment.
Trang 18Clouds are Elastic
"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) that can be rapidly provisioned and
released with minimal management effort or service provider interaction."
- Turn hardware and networking into software!
- Reduce costs of electricity, bandwidth, hardware, software and use low-cost locations
- Lower-cost than provisioning own hardware
NoSQL datastores, object stores, and distributed
filesystems, have enabled developers to build scalable cloud computing applications.
Trang 19Cloud Computing Essentials
• Cloud computing is Utility Computing
- Cloud services are controlled and monitored by the cloud provider through a pay-per-use business model
• An ideal cloud computing platform is:
- efficient in its use of resources
- scalable
- elastic
- self-managing
- highly available and accessible
- inter-operable and portable
Cloud Properties
• Resource efficiency: computing and network
resources are pooled to provide services to multiple users Resource allocation is dynamically adapted according to user demand
• Elasticity: computing resources can be rapidly and elastically provisioned to scale up, and released to scale down based on consumer’s demand
Trang 20interaction with each service’s provider
• Accessible and highly available: cloud resources are available over the network anytime and
anywhere and are accessed through standard
mechanisms that promote use by different types of platform (e.g., mobile phones, laptops, and PDAs).
Over or Under-Provisioning
Shaded area is unused capability Shaded area represents requests not served
Less and less demand.
Trang 21Dynamic Provisioning
• Overestimate system utilization which results in low utilization
• How do we solve this problem?
- Dynamically provision resources
Trang 22Real world estimates
• Average server utilization is 5% to 20%.
• Peak workload exceeds the average by factors of 2
to 10.
• Users provision for the peak.
• Peak loads may occur based on the time of day or based on other factors (e.g photo sharing after the holidays, drop/add within two weeks of start of
term, etc.)
Public Clouds, Private Clouds
Trang 23- Homogeneous infrastructure, Common policies
- Shared resources and multi-tenancy
- Leased or rented infrastructure
Trang 24Private Clouds
• The cloud infrastructure belongs to and is operated
by only one organization
proprietary technology that enables data and application portability.
Trang 25IaaS, PaaS and SaaS
• Infrastructure as a Service (IaaS)
• Platform as a Service (PaaS)
• Software as a Service (SaaS)
Trang 26Hypervisor’s Trap and Emulate Model
• The hypervisor’s virtualization paradigm is trap and emulate :
- Normal instructions of guest OS
• run directly on processor in user mode
- System Calls
• CPU will trap to interrupt handler vector of Hypervisor
• Hypervisor jump back into guest OS
- Hardware Interrupts
• Hardware makes CPU trap to interrupt handler of Hypervisor
• Hypervisor jumps to corresponding interrupt handler of guest OS
- Privilege Instructions
• Running privilege instructions in guest OS will be trapped to
Hypervisor for instruction emulation
• After emulation, the Hypervisor jumps back to guest OS
Trang 27Trap and Emulate Model (VMM=Hypervisor)
VM Context Switching
• The hypervisor context switches virtual machines:
1 Timer Interrupt in running VM.
2 Context switch to Hypervisor.
3 Hypervisor saves state of running VM.
4 Hypervisor determines next VM to execute.
5 Hypervisor sets timer interrupt.
6 Hypervisor restores state of next VM.
7 Hypervisor sets the program counter to timer interrupt handler of next VM.
8 Next VM active.
Trang 28VM Context Switching
Hypervisor Models
[ https://en.wikipedia.org/wiki/Hypervisor ]
Trang 29KVM (Kernel-based Virtual Machine)
• VMWare and Xen are the best-known virtualization platforms.
• KVM (Kernel-based Virtual Machine) is an
open-source virtualization platform
- Linux host OS
- Run multiple virtual machines (Windows, MAC, etc) on your linux box
- IO is virtualized using a device model in KVM
- KVM requires a modified QEMU (open-source processor
emulator) for its IO virtualization framework.
- Type 1 Hypervisor, as it is a kernel-level module.
Virtualization using KVM in Linux
• KVM is a loadable kernel module
Trang 30Virtual Machines are software – APIs to drive them.
OpenStack Compute REST API Features
Trang 31Platform-as-a-Service (PaaS)
IaaS is not Enough
• IaaS provides virtual machines, but it cannot provide elastic computing by itself, where services scale up and down to meet user demand.
- Dynamic provisioning
• Existing IaaS’ do not provide support for the sharing middleware platforms among different VMs
- Multi-tenancy
Trang 32• Multi-tenancy is where a single instance of the
software runs on a server, serving multiple clients.
- Think multiple users in a MySQL database
- Java 9 should support multi-tenancy (many java programs running in the same JVM)
• The software should be able to provide a single
service to all customers by setting configurations
- More efficient use of server resources
AMIs IaaS - what you get
Trang 33You might prefer this
A Platform-as-a-Service
HDFSYARN
Configured stack of servers, dependencies, and firewalls and your app installed
Spark
Running on lots of machines…
Data Center
Trang 34Platform-as-a-Service (PaaS)
• Platform as a Service (PaaS) is a computing
platform that abstracts the infrastructure, OS, and middleware to drive developer productivity.
• PaaS leverages dynamic provisioning
• PaaS leverages multi-tenancy
Closed PaaS
• A closed PaaS provides a fixed set of services you can use You cannot install your own services.
• They are typically hosted at some IaaS provider.
Python, SQL-DB, KV-Store
SQL-DB, KV-Store AppEngine (Google) Python, JVM-langs, GoLang AWS Beanstalk, RightScale,
EngineYard, CloudBees, … ….……
Trang 35Open PaaS
• An open PaaS provides support for you to develop your own automated service deployments.
Kubernetes
Automated Installation: Chef/Puppet/Salt/Ansible
Master
Recipes
Trang 36• Cluster definition in YAML
• Virtualization using JClouds
- Support for AWS/EC2, Google Cloud Platform, OpenStack
• Karamelfile to Orchestrate Chef Recipes
• Chef-solo to execute recipes
• Standalone thick-client application
- Ability to store user credentials
- Ability to use discover the user’s own ssh keys
Chef Cookbooks cloned from GitHub Chef-Solo installs software – no agents.
Karamel installs Chef Recipes.
Trang 37Case Study: Installing Hadoop
Cloudera Manager Cloud Express Wizard*
Go to “EC2” in AWS web console and select “Instances”
Use the default “N Virginia (us-east-1)” region
Click on “Launch Instance”
On the next page, pick the “Ubuntu Server 12.04 LTS” 64-bit image.
select “Create a new Key Pair.”
click “Create and Download your key pair.”
save this file or you won’t be able to SSH into the instance we’re
Trang 38Karamel Cluster Definition
Trang 39Other Cluster-Definition Driven PaaSes
• Amazon Web Services OpsWorks
- JSON cluster definition
- Virtualization using EC2
- Custom Orchestration
- Chef-solo as provisioner
• Google Kubernetes
- JSON cluster definition
- “Virtualization” using Docker Containers
• Extended Linux Containers
- Orchestration support for Docker Containers
- No built in support for orchestration
Software-as-a-Service (SaaS)
Trang 40Software as a Service
• Software as a Service - SaaS
- Run applications on a provider’s on a cloud infrastructure
- Applications are accessible from various client devices through a thin client interface such as a web browser.
- User is oblivious to the underlying cloud infrastructure
Trang 41Obstacles To Cloud Computing
• Data Lock-in
• Data Confidentiality/Auditability
• Data transfer bottlenecks/costs
• Performance unpredictability for systems apps
• Legislative Compliance Concerns in Europe
Summary of Cloud Computing Architecture
Trang 42• New programming models enable easier
development of large-scale applications.
• Hadoop is the open-source enabling technology for Big Data
- Hadoop is rapidly becoming the operating system for the Data Center
Trang 432
Big Data Technology
Big data introduction
What is big data?
Big data characteristics
Why Data is Important
3
Big Data Technology
Big data introduction
• Now We are living in Big Data Era
usingall structured Data only
• Relational Data Bases (RDBMS) and old Tools to store, manage,
process and reportthis Data
Organizations or Applications are generating huge amount of Data
in variety of formats at very fast rate
4