The cloud! The cloud!

Everything in technology is an abstraction of something else. The browser is an abstraction, the keyboard is an abstraction, C# is an abstraction; they all sit on top of other things and hide the details, with the goal of making you productive. (And each of those layers is actually comprised of many substrata.)

An abstraction is successful when we no longer need to look under the covers. It takes a while to get to that point. Usually an abstraction layer is imperfect, requiring us to look behind the curtain more often than we’d like.

You might think in 2009 that nobody would need to write HTML anymore. And yet, Microsoft is taking the historically unusual path of moving toward less abstraction on its web platform. (MVC is much closer to the metal than webforms.)

Perhaps there is a “Goldilocks” level of abstraction that programmers settle into: not too much, not too little.

For example, I am willing to define my own HTML, but not necessarily write it. What’s the difference? It’s worth my effort to declare “put a div here and a table over here, with these specs”. I try my best to avoid “bracket-table-space-open-tr-tag…close-td-tag-wait-did-i-close-the-last-one…”

And so it is with data centers and web services. The NYT reminds us that “the cloud” is made of ugly, hot, fallible wires and plastic. It is usually a successful abstraction; you and I have very little idea about the power supplies and air conditioners and security cameras that keep these things online.

While the benefits might seem magical, the cloud is more the result of perspiration than waving of wands.

About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s