10 Immutable Laws of Cloud Computing
Kepler has his law of planetary motions, Newton his law of gravity, and Einstein his theory of relativity. I’d like to announce my own contribution to the physical laws of the universe: the 10 immutable laws of cloud computing.
Note: I am willing to share the serious mathematical proofs behind these laws in exchange for Red Sox ALDS tickets.
#10: This Month’s Bill Will Be Higher Than Last
Has your CFO ever asked you whether the cloud bill will be higher, lower or the same next month? Don’t waste time trying to correlate current and projected usage to find the answer. The answer is simple: higher.
#9: Eventually Consistent Is Never Wrong
I love eventual consistency. I know E.F. Codd is turning over in his grave thinking: WTF didn’t I think of that!? I love it so much I am trying to get my wife to adopt an eventually consistent approach for household tasks. When will I clean the gutters? Eventually. When will that critical document be updated in the database? Eventually.
#8: Availability: It’s Not Your Fault
After every major cloud provider outage, I read articles of cloud dropouts blaming their move to physical infrastructure on the recent outage. I can’t help but hear the words of the Scooby Doo villain: “I would have gotten away with it, if not for those meddling kids.” If a cloud provider’s service degradation causes an outage in your application or service, it’s their fault, not yours. I give you a mulligan. Your CEO however may think otherwise.
#7: Cloud Pricing Not Human Consumable
So let me explain Glacier pricing to you. You get charged $0.01 for every GB you store in Glacier. You don’t get charged for putting data into Glacier. Data transfer out however to the internet is charged at a tiered pricing that starts at $0.12 per GB and goes up to… contact us. Data transfer within Amazon is free within the same region in which your data resides but $0.02 per GB for another region. You can only retrieve up to 5% of your average monthly storage pro-rated per day each month (GMT time of course). Exceeding 5% will result in a $0.01 per GB retrieval fee. Also if you plan to delete an item prior to 90 days, it will cost you $0.03 per GB. Oh, did I mention the $0.05 per 1K upload / retrieval charge? One last item: if you plan on moving S3 objects to Glacier, the move will result in an additional 32 KB of Glacier data plus an additional 8 KB of S3 standard storage data.
#6: Trust But Don’t Verify
Once you pass 1 million or so objects in a cloud object store, it is essential you do not try to audit the data. Auditing cloud data has the same result as the quantum mechanics observer effect, where the act of observing changes the outcome of the results. Your cloud provider has your data, so just trust them. Besides, it’s not like you could verify your millions of objects anyway.
#5: The Bill Is Always Right
There is a two step process to managing cloud bills: 1) receive the bill, and 2) pay it. Anything else is just… well, wasted time. Amazon is the most advanced provider in supplying insight into their billing, but until Microsoft fixes the defect with opening a 50 million row CSV in Excel, it is best just to pay the bill.
#4: The Other Cloud Provider Is Always Better
I have good news for those of you thinking of switching cloud providers: the one you are considering is better than the one you have. Don’t confuse me with actual names of providers. You know all those issues you have with unexpected server reboots, random I/O degradation, high network latency, and increasing costs? They all go away when you switch to the new provider.
#3: Physical Infrastructure Was Better
We all know that everything worked well before the cloud. I don’t know about you, but the physical infrastructure I used to manage was always available, secure, and performing. To the best of my knowledge, I never had an issue with my physical infrastructure. In addition, it was cheap.
The memories of managing your own physical infrastructure will always exceed the realities of managing your current cloud.
#2: Everything Will Get Bigger
All provisioned infrastructure in the cloud has an inherent tendency toward becoming bigger. The m1.small instance would someday like to grow up to be an m1.xlarge; the bucket/container storing 1GB of documents aspires to someday hold 100TB; the 50GB volume hopes to someday become a 1TB volume. You cannot stop a law of nature. Quit trying.
#1: The Off Switch Is Broken
Many of us can still hear the words of our parents: “Did you shut the lights off?” We have been conditioned from childhood to turn things off that consume cost or waste energy. Unfortunately the virtual light switch in the cloud is permanently broken and cannot be fixed. So don’t blame your engineers when they forget to shutdown systems they are no longer using. No one knows who broke it or when it happened, but the off switch is most definitely not working.