Dynamic Provisioning and Multi-Tenancy
Dynamic Provisioning and Multi-Tenancy
Dynamic Provisioning and Multi-Tenancy
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.
Resources
Capacity
Demand
Resources
Capacity
1 2 3
Loss Users
Demand
Resources
1 2 3 Capacity
Time (days)
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
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.
• 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
Source: Buyaa et al. (2010)