Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Dynamic Provisioning and Multi-Tenancy

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

Cloud Computing

Saswati Mukherjee
What is Cloud Computing?
• Cloud computing is a paradigm of computing, a new way of thinking about
IT industry but not any specific technology.
• Central idea
• Utility Computing
• Properties and characteristics
• High scalability and elasticity
• High availability and reliability
• High manageability and interoperability
• High accessibility and portability
• High performance and optimization
• Foundation technology - on these new technology is developed
• Enabling technology -- it is developed using some features that belong
to some other technology
• Dependent technology -- it employs technologies to provide the
environment for its users.
Properties and Characteristics
Scalability and Elasticity

• What is scalability ?
• A desirable property of a system, a network, or a process, which indicates its ability
to either handle growing amounts of work in a graceful manner or to be readily
enlarged.

• 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.

• But how to achieve these properties ?


• Dynamic provisioning
• Multi-tenant design
Dynamic Provisioning

• What is dynamic provisioning ?


• Dynamic Provisioning is a simplified way to explain a complex networked
server computing environment where server computing instances are
provisioned or deployed from a administrative console or client application by
the server administrator, network administrator, or any other enabled user.
• In traditional computing model, two common problems :
Dynamic Provisioning
Underestimate system utilization which result in under
provision
Loss Revenue

Resources
Capacity

Demand
Resources

Capacity
1 2 3

Loss Users
Demand

Resources
1 2 3 Capacity
Time (days)

Demand
1 2 3
Dynamic Provisioning

• Overestimate system utilization which result in low utilization

Capacity
Resources

Unused resources

Demand
Time

• How to solve this problem ??


• Dynamically provision resources
Dynamic Provisioning
• Cloud resources should be provisioned dynamically
• Meet seasonal demand variations
• Meet demand variations between different industries
• Meet burst demand for some extraordinary events
Resources

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.

• Client oriented requirements :


• Customization
• Multi-tenant applications are typically required to provide a high degree of
customization to support each target organization's needs.
• Quality of service
• Multi-tenant applications are expected to provide adequate levels of security and
robustness.
Availability & Reliability
• What is availability ?
• The degree to which a system, subsystem, or equipment is in a specified
operable and committable state at the start of a mission, when the
mission is called for at an unknown time.
• Cloud system usually require high availability
• Ex. “Five Nines” system would statistically provide 99.999% availability
• What is reliability ?
• The ability of a system or component to perform its required functions
under stated conditions for a specified period of time.
• But how to achieve these properties ?
• Fault tolerance system
• Require system resilience
• Reliable system security
Manageability & Interoperability

• 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
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.

• But how to achieve this property ?


• Parallel computing
• Load balancing
• Job scheduling
Cloud Users
• Perspective from user :
• Users do not care about how the works are done
• Instead, they only concern about what they can get
• Users do not care about what the provider actually did
• Instead, they only concern about their quality of service
• Users do not want to own the physical infrastructure
• Instead, they only want to pay as many as they used

• What dose user really care ?


• They only care about their “Service”
What Is Service?

• Service is what you connect together using Web Services.


• Service is the endpoint of a connection.
• Functionalities of service :
• A service should be well-defined
• A service should be self-contained
• A service should not depend on the context or state of other services.
What Is Web Service?

• Definition :
• Web service is 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
Service Oriented Architecture
• Definition
• Service Oriented Architecture (SOA) is essentially a
collection of services which communicate with each other
• Contain a flexible set of design principles used during the
phases of systems development and integration
• Provide a loosely-integrated suite of services that can be
used within multiple business domains
• Approach
• Usually implemented by Web Service model
Ownership in Cloud Models
Used/Managed Resources managed at each layer

V
Business and other Application Software I
Software as a R
Service (SaaS) Application T
U
Platform as a Software Framework (Java, Python), Storage (DB/ A
Service (PaaS) File) Platform L
I
Infrastructure as a
Computation (VM), Storage (blocks) Z
A
Service (IaaS) Infrastructure T
I
Cloud Service CPU, Memory, Disk, Networking O
Provider (CSP) Hardware N
Comparison
Category Characteristics Product Type Vendors/Products

SaaS Customers are provided Web applications and SalesForce.com (CRM)


with applications that are services (Web 2.0) Clarizon.com (project
accessible anytime and management) Google
from anywhere. Apps 

PaaS Customers are provided Programming APIs and Google AppEngine


with a platform for frameworks Microsoft Azure
developing applications Deployment systems Manjrasoft Aneka Data
hosted in the cloud. Synapse
 
IaaS/HaaS Customers are provided Virtual machine Amazon EC2 and S3
with virtualized hardware management GoGridNirvanix
and storage on top of infrastructureStorage
which they can build their management Network  
infrastructure. management

 
Source: Buyaa et al. (2010)

You might also like