PaaS TCO and PaaS ROI: Multi-tenant, shared container PaaS

When investing in technology infrastructure, organizations commonly desire a positive return on investment (ROI) within six to twelve months and a lower PaaS TCO over the investment lifespan.  Does deployment topology sizing, tenant count, tenant density, and service mix significantly impact expense and influence ROI timeframe?

 

UPDATE
View Stratos Platform |  Download  PaaS TCO Worksheet |  View PaaS TCO Presentation
|  Download PaaS TCO White Paper


 

WSO2 clients are considering running middleware as a service instead of deploying traditional middleware silos.  For example, running ESB-as-a-Service across multiple tenants.  The clients are interested in potential cost savings and vendor alternatives.  As mentioned in the Searching for Cloud Architecture and PaaS Evaluation Framework blog posts, most PaaS environments, while delivering an application platform as a service, require a dedicated resource pool per tenant application.  For example, a tenant application hosted on Jelastic PaaS will be bound to a set number of Tomcat servers.  Server container level tenancy (e.g. Jelastic, Amazon Beanstalk, RedHat OpenShift, CloudBees) contrasts with shared container tenancy.  In shared container tenancy, tenant applications share a common pool of Java server containers.  The Java server container is dynamically shared across multiple tenant applications.  In single tenant, dedicated container PaaS, significantly more PaaS TCO expense is required to run a PaaS environment compared with a multi-tenant, shared application container PaaS.

The proposed PaaS cost evaluation tool compares multi-tenant, shared application container PaaS TCO with single tenant, dedicated container PaaS TCO (i.e. traditional application server deployment in Cloud) across multiple tenant counts and application platform service combinations.

The worksheet incorporates application platform license (or subscription) cost, PaaS Management service cost, infrastructure expense, and IT management overhead.  Across all scenarios, the worksheet calculates cost when application platforms are deployed on Infrastructure as a Service (IaaS).

Since both a shared application container PaaS and single tenant PaaS can scale up/down on-demand, the worksheet excludes savings derived from on-demand provisioning and teardown.  Instead, the worksheet calculates expense based on the maximum number of JVM instances required for steady-state workloads.

The worksheet does not depict intangible savings derived from faster time to market.   Since the scenarios assume traditional web application architecture, container-level isolation via OSGI, and application clustering (instead of stateless message passing), application migration cost and development cost will be equal and are excluded from the calculation.

Cost Calculation Methodology

The worksheet reflects the following cost components:

  • Application Platform Subscription (or license fee)
  • PaaS Management Services (i.e. controllers, load balancer, metering, billing, and monitoring)
  • Infrastructure as a Service (compute only)
  • IT Administrative and Management

The Application Platform subscription component calculates the license, vendor maintenance, or subscription expense required to license access to application platform components.  The private Cloud scenarios listed in the worksheet utilize a straight yearly subscription fee per JVM instance.

PaaS Management Services load balance tenants across application platform nodes, monitor PaaS node health, collect metering information, and provision tenant environments.  As many Private PaaS deployments replicate traditional application platform topology within the run-time environment, the worksheet removes PaaS Management Service cost from the traditional deployment template scenarios.  If your single tenant, dedicated deployment requires run-time management services (e.g. Cloud Foundry), adjust the worksheet accordingly.  The worksheet may understate the cost required to deploy Cloud Foundry and other single dedicated PaaS delivering on-demand, tenant-aware elastic load balancing.

Across all scenarios, the worksheet calculates cost when application platforms are deployed on Infrastructure as a Service (IaaS).  The worksheet IaaS compute benchmark cost from Amazon AWS EC2 calculator (as of 11 May 2012).  The projected spend is $659 per month for a High-Memory Double Extra Large Instance.

The IT Administrative and Management yearly cost item incorporates administration effort required to generate monthly chargeback/showback statements, configure tenants, monitor run-time environment per tenant, and up-front training investment.

Column B reflects the multi-tenant, shared container scenario.  Column C reflects a single tenant deployment, which is used as input to traditional deployment scenarios (Column D-G).  The traditional deployment scenarios replicate single, dedicated tenant silos in a PaaS environment. A dedicated tenant silo shares IaaS across JVMs, and dedicates running JVM instances to specific tenants.

Calculation Variables

The following variables may be changed to evaluate cost within your specific context:

  • Number of tenants
  • Tenant density per JVM [applied per Application Platform Service]
  • License instances (i.e. Java Virtual Machine instances or servers) per Application Platform Service and PaaS Management Service
  • Java Virtual Machine (JVM) density per IaaS Node
  • Cost per IaaS Node

IaaS compute instance size (e.g. small, medium, large) and application platform footprint (i.e. 256MB, 2GB, 4GB) will influence JVM density per IaaS node.  The worksheet assumes a 32GB IaaS compute instance node with 4GB allocated to each Java Virtual Machine.  The worksheet projects an expected JVM density of 8 JVMs per IaaS node.  The worksheet user may adjust the number of JVMs per IaaS node.

Tenant isolation, partitioning strategies, and service performance will influence tenant density per JVM.  The worksheet’s projected Application Platform Service JVM count considers redundancy, failover, expected load, throughput, and service performance.  The JVM count will typically vary based on hosted Application Platform Service type, throughput, and expected load.  For example, an Identity Management service can often accommodate a greater number of tenants compared with an Enterprise Service bus service.  The tenant density per JVM will vary based on vendor product and workload profile.  In the single tenant scenarios, a single tenant is mapped per dedicated JVM or JVM cluster.  In the multi-tenant shared container scenario, a JVM instance uses OSGI partitioning, tenant specific resource context, and on-demand tenant artifact loading to share JVM resources while maintaining Quality of Service, performance, and security.  In a multi-tenant shared JVM scenario, the worksheet specifies a maximum of seven (7) tenants per JVM in high load situations (e.g. ESB, Application Server, Business Process Management).

Tenant density significantly impacts the number of IaaS nodes and licensed application platform servers.  In the default worksheet configuration, a single tenant per JVM yields a single tenant density of eight (8) tenants per IaaS node.  In a multi-tenant shared JVM scenario, the worksheet specifies a maximum of seven (7) tenants per JVM and 42 tenants per IaaS node.

The worksheet uses a straight subscription support fee per JVM instance and IaaS compute benchmark cost from Amazon AWS EC2 calculator (as of 11 May 2012).  Worksheet users should adjust this number to reflect vendor specific license expense, maintenance expense, subscription investment amounts, and internal cost to deliver IaaS compute nodes.  As storage, network I/O, and external IP addresses will remain constant across all scenarios, the worksheet excludes these costs.

Modifying Cost Scenarios

To modify the cost scenarios and accurately model your expected cost savings from multi-tenant, shared container PaaS, you should collect the following load information:

  • A specified number of tenant projects in Year 1,2,3
  • Known tenant load (e.g. web requests, transactions, memory, CPU, latency)
  • Known mapping between tenant load and service capacity

The information can be used to derive the following variable values:

  • Expected number of tenants
  • Number of Application Platform Service JVMs
  • JVM density per IaaS node

Modify the worksheet to reflect your specific environment context. Cost variables are shown in a blue font.

Bottom Line

In large-scale, multiple application service deployments (i.e. 100 tenants and 5 services), multi-tenant shared container PaaS is 14 times (14X, 1400%) more efficient than single container deployment when measuring number of JVM instances.  Positive financial TCO is achieved after sixteen (16) tenants subscribe to the environment.  After all 100 tenants have subscribed, the multi-tenant shared container PaaS is 659% more cost efficient than single container deployments. Table 1 illustrates the details.

In large-scale, single application service deployments (i.e. 100 tenants and 1 services), multi-tenant shared container PaaS is 13 times (13X, 1300%) more efficient than single container deployment when measuring number of JVM instances.  Positive financial TCO is achieved after twenty-two (22) tenants subscribe to the environment.  After all 100 tenants have subscribed, the multi-tenant shared container PaaS is 475% more cost efficient than single container deployments.  Table 2 illustrates the details.

In small-scale, multiple application service deployments (i.e. 8 tenants and 2 services), multi-tenant shared container PaaS is three times (3x, 300%) more efficient than single container deployment when measuring number of JVM instances.  Positive financial TCO is achieved after four (4) tenants subscribe to the environment.  After all eight (8) tenants have subscribed, the multi-tenant shared container PaaS is 214% more cost efficient than single container deployments.  Table 3 illustrates the details.

In small-scale, single application service deployments (i.e. 8 tenants and 1 service), multi-tenant shared container PaaS is two times (2.2x, 220%) more efficient than single container deployment when measuring number of JVM instances. Positive financial TCO is achieved after five (5) tenants subscribe to the environment.  After all eight (8) tenants have subscribed, the multi-tenant shared container PaaS is 166% more cost efficient than single container deployments.  Table 4 illustrates the details.

 

Table 1: High scale, multiple application service deployment

On-Premise PaaS vs. On-Premise Hosting

Shared Container PaaS Scenario

Traditional Deployment Template

Traditional – Scenario 1

Traditional – Scenario 2

Traditional – Scenario 3

Traditional – Scenario 4

Tenants and Partitioning

Tenant Isolation Level

Shared PaaS Nodes

Dedicated Instances

Dedicated Instances

Dedicated Instances

Dedicated Instances

Dedicated Instances

Tenants

100

1

15

16

50

100

PaaS Management Services [# of JVMs]

11

0

0

0

0

0

PaaS Controller and Registry

3

0

0

0

0

0

Load Balancer for management traffic

3

0

0

0

0

0

Cloud Manager (provisioning, metering, billing)

1

0

0

0

0

0

Business Activity Monitor and summarizer

4

0

0

0

0

0

Application Platform Services [# of JVMs]

Application Server

14

2

30

32

100

200

Gadget Server

0

0

0

0

0

0

Mashup Server

0

0

0

0

0

0

Enterprise Service Bus

14

2

30

32

100

200

Governance Registry

2

1

15

16

50

100

Identity Server

2

1

15

16

50

100

Business Process Management

0

0

0

0

0

0

Business Rules

0

0

0

0

0

0

Complex Event Processing Server

0

0

0

0

0

0

Data Services Server

4

1

15

16

50

100

Message Broker

0

0

0

0

0

0

Cassandra Storage Service

0

0

0

0

0

0

Relational Storage Service

0

0

0

0

0

0

File Storage Service

0

0

0

0

0

0

API Management

0

0

0

0

0

0

Business Activity Monitoring

0

0

0

0

0

0

Load Balancer for Application Platform Service Clusters

3

0

0

0

0

0

Platform Footprint and Cost

Number of JVM Instances

50

7

105

112

350

700

Cost Per JVM Instance

$8,000

$8,000

$8,000

$8,000

$8,000

$8,000

Total Platform Subscription Cost

$400,000

$56,000

$840,000

$896,000

$2,800,000

$5,600,000

Platform Subscription Cost Comparison (App Platform)

$0

($344,000)

$440,000

$496,000

$2,400,000

$5,544,000

Infrastructure as a Service

JVM Density per IaaS node (32GB IaaS, 4GB JVM)

8

8

8

8

8

8

Calculated number of IaaS nodes

7

1

14

14

44

88

Cost per IaaS Year

$7,908

$7,908

$7,908

$7,908

$7,908

$7,908

Total IaaS Cost

$55,356

$7,908

$110,712

$110,712

$347,952

$695,904

Platform Subscription Cost Comparison (IaaS)

$0

($47,448)

$55,356

$55,356

$292,596

$640,548

IT Administrative and Management Cost

Chargeback/showback billing

12000

60

900

960

3000

6000

Tenant configuration

610

60

870

900

2820

5640

Tenant monitoring and systems administration

2600

364

5460

5824

18200

36400

Cost per IT man hour

$60

$60

$60

$60

$60

$60

WSO2 Stratos Platform Training Cost

$25,000

$0

$0

$0

$0

$0

Total IT Administrative and Management Cost

$937,600

$29,040

$433,800

$461,040

$1,441,200

$2,882,400

Platform Subscription Cost Comparison (IT Admin & Mgt)

$0

($908,560)

($503,800)

($476,560)

$503,600

$1,944,800

Total Cost of Ownership

Total Cost

$1,392,956

$92,948

$1,384,512

$1,467,752

$4,589,152

$9,178,304

Total Savings / (Extra Expense)

$0

($1,300,008)

($8,444)

$74,796

$3,196,196

$7,785,348

JVM Instance Efficiency

0.1

2.1

2.2

7.0

14.0

Cost Efficiency

7%

99%

105%

329%

659%

 

 

Table 2: High scale, single application service deployment

On-Premise PaaS vs. On-Premise Hosting

Shared Container PaaS Scenario

Traditional Deployment Template

Traditional  Deployment

Traditional  Deployment

Traditional  Deployment

Traditional  Deployment

Tenants and Partitioning

Tenant Isolation Level

Shared PaaS Nodes

Dedicated Instances

Dedicated Instances

Dedicated Instances

Dedicated Instances

Dedicated Instances

Tenants

100

1

10

22

50

100

PaaS Management Services [# of JVMs]

10

0

0

0

0

0

PaaS Controller and Registry

3

0

0

0

0

0

Load Balancer for management traffic

2

0

0

0

0

0

Cloud Manager (provisioning, metering, billing)

1

0

0

0

0

0

Business Activity Monitor and summarizer

4

0

0

0

0

0

Application Platform Services [# of JVMs]

Application Server

0

0

0

0

0

0

Gadget Server

0

0

0

0

0

0

Mashup Server

0

0

0

0

0

0

Enterprise Service Bus

14

2

20

44

100

200

Governance Registry

2

1

10

22

50

100

Identity Server

1

1

10

22

50

100

Business Process Management

0

0

0

0

0

0

Business Rules

0

0

0

0

0

0

Complex Event Processing Server

0

0

0

0

0

0

Data Services Server

0

0

0

0

0

0

Message Broker

0

0

0

0

0

0

Cassandra Storage Service

0

0

0

0

0

0

Relational Storage Service

0

0

0

0

0

0

File Storage Service

0

0

0

0

0

0

API Management

0

0

0

0

0

0

Business Activity Monitoring

0

0

0

0

0

0

Load Balancer for Service Clusters

3

0

0

0

0

0

Platform Footprint and Cost

Number of JVM Instances

30

4

40

88

200

400

Cost Per JVM Instance

$8,000

$8,000

$8,000

$8,000

$8,000

$8,000

Total Platform Subscription Cost

$240,000

$32,000

$320,000

$704,000

$1,600,000

$3,200,000

Platform Subscription Cost Comparison (App Platform)

$0

($208,000)

$80,000

$464,000

$1,360,000

$3,168,000

Infrastructure as a Service

JVM Density per IaaS node (32GB IaaS, 4GB JVM)

8

8

8

8

8

8

Calculated number of IaaS nodes

4

1

5

11

25

50

Cost per IaaS Year

$7,908

$7,908

$7,908

$7,908

$7,908

$7,908

Total IaaS Cost

$31,632

$7,908

$39,540

$86,988

$197,700

$395,400

Platform Subscription Cost Comparison (IaaS)

$0

($23,724)

$7,908

$55,356

$166,068

$363,768

IT Administrative and Management Cost

Chargeback/showback billing

12000

60

600

1320

3000

6000

Tenant configuration

440

48

330

726

1650

3300

Tenant monitoring and systems administration

1560

208

2080

4576

10400

20800

Cost per IT man hour

$60

$60

$60

$60

$60

$60

WSO2 Stratos Platform Training Cost

$25,000

$0

$0

$0

$0

$0

Total IT Administrative and Management Cost

$865,000

$18,960

$180,600

$397,320

$903,000

$1,806,000

Platform Subscription Cost Comparison (IT Admin & Mgt)

$0

($846,040)

($684,400)

($467,680)

$38,000

$941,000

Total Cost of Ownership

Total Cost

$1,136,632

$58,868

$540,140

$1,188,308

$2,700,700

$5,401,400

Total Savings / (Extra Expense)

$0

($1,077,764)

($596,492)

$51,676

$1,564,068

$4,264,768

JVM Instance Efficiency

0.1

1.3

2.9

6.7

13.3

Cost Efficiency

5%

48%

105%

238%

475%

 

 

Table 3: Small scale, multiple application service deployment

On-Premise Shared PaaS vs. On-Premise Single Tenant Hosting

Shared Container PaaS Scenario

Traditional Deployment Template

Traditional – Scenario 1

Traditional – Scenario 2

Traditional – Scenario 3

Traditional – Scenario 4

Tenants and Partitioning

Tenant Isolation Level

Shared PaaS Nodes

Dedicated Instances

Dedicated Instances

Dedicated Instances

Dedicated Instances

Dedicated Instances

Tenants

8

1

2

4

6

8

PaaS Management Services [# of JVMs]

8

0

0

0

0

0

PaaS Controller and Registry

3

0

0

0

0

0

Load Balancer for management traffic

2

0

0

0

0

0

Cloud Manager (provisioning, metering, billing)

1

0

0

0

0

0

Business Activity Monitor and summarizer

2

0

0

0

0

0

Application Platform Services [# of JVMs]

Application Server

2

2

4

8

12

16

Gadget Server

0

0

0

0

0

0

Mashup Server

0

0

0

0

0

0

Enterprise Service Bus

2

2

4

8

12

16

Governance Registry

2

1

2

4

6

8

Identity Server

1

1

2

4

6

8

Business Process Management

0

0

0

0

0

0

Business Rules

0

0

0

0

0

0

Complex Event Processing Server

0

0

0

0

0

0

Data Services Server

1

1

2

4

6

8

Message Broker

0

0

0

0

0

0

Cassandra Storage Service

0

0

0

0

0

0

Relational Storage Service

0

0

0

0

0

0

File Storage Service

0

0

0

0

0

0

API Management

0

0

0

0

0

0

Business Activity Monitoring

0

0

0

0

0

0

Load Balancer for Application Platform Service Clusters

2

0

0

0

0

0

Platform Footprint and Cost

Number of JVM Instances

18

7

14

28

42

56

Subscription cost per JVM Instance [per year]

$8,000

$8,000

$8,000

$8,000

$8,000

$8,000

Total Platform Subscription Cost [per year]

$144,000

$56,000

$112,000

$224,000

$336,000

$448,000

Platform Subscription Cost Comparison (App Platform)

$0

($88,000)

($32,000)

$80,000

$192,000

$392,000

Infrastructure as a Service

JVM Density per IaaS node (32GB IaaS, 4GB JVM)

8

8

8

8

8

8

Calculated number of IaaS nodes

3

1

2

4

6

7

Cost per IaaS node [per year]

$7,908

$7,908

$7,908

$7,908

$7,908

$7,908

Total IaaS Cost [per year]

$23,724

$7,908

$15,816

$31,632

$47,448

$55,356

Platform Subscription Cost Comparison (IaaS)

$0

($15,816)

($7,908)

$7,908

$23,724

$31,632

IT Administrative and Management Cost

Chargeback/showback billing

960

60

120

240

360

480

Tenant configuration

178

60

120

240

360

450

Tenant monitoring and systems administration

936

364

728

1456

2184

2912

Cost per IT man hour

$60

$60

$60

$60

$60

$60

WSO2 Stratos Platform Training Cost

$25,000

$0

$0

$0

$0

$0

Total IT Administrative and Management Cost [per year]

$149,440

$29,040

$58,080

$116,160

$174,240

$230,520

Platform Subscription Cost Comparison (IT Admin & Mgt)

$0

($120,400)

($91,360)

($33,280)

$24,800

$81,080

Total Cost of Ownership

Total Cost [Year 1]

$317,164

$92,948

$185,896

$371,792

$557,688

$733,876

Total Savings for PaaS / (Extra Expense)

$0

($224,216)

($131,268)

$54,628

$240,524

$416,712

JVM Instance Efficiency

0.4

0.8

1.6

2.3

3.1

Cost Efficiency

29%

59%

117%

176%

231%

 

 

Table 4: Small scale, single application service deployment

On-Premise PaaS vs. On-Premise Hosting

Shared Container PaaS Scenario

Traditional Deployment Template

Traditional – Scenario 1

Traditional – Scenario 2

Traditional – Scenario 3

Traditional – Scenario 4

Tenants and Partitioning

Tenant Isolation Level

Shared PaaS Nodes

Dedicated Instances

Dedicated Instances

Dedicated Instances

Dedicated Instances

Dedicated Instances

Tenants

8

1

2

4

5

8

PaaS Management Services [# of JVMs]

7

0

0

0

0

0

PaaS Controller and Registry

2

0

0

0

0

0

Load Balancer for management traffic

2

0

0

0

0

0

Cloud Manager (provisioning, metering, billing)

1

0

0

0

0

0

Business Activity Monitor and summarizer

2

0

0

0

0

0

Application Platform Services [# of JVMs]

Application Server

0

0

0

0

0

0

Gadget Server

0

0

0

0

0

0

Mashup Server

0

0

0

0

0

0

Enterprise Service Bus

2

2

4

8

10

16

Governance Registry

1

1

2

4

5

8

Identity Server

0

0

0

0

0

0

Business Process Management

0

0

0

0

0

0

Business Rules

0

0

0

0

0

0

Complex Event Processing Server

0

0

0

0

0

0

Data Services Server

0

0

0

0

0

0

Message Broker

0

0

0

0

0

0

Cassandra Storage Service

0

0

0

0

0

0

Relational Storage Service

0

0

0

0

0

0

File Storage Service

0

0

0

0

0

0

API Management

0

0

0

0

0

0

Business Activity Monitoring

0

0

0

0

0

0

Load Balancer for Application Platform Service Clusters

1

0

0

0

0

0

Platform Footprint and Cost

Number of JVM Instances

11

3

6

12

15

24

Subscription cost per JVM Instance [per year]

$8,000

$8,000

$8,000

$8,000

$8,000

$8,000

Total Platform Subscription Cost [per year]

$88,000

$24,000

$48,000

$96,000

$120,000

$192,000

Platform Subscription Cost Comparison (App Platform)

$0

($64,000)

($40,000)

$8,000

$32,000

$168,000

Infrastructure as a Service

JVM Density per IaaS node (32GB IaaS, 4GB JVM)

8

8

8

8

8

8

Calculated number of IaaS nodes

2

1

1

2

2

3

Cost per IaaS node [per year]

$7,908

$7,908

$7,908

$7,908

$7,908

$7,908

Total IaaS Cost [per year]

$15,816

$7,908

$7,908

$15,816

$15,816

$23,724

Platform Subscription Cost Comparison (IaaS)

$0

($7,908)

($7,908)

$0

$0

$7,908

IT Administrative and Management Cost

Chargeback/showback billing

480

60

120

240

300

480

Tenant configuration

120

44

58

116

130

202

Tenant monitoring and systems administration

572

156

312

624

780

1248

Cost per IT man hour

$60

$60

$60

$60

$60

$60

WSO2 Stratos Platform Training Cost

$25,000

$0

$0

$0

$0

$0

Total IT Administrative and Management Cost [per year]

$95,320

$15,600

$29,400

$58,800

$72,600

$115,800

Platform Subscription Cost Comparison (IT Admin & Mgt)

$0

($79,720)

($65,920)

($36,520)

($22,720)

$20,480

Total Cost of Ownership

Total Cost [Year 1]

$199,136

$47,508

$85,308

$170,616

$208,416

$331,524

Total Savings for PaaS / (Extra Expense)

$0

($151,628)

($113,828)

($28,520)

$9,280

$132,388

JVM Instance Efficiency

0.3

0.5

1.1

1.4

2.2

Cost Efficiency

24%

43%

86%

105%

166%

 

 

2 thoughts on “PaaS TCO and PaaS ROI: Multi-tenant, shared container PaaS

Leave a Reply