Friday, April 09, 2010

Common Cloud Myths

Over the last three years, I've spent an increasingly disproportionate amount of my time dealing with cloud myths. I thought I'd catalogue my favourites by bashing one every other day.

Cloud is Green

The use of cloud infrastructure certainly allows for more efficient provision of infrastructure through matching supply to demand. In general :-

1. For a traditional scenario where every application has its own physical infrastructure then each application requires a capacity of compute resources, storage and network which must exceed its maximum load and provide suitable spare capacity for anticipated growth. This situation is often complicated by two factors. First, most applications contains multiple components and some of those often highly under utilise physical resources (for example load balancing). Second, due to the logistics of provisioning physical equipment then the excess capacity must be sufficiently large. At best, the total compute resources required will significantly exceed the sum of all the individual peak application loads and spare capacity.

2. The shared infrastructure scenario covers networks, storage and compute resources (through virtualisation). Resource requirements are balanced across multiple applications with variable loads and the total spare capacity held is significantly reduced. In an optimal case the total capacity can be reduced to a general spare capacity plus the peak of the sum of the application loads. Virtual Data Centres, provisioning resources according to need, are an example of shared infrastructure.

3. In the case of a private cloud (i.e. a private compute utility), the economics are close to that of a shared scenario. However, there is one important distinction in that a compute utility is about commodity infrastructure. For example, virtual data centres provide highly resilient virtual infrastructure which incur significant costs whereas a private cloud focuses on rapid provision of low cost, good enough virtual infrastructure.

At the nodes (the servers providing virtual machines) of a private cloud, redundant power supplies are seen as an unnecessary cost rather than a benefit. This ruthless focus on commodity infrastructure provides a lower price point per virtual machine but that necessitates that resilience is created in the management layer and application (the design for failure concept). The reasoning for this, is the same reasoning behind RAID (redundant array of inexpensive disks). By pushing resilience into the management layer and combining more lower cost, less resilient hardware you can actually enable higher levels of resilience and performance for a given price point.

However, the downside is that you can't just take what has existed on physical servers and plonk it on a cloud and expect it to work like a highly resilient physical server. You can however do this with a virtual data centre.

This distinction and focus on commodity provision is the difference between a virtual data centre and a private cloud. It's a very subtle but massively important distinction because whilst a virtual data centre has the benefit of reducing educational costs of transition in the short term (being like existing physical environments), it's exactly these characteristics that will make it inefficient compared to private clouds in the longer term.

4. In the case of a public cloud infrastructure (a public compute utility), the concepts are taken further by balancing variable demands of one company for compute resources against another. This is one of many potential economies of scale that can lead to lower unit costs. However unit cost is only one consideration here, there are transitional and outsourcing risks that need to be factored in which is why we often use hybrid solutions combining both public and private clouds.

The overall effect of moving through these different stages is that the provision of infrastructure becomes more efficient and hence we have the "cloud is green" assumption.

I pointed out, back in 2008 at IT@Cork, that this assumption ignored co-evolution, componentisation and price elasticity effects.

By increasing efficiency and reducing cost for provision of infrastructure, a large number of activities which might have once not been economically feasible become economically feasible. Furthermore, the self-service nature of cloud not only increases agility by enabling faster provision of infrastructure but accelerates user innovation through provision of standardised components (i.e. the infrastructure equivalent of a brick). This latter effect can encourage the co-evolution of new industries in the same manner that the commoditisation of electronic switching (from the innovation of the Flemming valve to complex products containing thousands of switches) led to digital calculators and computers which in turn drove further commoditisation and demand for electronic switching.

The effect of these forces is that whilst infrastructure provision may become more efficient, the overall demand for infrastructure will outstrip these gains precisely because infrastructure has become a more efficient and standardised component.

We end up using vastly more of a more efficient resource. Lo and behold, cloud turns out not to be green.

The same effect was noted by Willam Stanley Jevons in the 1850s, when he "observed that England's consumption of coal soared after James Watt introduced his coal-fired steam engine, which greatly improved the efficiency of Thomas Newcomen's earlier design"

5 comments:

Anonymous said...

I totally agree that Cloud Computing will use more energy overall. But I think Cloud Computing *is* green because it saves energy (given constant workloads). The fact that the workload isn't likely to stay constant doesn't make it less green.

After all, nobody would argue that "hybrid cars aren't green because they might encourage people to drive more (due to the money they save on gas)." Or "Compact Florescent bulbs aren't green because of their long start-up time (which encourages people to just leave the light on)."

Green just means "more efficient", which Cloud Computing is.

swardley said...

Hi,

The efficiency argument over traditional methods of infrastructure, is one that I discussed back at OSCON in 2007. However, as you point out "cloud computing will use more energy overall".

The reason why cloud computing will use more energy overall is because of price elasticity, componentisation (e.g. self service effects and being sub-systems of higher order systems) and co-evolution effects (spin off industries and new activities)

It is the very structure of cloud that leads to this greater consumption of what becomes a more efficiently provided component - infrastructure.

Economics is a complex system with many feedback loops and you cannot just look at the change to one element of that system without considering the impact of that change. So yes, infrastructure provision becomes more efficient but because of this mechanism workloads and consumption increase. I think we both agree.

Any activity which rapidly increases energy consumption in an environment where energy production is highly polluting cannot be said to be green. The reason why many argue that cloud is green is precisely because they assume it will reduce energy consumption - this is a flawed assumption. If you want to green this industry then you have to look at the means of energy production (but then that's general to most industries).

Both hybrid cars and flourescent bulbs are not (as far as I'm aware) price elastic, major components of other industries or have strong co-evolution effects. Making them more efficient will tend to reduce energy consumption.

Peter Jenkins said...

Simon,

I've commented on this before and you disagreed, but I'll have another go at explaining my point of view.

I disagree with you.

Cloud /is/ green because the cost and environmental impact of IT infrastructure is more transparent to organisations than it is today.


I agree with your Anonymous poster who says "nobody would argue that "hybrid cars aren't green because they might encourage people to drive more"".

But it goes further than that, the costs of IaaS cloud, at least public IaaS cloud, are very transparent. The move to a public cloud will, as a by-product, allow organisations to far easily measure the costs (and maybe even CO2 someday) of hosting each application/server/vm.

At the moment measuring cost or energy use of infrastructure is really hard. This makes justifying the cost of projects to reduce energy consumption hard. People leave old inefficient hardware running all over the place (anywhere from data centres to cupboards) for years. The energy consumed is measured and paid for centrally so the environmental impact of the IT is not clear.

Cloud will at least make the cost (fiscal and environmental) more visible.

If I may add to your 4th point ... Once an organisation has moved to a public cloud model they should be able to move about between cloud suppliers. The better cloud suppliers will recognise energy consumption as one of their key costs and so having an energy efficient, green, infrastructure will be essential.

To use another car analogy, electric cars still pollute today because electricity generation still pollutes. However as pollution from electricity generation comes down, the car benefits and become less polluting as a result.

A similar "free ride" is possible with energy consumption from IT - getting the millions of small organisations onto the cloud gets them on a path to energy efficiency. Cloud providers have a clear financial incentive to drive their energy costs down and the efficiency up and they can afford advanced systems to and highly paid experts to achieve this. Their customers will benefit as a result.

Your point appears to be that none of this matters because people will just do more stuff.

Well duh! Of course people will do more stuff!

But this is happening anyway. The worlds population is growing. More people are leaving poverty in the developing world and coming on line.

Our western lifestyles are not sustainable because we are consuming too much stuff. But that doesn't mean cloud isn't green. To me cloud seems like a step in the right direction.

Maybe you would agree that cloud is /greener/?

swardley said...

"I've commented on this before and you disagreed, but I'll have another go at explaining my point of view."

Disagreement isn't a sin, it's part of a healthy debate.

"Cloud /is/ green because the cost and environmental impact of IT infrastructure is more transparent to organisations than it is today."

Cloud isn't an excuse for poor management of infrastructure. This is the same as the "cloud will save costs because it exposes the 90% margins being made by outsourcers" argument put forward by @dealarchitect. Yes, cloud will tend towards making certain types of information more available but you can easily poorly manage cloud usage and it's not an excuse for this.

I agree with your Anonymous poster who says "nobody would argue that "hybrid cars aren't green because they might encourage people to drive more"..

As stated before, hybrid cars and more efficient use of fuel in cars doesn't have the same price elasticity (fuel consumption is just one element of the cost of a car), componentisation and co-evolution effects. The analogy is false.

"The move to a public cloud will, as a by-product, allow organisations to far easily measure the costs (and maybe even CO2 someday) of hosting each application/server/vm."

At this moment the metrics for VM consumption of CO2 don't exist on the major providers. Yes, it would be useful if this did exist.

In any case, due to the EU legislation on Carbon we are just as likely to see Cloud providers used as dumping grounds by companies to remove carbon emission.

However, all of these factors don't get away from the issue that @anonymous agrees with "Cloud Computing will use more energy overall".

If you want to use cloud computing as part of a green strategy, then you have to look at the overall effect. The only way to green "cloud" is to look at the mechanisms of energy production, see for example Green Cloud.

"Once an organisation has moved to a public cloud model they should be able to move about between cloud suppliers".

Absolutely, the formation of competitive markets (which requires open data / APIs, open source code as reference models and assurance bodies) is an ideal which is necessary for overcoming company concerns on pricing competition, lock-in, second sourcing options and loss of strategic control.

"The better cloud suppliers will recognise energy consumption as one of their key costs and so having an energy efficient, green, infrastructure will be essential."

I would hope the method of energy production would become a factor, in the same way that this is happening in physical infrastructure and other industries today. But this is not the same as sweeping statement that Cloud is green.

"Well duh! Of course people will do more stuff!" well, good you agree then that Cloud computing will use more energy overall.

How do you square this with "Our western lifestyles are not sustainable because we are consuming too much stuff".

Cloud isn't some green panacea, we have to look to our means of energy production (which is true for many industries). To claim that there is something inherently green about an activity which will increase energy consumption in an environment where energy production is highly polluting, is simply flawed.

Anonymous said...

In any case, due to the EU legislation on Carbon we are just as likely to see Cloud providers used as dumping grounds by companies to remove carbon emission.

That may end up being the case, but it might not be a bad thing. Considering economies of scale, it would definitely be easier for a few data centers to adopt greener cost cutting measures than to expect millions of endusers to do so. In terms of enforcement, this would be more cost efficient too. True it does not solve the problem, but it makes solving it much easier.



The reason why cloud computing will use more energy overall is because of price elasticity, componentisation (e.g. self service effects and being sub-systems of higher order systems) and co-evolution effects (spin off industries and new activities)

You seem to be suggesting that the progress as a result of widespread adoption of cloud services is the reason why cloud computing is not green, not the fact that the technology allows computing to be more energy efficient.

But that is like saying the cloud-inspired or -reliant businesses, which would not have otherwise appeared without cloud computing technologies, are a taking a step backward in 'green' terms. I guess you would say that the value-add from online applications like Youtube or Facebook are not worth the GHG emissions they produce. Should we in that case blame Benjamin Franklin for all the damage that has been done to the environment. After all, if he had not 'discovered' electricity, we probably would not be consuming that much electricity today either.

I feel that cloud computing would allow the world to enjoy more progress at a lower cost to the environment, which is a great thing! If we are going to progress anyway, might as well do it more energy-efficiently with cloud computing. Unless you deny the value of spin off industries and new activites from cloud computing, cloud computing appears to offer the most green way forward.