Economics of Private Clouds

Private Clouds vs. Public Clouds: The Cost Comparison

In simple terms, a private cloud is like having your own computer servers at your place (like a private in-house data center), while a public cloud is like renting servers from a company (like Amazon Web Services or Google Cloud).

Key Concepts:

Private Cloud:Uses your own servers and can be managed using software like Eucalyptus, which works similarly to Amazon EC2. It allows automatic provisioning and virtualization, making your private setup act like a cloud.

Public Cloud: You pay to use servers from cloud providers. They handle everything, including maintenance and power costs.

How Costs Compare:

Let’s say you have several applications running in your enterprise. The total demand for computing varies throughout the day; sometimes it's high, and sometimes it's low.

If the demand peaks at Dmax (maximum demand), you’ll need to have enough servers to handle this peak even if demand is low most of the time.

In a private cloud, you have to buy enough servers to cover this maximum demand, which can be expensive.

In a public cloud, you only pay for what you use. When demand is low, your costs are low because you don't pay for unused servers.

The Economics:

The cost of running a private cloud includes both the purchase cost of servers and power costs.

In a public cloud, the cost per server per hour is higher, but you don't have to pay for power separately, and you only pay for what you use.

Formula for Cost Comparison:

Private Cloud Cost / Public Cloud Cost = (c ⋅ Dmax ⋅ T + p ⋅ V) / (2 ⋅ c ⋅ V)

Where:

  • c: Cost of buying a server per hour.
  • p: Power cost per computing hour (assumed equal to c).
  • Dmax: Peak demand.
  • T: Time.
  • V: Total virtual capacity used over time.

    When the demand varies a lot, public clouds often cost less because they can scale up or down as needed. Private clouds can end up costing more because they have to be ready for the maximum demand at all times.

    PaaS vs. IaaS:

    PaaS (Platform as a Service): Services like Google App Engine let you deploy your application with zero upfront cost and automatically scale as needed. It’s cost-effective for web applications with unpredictable or fluctuating demand.

    IaaS (Infrastructure as a Service): Services like AWS EC2 give you virtual servers, but you need to manage them and pay for the minimum capacity even when not fully in use.

    Summary:

    Private Cloud: High initial costs, good for stable demand.

    Public Cloud (IaaS):Pay-as-you-go, flexible but can have some delays in scaling.

    Public Cloud (PaaS): Ideal for unpredictable demand, especially for web apps, and typically cheaper if you can work within their frameworks.

    Choosing between these depends on your application's needs and the predictability of your demand.

    Black Beige Navy Illustrated Werewolf T-Shirt (3)

    The image shows the concept of over-provisioning in private and public clouds, focusing on how resources are allocated to meet varying demand.

    Key Points:

    1. Aggregate Demand (D(t)D(t)):The thick solid line represents the total computing demand of all applications at any given time.

    2. Peak Demand (DmaxD_{\text{max}}):The dashed line shows the maximum demand level that resources need to support.

    3. Private Cloud Over-Provisioning:

      • Worst Case (Left Graph): Resources are allocated to always meet the peak demand (DmaxD_{\text{max}}), even when actual demand is much lower, leading to significant over-provisioning and wasted resources.
      • Best Case (Right Graph): Resources still aim to cover the maximum demand but are closer to actual usage. There is still some over-provisioning, but it's minimized compared to the worst case.
    4. Public Cloud (Left Graph): The dotted line for public cloud provisioning adjusts more closely to actual demand (D(t)D(t)), reducing waste since you only pay for what is needed at each moment.

    In summary, the diagram highlights that private clouds often need to over-provision to ensure they can handle peak demand, resulting in inefficiency. Public clouds can better match resource allocation to actual demand, reducing unnecessary costs.