Lecture 2 Introduction To Cloud Computing
Lecture 2 Introduction To Cloud Computing
Cloud Computing
• Technological evaluations
QoS has to do with the efficient operation of various systems
This can lead to adjusting procedures or adapting software
programs and code to achieve the desired effect while making a
more efficient use of available resources
Utility
Computing
SOA + SLA
Service Level Agreement
• Definition
A service-level agreement (SLA) is a contract between a network
service provider and a customer that specifies, usually in
measurable terms (QoS), what services the network service
provider will furnish
• What is elasticity ?
The ability to apply a quantifiable methodology that allows for the
basis of an adaptive introspection with in a real time
infrastructure.
Loss Revenue
Resources
Capacity
Resources
Demand
Capacity
1 2 3
Demand
1 2 3
Dynamic Provisioning
Capacity
Resources
Unused resources
Demand
Time
Capacity
Resources
Capacity
Demand Demand
Time Time
Multi-tenant Design
• What is multi-tenant design ?
Multi-tenant refers to a principle in software architecture where a
single instance of the software runs on a server, serving multiple
client organizations.
With a multi-tenant architecture, a software application is designed
to virtually partition its data and configuration thus each client
organization works with a customized virtual application instance.
• What is manageability ?
Enterprise-wide administration of cloud computing systems.
Systems manageability is strongly influenced by network
management initiatives in telecommunications.
• What is interoperability ?
Interoperability is a property of a product or system, whose
interfaces are completely understood, to work with other products
or systems, present or future, without any restricted access or
implementation.
• But how to achieve these properties ?
System control automation
System state monitoring
Control Automation
• What is Autonomic Computing ?
Its ultimate aim is to develop computer systems capable of self-
management, to overcome the rapidly growing complexity of
computing systems management, and to reduce the barrier that
complexity poses to further growth.
• Architectural framework :
Composed by Autonomic Components (AC) which will interact
with each other.
An AC can be modeled in terms of two main control loops (local
and global) with sensors (for self-monitoring), effectors (for self-
adjustment), knowledge and planer/adapter for exploiting
policies based on self- and environment awareness.
Control Automation
• Anything more ?
Billing system
Billing System
High Performance
Improvement
Performance & Optimization
• Performance guarantees ??
As the great computing power in cloud, application performance
should be guaranteed.
Cloud providers make use of powerful infrastructure or other
underlining resources to build up a highly performed and highly
optimized environment, and then deliver the complete services to
cloud users.
Unbalanced
Job Scheduling
• What is job scheduler ?
A job scheduler is a software application that is in charge of
unattended background executions, commonly known for
historical reasons as batch processing.
• How to approach ?
Use pre-defined workflow
System automatic configuration
Accessibility & Portability
Anyone !
Anytime !
Anywhere !
Accessibility & Portability
• What is accessibility ?
Accessibility is a general term used to describe the degree to which
a product, device, service, or environment is accessible by as many
people as possible.
• Some drawbacks :
The survey, analysis and estimation may not 100% correct
Infrastructure deployment is time consuming
Enterprises should take the risk of wrong investment
Reduce Initial Investment
• Initiate business with Cloud Computing services :
Survey and analysis the industry and market
Chose one cloud provider for enterprise deployment
Design and develop business service upon cloud environment
Announce the business service to clients
• Some benefits :
Enterprise do not need to own the infrastructure
Enterprise can develop and deploy business service in short time
Enterprise can reduce the business loss of wrong investment
Reduce Initial Investment
• What dose cloud computing achieve ?
Traditional With Cloud Computing
Investment Risk Enterprise takes the risk Cloud reduces the risk
Enterprise owns the Cloud provider owns the
Infrastructure
infrastructure infrastructure
Time duration Long deployment time Fast to business ready
Reduce Capital Expenditure
• Traditional capital expenditure of enterprises :
Each enterprise should establish its own IT department
IT department should handle the listing jobs
• Manage and administrate hardware and software
• Apply regular data backup and check point process
• Purchase new infrastructure and eliminate outdated one
• Always standby for any unexpected IT problems
• Some drawbacks :
Enterprise pays for IT investment which is not its business focus
Enterprise should take the risk of hardware/software malfunction
Replacing and updating infrastructure is time consuming and risky
Reduce Capital Expenditure
• Capital expenditure with Cloud Computing service :
Enterprise can almost dismiss its IT department
The jobs of IT department can be achieved by cloud provider
• Dynamically update and upgrade hardware or software
• Dynamically provision and deploy infrastructure for enterprise
• Automatically backup data and check consistency
• Self-recover from disaster or system malfunction
• Some benefits :
Enterprise can shift effort to its business focus
Enterprise can reconfigure its IT services in short time
Enterprise pays to cloud provider as many as the service used
Reduce Capital Expenditure
• What dose cloud computing achieve ?
Traditional With Cloud Computing
• Some drawbacks :
IT department is not the business focus of enterprise
Most of enterprises do not well maintain their IT resources
Enterprise seldom optimizes their IT resource usage
Improve Industrial Specialization
• Collaboration with Cloud providers :
Cloud providers centrally maintain IT infrastructure for clients
Cloud providers employ experts for management and administration
Cloud providers focus on providing reliable IT services
Enterprises only rent the service they need and care
• Some benefits :
Industrial specialization will be improved
IT service performance will be optimized
Enterprise business focus will be enhanced
IT resource waste will be reduced
Improve Industrial Specialization
• What dose cloud computing achieve ?
Traditional With Cloud Computing
• Some drawbacks :
Power and space utilization among enterprises are wasted
IT resources across enterprises cannot be shared
Improve Resource Utilization
• Collaboration with Cloud providers :
IT resources are centrically managed and optimized
• Cloud provider builds performance optimized hardware
• Cloud provider builds consolidated cooling system
• Cloud provider will consider the geographic issues
• Cloud provider will consider legal policy issues
• Some benefits :
IT infrastructure can be shared among enterprises
IT infrastructure performance and utilization can be optimized
Large-scale integrated optimization can be applied
Improve Resource Utilization
• What dose cloud computing achieve ?
Traditional With Cloud Computing
IT Resource IT resource under Share to improve
Utilization utilized most of time utilization of IT resource
Power Waste power and Cloud system should be
Consumption cooling system global optimized
For End User and Individual
Reduce Local Computing Power
• Traditional local computing power requirement :
One need to buy your own personal computer
Buy powerful processor if you need intensive computing
Buy large memory to meet application requirement
Install plenty of applications in need
• Some drawbacks :
One can hardly replicate the same system environment
One needs to regularly update or upgrade software and hardware
One needs to reinstall all applications if you reinstall the OS
Reduce Local Computing Power
• Using Cloud Computing services :
One can utilize the remote computing power in the cloud
One needs only basic computing power to connect to internet
Application in the cloud will automatically upgrade
• Some benefits :
One can access his/her applications anywhere through the Internet
One can dynamically request for computing power on demand
Application may need not to be reinstalled even reinstall the OS
Reduce Local Computing Power
• What dose cloud computing achieve ?
Traditional With Cloud Computing
Hardware User needs to buy Only basic hardware to
Requirement powerful hardware connect to internet
Software Install application in No local installation
Requirement local computer requirement
Portability Hard to be portable Natively portable
Reduce Local Storage Power
• Traditional local storage power requirement :
User programs and data files are stored in local devices
User has to backup data regularly preventing hardware damage
• Some drawbacks :
Storage space may not enough for burst data requirement
Storage space may be over needed which result in resource waste
Data consistency is hard to maintain between computers
Need to sacrifice part of storage space for data backup
Reduce Local Storage Power
• Using Cloud Computing services :
User programs and data files are stored in the cloud
Cloud service provider will guarantee the data availability
• Some benefits :
One can dynamically allocate storage space on demand
One can access data anywhere through the Internet
No need to care about data consistency between computers
No need to care about data loss due to hardware damage
Reduce Local Storage Power
• What dose cloud computing achieve ?
Traditional With Cloud Computing
• Some drawbacks :
Computing power is not portable
Small devices can only perform simplified works
Variety of End Devices
• Devices collaborate with Cloud services :
Device connects to the Internet through wireless network
Device accesses cloud services through web service interface
Device sends computing incentive jobs into cloud and wait for results
• Some benefits :
User can easily access cloud service through small devices
User can access almost unlimited computing power anywhere
Small devices can be intelligently managed through cloud
Variety of End Devices
• What dose cloud computing achieve ?
Traditional With Cloud Computing
Computing Only accessed through Accessed through small
Power desktop computer smart devices
Functionalities was Shift computing incentive
Small Device
Intelligence limited due to their jobs into cloud, and then
power consumption wait for results
Agenda
• What is Cloud Computing ?
Different perspectives
Properties and characteristics
Benefits from cloud computing
SERVICE MODELS
A Simple Analogy
SERVICE MODELS
Infrastructure as a Service
• 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 limited control of select
networking components .
• Examples :
Amazon EC2
Eucalyputs
OpenNebula
… etc
Infrastructure as a Service
• System architecture :
Infrastructure as a Service
• Enabling technique - Virtualization
Virtualization is an abstraction of logical resources away from
underlying physical resources.
• Virtualization technique shift OS onto hypervisor.
• Multiple OS share the physical hardware and provide different services.
• Improve utilization, availability, security and convenience.
SERVICE MODELS
Platform as a Service
• Platform as a Service - PaaS
The capability provided to the consumer is to deploy onto the
cloud infrastructure consumer-created or acquired applications
created using programming languages and tools supported by the
provider.
The consumer does not manage or control the underlying cloud
infrastructure including network, servers, operating systems, or
storage, but has control over the deployed applications and
possibly application hosting environment configurations.
• Examples :
Microsoft Windows Azure
Google App Engine
Hadoop
… etc
Platform as a Service
• System architecture :
Platform as a Service
• Enabling technique – Runtime Environment Design
Runtime environment refers to collection of software services
available. Usually implemented by a collection of program libraries.
• Common properties in Runtime Environment :
Manageability and Interoperability
Performance and Optimization
Availability and Reliability
Scalability and Elasticity
Platform as a Service
• Provide service – Programming IDE
Users make use of programming IDE to develop their service
among PaaS.
• This IDE should integrate the full functionalities which supported from the
underling runtime environment.
• This IDE should also provide some development tools, such as profiler,
debugger and testing environment.
The programming APIs supported from runtime environment may
be various between different cloud providers, but there are still
some common operating functions.
• Computation, storage and communication resource operation
Platform as a Service
• Provide service – System Control Interface
Police-Based Control
• Typically described as a principle or rule to guide decisions and achieve
rational outcome(s)
• Make the decision according to some requirements
Workflow Control
• Describe the flow of installation and configuration of resources
• Workflow processing daemon delivers speedy and efficient construction
and management of cloud resources
PaaS - Summary
• PaaS is the development platform that abstract the infrastructure,
OS, and middleware to drive developer productivity.
SERVICE MODELS
Software as a Service
• Software as a Service - SaaS
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 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 including network, servers, operating systems,
storage, or even individual application capabilities, with the
possible exception of limited user-specific application
configuration settings.
• Examples :
Google Apps (e.g., Gmail, Google Docs, Google sites, …etc)
SalesForce.com
EyeOS
… etc
Software as a Service
Software as a Service
• Enabling Technique – Web Service
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
• Leveraging interconnectivity and mobility of devices
• Enhanced effectiveness with greater human participation
• Properties provided by Internet :
Accessibility and Portability
Software as a Service
• Provide service – Web-based Applications
Conventional applications should translate their access interface
onto web-based platform.
Applications in different domains
• General Applications – Applications which are designed for general
propose, such as office suit, multimedia and instant message, …etc.
• Business Applications – Application which are designed for business
propose, such as ERP, CRM and market trading system, …etc.
• Scientific Applications – Application which are designed for scientific
propose, such as aerospace simulation and biochemistry simulation, …etc.
• Government Applications – Applications which are designed for
government propose, such as national medical system and public
transportation system service, …etc.
Software as a Service
• Provide service – Web Portal
Apart from the standard search engine feature, web portals offer
other services such as e-mail, news, stock prices, information,
databases and entertainment.
Portals provide a way for enterprises to provide a consistent look
and feel with access control and procedures for multiple
applications and databases, which otherwise would have been
different entities altogether.
Some examples :
• iGoogle
• MSNBC
• Netvibes
• Yahoo!
SaaS - Summary
• SaaS is the finished applications that you rent and customize.
DEPLOYMENT MODELS
Deployment Model
• There are four primary cloud deployment models :
Public Cloud
Private Cloud
Community Cloud
Hybrid Cloud