- How to differentiate a cloud solution from the one that is a fake?
- What are the different things to keep in mind when adopting a cloud solution for your lines of business?
- Understanding the impact on security of your data under these different architectures.
1. CLOUD VS. NON-CLOUD
• Hosting
• Multi Tenancy (or Single – Instance)
• Single Tenancy (or Multi – Instance)
Aman Mehra amehra2@babson.edu
TWITTER: @yamanmehra
2. PAY
HOSTING
MANAGE
DEPLOY
PRODUCT
LICENSE
APP.
MGMT.
APP.
MGMT.
+
HOSTING
SINGLE
TENANT
SaaS
MULTI
TENANT
SaaS
“CLOUD”
LICENSE LICENSE LICENSE SUBSCRIPTION SUBSCRIPTION
CUSTOMER CUSTOMER <vendor> < vendor > < vendor >
CUSTOMER
< vendor >
< vendor >
< vendor >
< vendor > < vendor > < vendor >
< vendor > < vendor > < vendor >
Single
Tenant
Single
Tenant
Product
enhancement
for remote
mgmt.
Single
Tenant
Product
enhancement
for remote
mgmt.,
deployment
Single
Tenant
Product
enhancement
for remote
mgmt.,
deployment
Multi tenant
Easy
upgrades,
elastic
purchase,
new platform
features
3. HOSTING
In a hosted environment, the software is usually licensed, just as
it would be if it were going to be run on-premise by the company
who licenses it. But someone else is taking care of it.
When the software is then accessed through a web browser, it
becomes difficult for the end user to tell whether it is hosted or
SaaS.
4. MULTI TENANCY
This architectural model allows software providers to serve
multiple customers from a single shared instance of the
application.
Given that multiple customers are running the same instance of
software and all data is housed in a multi-tenant database,
individual tenants have limited or no ability to make
customized modifications to functionality.
5. Multi Tenancy : Pros
- Economies of scale: related to both software procurement
costs and IT administration
(provisioning, maintenance, tuning, trouble-shooting and
systems management).
- Faster life cycle evolutions: By not supporting individual client
applications and multiple software versions, resources can be
more tightly focused.
- Dependability and reliability : By mandating every customer
operate on same database, operating environment and
software version, the hosting manufacturer is able to deliver
greater standardization and ensure a reliable information
system.
6. Multi Tenancy : Types
Separate databases
Computing resources and application code are generally shared between
all the tenants on a server, but each tenant has its own set of data that remains logically
isolated from data that belongs to all other tenants
Source: http://msdn.microsoft.com/en-us/library/aa479086.aspx
7. Shared Database, Separate Schemas
Housing multiple tenants in the same database,
with each tenant having its own set of tables
that are grouped into a schema created
specifically for the tenant.
Source: http://msdn.microsoft.com/en-us/library/aa479086.aspx
8. Shared Database, Shared Schema
Using the same database and the same set of
tables to host multiple tenants' data. A given
table can include records from multiple tenants
stored in any order; a Tenant ID column
associates every record with the appropriate
tenant.
Pros:
Lowest hardware and backup costs, because it allows you to serve the largest number
of tenants per database server.
Cons:
- Additional development effort required for security, to ensure that tenants can
never access other tenants' data, even in the event of unexpected bugs or attacks.
- Procedure for restoring data for a tenant is complex.
Source: http://msdn.microsoft.com/en-us/library/aa479086.aspx
9. SINGLE TENANCY
• A separate instance of a software application and supporting infrastructure is used by each
customer, or tenant. Single-tenant architecture is mainly used by companies who need a
customized approach, either because of their geography (or that of their client-base) or their
need of a higher level of security.
• Each company has a distinct database and system that is either placed on an individual server
or segregated using extensive security controls to create a virtual server network.
• Each tenant purchases their own copy of the software which can be customized to meet their
needs. While the cloud hosting provider’s software acts as the basis for the final application,
users are provided with significant capability to make configurations; for example, users can
adapt features such as additions to individual modules and channels to various internal
databases and external partner databases.
• Virtualization is the concept in which a computing environment (database, operating system,
application) is abstracted into a virtual machine that can be allocated to share the same
physical servers with other virtual machines or even shared across multiple physical servers.
The software application must allow virtualization, but it is not aware of nor does it manage
the multiple customers and runs as a single tenant on its own virtual instance. With this
model each customer – the single tenant – has its own software instance, allowing for
different versions and configurations.
10. Single Tenancy : Pros
• Software versioning Isolated tenant and multiple version
support often appeal to those clients who have incurred
system integration or software customization and want the
opportunity to evaluate the ramifications of a new version
release before being forced to the new version.
• Flexibility Greater access to data with third party query tools,
report writers and integration tools is permitted.
• Customization More flexible and lower cost customization.