25 June 2018

WARNING: "The Cloud" Can Be More Problem Than Solution

The single most influential technology marketing phrase in the past decade has been "the cloud".  From ex-Google CEO Eric Schmidt first using the term in 2006 until now, "the cloud" has been variously touted as both the solution to all technology problems and the greatest technological innovation since the transistor.

What a pity neither assertion is true.

The economic argument for the cloud comes from the presumed cost savings achieved by cloud infrastructures themselves.  To be simple and blunt, such savings do not exist. 

One need only look at Amazon's own dedicated pricing to realize this. When Amazon offers a 70% price discount for a dedicated server over their "on-demand" configurations, the economic conclusion is inescapable: cloud services do not scale. 

I say again: The cloud does not scale.

Nor are application-specific cloud solutions any different--in fact, for the quintessential cloud application, Voice Over IP (VoIP), the scalability is even worse.  If one takes the typical pricing for a VoIP "seat" or "user" (i.e., a single telephone extension), beyond approximately twelve users the average business will spend less money with a dedicated PBX system--nor does hosting the PBX with a co-location provider alter the cost picture:
“Cloud” Pricing
Voice The Right Way Hosted PBX +/-
# of Extensions Cost per Extension Total Cost
# SIP Trunks needed Cost per SIP Trunk Colo/Hosting fee Total Cost
1 $20.00 $20.00
1 $25.00 $100.00 $125.00 -$105.00
2 $20.00 $40.00
1 $25.00 $100.00 $125.00 -$85.00
3 $20.00 $60.00
2 $25.00 $100.00 $150.00 -$90.00
4 $20.00 $80.00
2 $25.00 $100.00 $150.00 -$70.00
5 $20.00 $100.00
3 $25.00 $100.00 $175.00 -$75.00
6 $20.00 $120.00
3 $25.00 $100.00 $175.00 -$55.00
7 $20.00 $140.00
3 $25.00 $100.00 $175.00 -$35.00
8 $20.00 $160.00
4 $25.00 $100.00 $200.00 -$40.00
9 $20.00 $180.00
4 $25.00 $100.00 $200.00 -$20.00
10 $20.00 $200.00
5 $25.00 $100.00 $225.00 -$25.00
11 $20.00 $220.00
5 $25.00 $100.00 $225.00 -$5.00
12 $20.00 $240.00
5 $25.00 $100.00 $225.00 $15.00
13 $20.00 $260.00
6 $25.00 $100.00 $250.00 $10.00
14 $20.00 $280.00
6 $25.00 $100.00 $250.00 $30.00
15 $20.00 $300.00
7 $25.00 $100.00 $275.00 $25.00
16 $20.00 $320.00
7 $25.00 $100.00 $275.00 $45.00
17 $20.00 $340.00
7 $25.00 $100.00 $275.00 $65.00
18 $20.00 $360.00
8 $25.00 $100.00 $300.00 $60.00
19 $20.00 $380.00
8 $25.00 $100.00 $300.00 $80.00
20 $20.00 $400.00
9 $25.00 $100.00 $325.00 $75.00

Where are the cost savings the cloud is supposed to provide?  The cost savings of a hosted PBX for just twenty users for one month, extended across two or three years, will more than cover any up front cost for the necessary hardware, and still leave enough for the occasional adds, moves, and changes that might be required.

The cloud does not scale.

Nor does the cloud simplify either application or infrastructure management--quite the opposite. Does this Amazon Web Service architecture look "simple"?

Example of redundant web hosting architecture built on AWS.  Requires seven different AWS services.

The cloud does not scale.

Can the cloud deliver superior performance? Hardly.  The laws of physics get in the way.  In a "shared" environment--which cloud infrastructures are, every computer operation must wait in line, and even if the delays are measured in nanoseconds or even picoseconds, the cumulative impact on application and system performance is noticeable.  Network latencies are even more impactful--the average network delay within a local network is less than a millisecond, but across even a private wide area network that delay quadruples to approximately 2 milliseconds at least, and across the Internet the delay is even greater. That delay applies to each and every packet that must traverse the network, thus adding multiple seconds to opening even a small spreadsheet or other document, and the larger the file, the longer it takes to open, save, and close properly.

The cloud does not scale.

The cloud is not cost effective. The cloud is not simple. The cloud is not robust.  Thus comes the question "why use the cloud?" The answer is "convenience".  Cloud storage is a convenient and easily implemented backup solution. VoIP in the cloud is easy to set up and operate for a single user. Businesses turn to the cloud because they believe, rightly or wrongly, that it is the easiest solution to implement.

The cloud does not scale, but scalability is not the sole virtue in any technology, system, or infrastructure.  The one-person business only needs but a single phone, and the convenience of the cloud means that phone--that extension--can follow the person wherever he or she goes. Even a large business' web site only consumes resources when visitors are browsing it, making it a great fit for an on-demand environment such as a cloud provider; for small applications, for simple applications, convenience is a greater virtue than scalability. Which virtue should be the primary virtue is a question that must be addressed per-application and per-system.  It is a design question, perhaps the design question--what are the best resources for the system or application?

The cloud is merely a resource. It is but one resource among many resources, one solution among many solutions.  It is a tool--it can be a useful tool, but it can never be more than a tool. Just as one does not use a screwdriver to pound a nail, or a chisel to tighten a screw, neither should one use the cloud where a server is the better tool.

Use the cloud where the cloud fits, and use other resources where other resources are a better fit. Attempting to make the cloud the solution to all technology problems will only result in the cloud being more problem than solution.