7. Gartner Multi-Tenancy Model
{ Diagram from copyrighted Gartner materials }
Source: Y. Natis, Gartner Reference Model for Elasticity and Multitenancy, June 2012
8. My Multitenancy Model
Name Example
Colocation Equinix
Virtualization Rackspace Cloud
Timesharing GoDaddy
Container Heroku
Tables Force.com
11. Overall Comparison
Server PaaS Resource PaaS
Examples EngineYard Heroku
Multi-tenancy Shared-hardware Shared-container
Scaling granularity Virtual machine Resource unit
Configurability High to moderate Moderate to low
Portability In: high Out: moderate In: low Out: moderate
Isolation Hypervisor Operating System
Filesystem Persistent or ephemeral Ephemeral or none
Pricing per virtual machine per resource unit
12. Heroku Architecture
Dyno: Linux process
Scaling: Parallel dynos
Diagram at: Isolation: Linux permissions
http://www.royans.net/arch/wp-
content/uploads/2010/01/image1.png
Startup: ~2 seconds
RAM Limit: 512 MB
Response Timeout: 55 sec
13. Cloud Foundry Architecture
Droplet: Linux user
Scaling: Parallel droplets
Diagram at: Isolation: Linux Permissions
http://cloudstory.in/wp-
content/uploads/2012/01/cloudfo Startup: variable
undry-architecture.png
RAM Limit: as set
Response Timeout: 30 sec
15. Scalability
Server PaaS Resource PaaS
Scaling speed Moderate Fast
Resource increment Moderate Small
Cost increment Moderate Small
Scale limits Restrictive Moderate
Scaling algorithms Application specific General purpose
Winner
16. Configurability
Server PaaS Resource PaaS
RAM limit As available on server Hard limit
Response time limit Not explicitly limited Hard limit
Technology stack Supported options or Supported options
custom
Stack add-ons Any Supported options
Stack configuration Flexible Very limited
Location Potentially flexible Fixed
Winner
17. Other issues to consider when selecting a
PaaS that have nothing to do with whether it is
a Server PaaS or a Resource PaaS
• Language Support
– Polyglot or single-language
• External tool support
– Databases
– IDE integration
• Application services support
– Add-on marketplace
• Hybrid scaling support
19. Generic PaaS Architecture
End Users Developer
Routing Service Controller
Resource Resource Resource Resource
Unit Unit Unit Unit
Resource Resource
Unit Unit
Compute Pool
20. Compute Unit Architectures
Server PaaS Resource PaaS
Virtual Machine Process
Virtual Machine Process
Virtual Machine Process
Physical Machine Virtual or Physical Machine
Timesharing!
21. Compute Unit Architecture
Application Server on Resource or Server PaaS
Thread
Thread
Example:
OpenShift Thread
+ JBoss
Application Server Process
Virtual Machine
Physical Machine
22. Synthesis
Server PaaS Resource PaaS
• “Inventory” of VMs • Larger selection of
running common technology stack
base configurations options and access to
and resources configuration
• Emphasize parameters
standardized • VM affinity in resource
configurations for units
easier deployment • Addition of
and management application server
• Addition of functionality
application server (database
functionality connection pooling,
transactions,
message queues)