Skip to main content

Cloud Service Models: The Game Between Control and Economies of Scale

Free2019-07-27#Front-End#云服务模型#云计算的服务模型#云计算与规模经济#云计算演变#云服务演变

Diagramming the evolution of cloud service models

Preface

In the previous article [IaaS-PaaS-SaaS Definition](/articles/iaas-paas-saas 定义/) introduced 3 service models of cloud computing:

This article explains the origin of this diagram, that is the evolution process of cloud service models

1. Surface Model

As early as 2008, Microsoft and other companies (before that there were Amazon, Google) were exploring cloud services. When launching Azure, Microsoft proposed such a model diagram:

Used to explain the differences between PaaS model and on-premises and outsourced hosting that people were familiar with at that time

Specifically:

  • On-premises: Need to own (purchase) hardware and maintain data

  • Outsourced hosting: Can directly use colocation or hosted servers

  • PaaS: Use cloud architecture, not only resource hosting but also supports elastic scaling

Actually, this subscription-based revenue model might cannibalize many of Microsoft's existing license-based products at that time. But from a macro perspective, economies of scale is the most important value of cloud service models

In microeconomics, economies of scale refers to cost advantages that enterprises obtain due to their scale of operation, unit output cost decreases as scale expands:

In microeconomics, economies of scale are the cost advantages that enterprises obtain due to their scale of operation (typically measured by amount of output produced), with cost per unit of output decreasing with increasing scale.

Simply put, economies of scale is doing things more efficiently as scale expands:

The simple meaning of economies of scale is doing things more efficiently with increasing size.

In cloud computing it's reflected in Resource pooling, thus producing scale effects:

The economies of scale of cloud computing are reflected in two aspects, one is reducing user terminal costs, the other is having higher utilization rate, thus considered to potentially generate good economic benefits.

On one hand users don't need to purchase storage or servers, but obtain (corresponding functions) through purchasing services, reducing cost investment and management expenses. On the other hand, providing cloud services is actually many users sharing resources of one service, with higher utilization rate.

Cloud service providers centrally manage software and hardware resources, and provide maintenance, pay-as-you-go, elastic scaling and other services, users no longer need full control over N-layer resource stacks up and down, can deploy their own applications (PaaS)

2. Resource Stack Model

The above diagram only describes the main differences between PaaS and outsourced hosting and on-premises from the surface, lacking concrete comparison, therefore needs a visualization model that can highlight differences and convey their value, while also explaining the degree of difference:

First abstract 9-layer resource stack from familiar local IT environment, as unified context, then map cloud service models to this context, and highlight differences. The reason for using hierarchical structure to describe is:

  • Reflects some degree of separation of concerns

  • Shows that layers in the stack have some direct dependencies and design/operation abstractions

Specifically:

  • On-premises: Just as we understand, full control over entire resource stack, own and manage these resources

  • IaaS: No longer fully control all resources, bottom 5 layers are hosted to infrastructure provider

  • PaaS: Except Application layer, all layers are handed over to provider management, we only need to focus on our own applications

3. Analogy Model

There are also some analogy models, such as pizza, cars, etc., but none are as appropriate as resource stack model, because some context information is lost when making analogies, such as inter-layer dependencies and separation of concerns

Taking car model as example:

The key points of this analogy are:

  • On-premises: Like owning your own car, can go anywhere you want anytime (full control). Car model, appearance, color, decoration etc. can all be self-selected, but responsible for maintenance yourself

  • IaaS: Like car rental service, still can go anywhere anytime. Although there are some restrictions on car selection, but don't need to maintain yourself, get keys and can depart

  • PaaS: Like public transportation, can go to places with service according to departure schedule on established routes, although there are such restrictions, but easy to use, and can pay according to usage (thanks to economies of scale)

Essentially, what this analogy expresses is still the initial trade-off between control and economies of scale, but visually easier to understand, and helps expand discussion and dissemination

4. Resource Stack Model Extension

After 9-layer resource stack model appeared, made some modifications to its visual presentation (flattened 3D parts, reduced color count, removed complex shapes), got:

Then someone proposed SaaS should also be added, so got:

To make differences between SaaS and PaaS more obvious (if directly added, only one Application layer difference), made some adjustments to resource stack itself:

  • Security & Integration layer was removed, because all layers have security issues, as a separate layer has little meaning

  • Added Data layer below Applications layer

  • Databases, Servers, Server HardWare layers changed to Middleware, O/S and Server layers respectively

This way, between cloud environments (IaaS, PaaS, SaaS) are all 2-layer differences, between cloud environment and local environment are 5-layer differences, indicating differences between cloud environment and local environment are greater

Afterwards to make meaning more accurate, made some repairs,

  • O/S changed to Operating System

  • On-Premises changed to Traditional IT, because on-premises includes private cloud environment, need to distinguish

  • Made slight adjustment to managed by line in IaaS (extended part to Operating System layer), indicating O/S layer in IaaS is jointly maintained, cloud provider provides basic VM image, but users still need to maintain its patches and updates

Got final draft:

Reference Materials

Comments

No comments yet. Be the first to share your thoughts.

Leave a comment