Cloud Computing Price Projector

Examining Multivariate IaaS Pricing

Christopher Wilson
wilson@gleamingstone.com

Problem Statement

  • Infrastructure as a Service Market is becoming increasingly competitive

    • Leading Providers Amazon Web Services, Microsoft Azure, and Google
    • Increased Price Competition for Basic Compute and Storage Services
  • Complexity in Instance Types and Pricing

    • Virtual Machines are not a malleable resource
    • CPU, Memory, and Disk capacities often do not align
    • Customers are looking for simplified pricing and less cost confusion
  • Cloud Computing Market inspector and Pricing Applet

Infrastructure as a Service Complexities

  • Difficult to Quantify "Fair" Market Price

  • Variability in Configuration and Cost across Providers

  • Virtual Machine Configurations are Fixed

    • Virtual CPU/Cores and Memory are often aligned with Hardware Specifications
    • Multi-Dimensional Price Parameters difficult to reason about
    • Optimized instances vary by provider
  • Competetive IT Market

    • Price Pressure from Incumbent Hardware and Virtualization Vendors
    • Broadening of Application Services; Databases, PaaS, etc
    • Search for Value other than Infrastructure

Approach

  • Collect Recent Pricing from 3 Major Cloud Providers

    • Amazon Web Services, Microsoft Azure, Google Compute Engine
    • No Price Optimization - Linux & Basic Instance Types
  • Linear Model

    • \(\hat Y = \beta_0 + \beta_1Price + \beta_2Virtual CPU + \beta_3Memory + \beta_4Instance Storage + \epsilon\)
# Model Coefficients for Standard Instance - (Intercept), cores, memory, disk
coefs <- as.matrix(c(-0.0050860402, 0.0165856852, 0.0125144272, 0.0002981955))
# Test set - Microsoft A7 Instance @ $1.00/hour, 8 vCPU, 56 GB RAM, 605 GB Disk
predictors <- as.matrix(c(8, 56, 605))
# Estimate without epsilon is within 95% confidence interval
coefs[1] + sum(t(coefs[2:4]) * t(predictors))
## [1] 1.008816

Price-o-Lator Applet

  • Cloud Computing Market Price Applet

    • Designed to Show Current Market State
    • Multivarite Nature of Pricing Difficult to show on 2D Plots
    • Other notable attempts to Quantify Price can be found at http://www.redmonk.com
  • Initial Panel shows 3 Axis Plot of Virtual CPUs, Memory, and Price

    • Users can Filter by Server Optimization; Standard, Compute or Memory
    • Users can Constrain with Slider Inputs by Virtual CPU or Memory
  • Price-o-Lator

    • Allows for input of Virtual CPU, Memory, and Storage
    • Uses the native predict function in R to return Predicted Price
    • Also Returns Confidence Interval for Range of Mean Price Predicted