Monday Feb 03, 2014

Nebulous Analogies

Having done my doctoral research on analogies, including their benefits and misuses, I am often amused by the analogies that crop up in the field of computing.

Starting long ago with von Neumann's "The Computer and the Brain" [1], computing analogies have both illuminated and confused many important IT concepts. The use of the term "memory" for persistent data storage, for example has a fairly clear and beneficial connection to human recall concepts. Less clearly helpful are analogies to thinking and consciousness common in AI research, as well as the current discussions around "cloud" computing. The corresponding characteristics of meteorological clouds and modern distributed computing are imprecise and misleading. It’s not clear how that analogy helps understand the critical technical concepts.

Now we have yet another unhelpful analogy, “Fog Computing” [2]. Attempting to characterize the “Internet of Things” [3] as an all-pervasive, obscuring “mist” explains nothing about the nature of ubiquitous, embedded computing services. And of course, computing vendors will jump at the chance to exploit the latest analogical buzzword to promote their products [4].

It’s difficult to communicate anything without using analogies, since that’s how the human brain works — we think using analogies [5]. But we should be careful in selecting the source analogs when trying to explain complex concepts. Poorly chosen sources can confuse and limit thinking and can hinder solution development. Surely there are better source analogs than clouds and fog. The “web” is clearly better than the “cloud” in conveying the idea of connectivity. But what is the ideal analogy for computing services that will eventually fill every corner of our daily lives, using our always-connected devices like smartphones and tablets, and the embedded services in our homes, cars, businesses, and social media? I don’t think it’s atmospheric phenomena. And I’m not sure it’s the “invisible computer” analogy either [6]. It’s probably more like oxygen [7], although that implies that we can’t live without it.
Hmmm…maybe we can’t.


[1] http://www.amazon.com/Computer-Silliman-Memorial-Lectures-Series/dp/0300181116
[2] http://conferences.sigcomm.org/sigcomm/2012/paper/mcc/p13.pdf
[3] http://en.wikipedia.org/wiki/Internet_of_Things
[4] http://newsroom.cisco.com/release/1334100/Cisco-Delivers-Vision-of-Fog-Computing-to-Accelerate-Value-from-Billions-of-Connected-Devices
[5] http://www.amazon.com/Surfaces-Essences-Analogy-Fuel-Thinking/dp/0465018475
[6] http://www.amazon.com/The-Invisible-Future-Integration-Technology/dp/0071382240
[7] http://oxygen.lcs.mit.edu/Overview.html

Monday Aug 08, 2011

Oh, the irony! Cloud-to-Cloud Lightning!

Yesterday, in a case of extreme irony, real clouds struck back at human clouds when lightning hit a power transformer at the Amazon Elastic Cloud service in Ireland. "Full service recovery may take 24-48 hours", they said. This outage follows by a few months another significant EC2 disruption caused by a configuration update; not that these unfortunate episodes are unique to Amazon. But they do point to the serious cloud computing issue of putting so many eggs in one cloud basket...what are the availability, recovery, and liability requirements for users of large, multitenant cloud services? Clearly we still have a long way to go in this inevitable move to cloud computing. And such incidents imply that at least for now, cloud users may need to implement alternative availability and recovery technologies in order to mitigate the effects of cloud outages.

Monday Jun 13, 2011

The Cloud = Skynet?

The Cloud = Skynet?

Humans tend to attribute magical properties to things they don't understand. Throughout history, this tendency has often resulted in fear of technology, admittedly sometimes justified. Hollywood movies have exploited this fear for decades, creating frightening tales of radiation-induced monsters and maniacal computers. Googling for "Cloud Computing" with "Skynet" yields more than half a million hits, including lengthy discussions of the supposed dangers of computers, the Internet, robots, Google, and the imagined future of cloud computing.

Computing industry luminaries have addressed peoples' unease with rapidly advancing technology, sometimes with a cautionary, warning approach such as Bill Joy's widely read Wired article in April 2000, Why the future doesn't need us, and sometimes positive and optimistic like Ray Kurzweil's The Singularity is Near. I think each of these represent the extremes in thinking about the risks and benefits of technologies such as cloud computing.

The popular assumption often made about the evolution of machine intelligence is that we will create a form of computer consciousness vastly superior in every way to that of humans. But even after decades of research in cognitive science, AI, and brain modeling at such leading centers as the the Krasnow Institute, and the Santa Fe Institute, scientists are a very long way from creating even the simplest simulations of anything we could reasonably call consciousness in large, complex, massively-connected systems [1]. And when they do, very likely they will produce the mental equivalent of a child, and will then have to deal with the issues of how conscious minds learn and grow, how they form opinions, beliefs, and biases, and how they make mistakes, to say nothing of how they self-maintain and self-repair, none of which we yet fully understand. Quite likely, we will not only create a very primitive kind of artificial consciousness, but along with it will come artificial stupidity, credulity, and other imperfections of the human mind.

So, no, the Cloud is not and is very unlikely to ever become Skynet. Nevertheless, I will continue to watch Hollywood's entertaining attempts to excite us with aliens, monsters, and crazy computers, and I will enjoy the dazzling special effects that modern computing enables. If I have any concerns at all, it's with our demonstrated inability to create absolutely reliable systems coupled with our increasing reliance on the Internet and the Cloud. Our complex, technology-dependent society has much more to fear from accidental and intentional connectivity failures and security issues than from any chance that the Cloud will become "self-aware".


[1] And no, IBM's Deep Blue chess-player and Watson Jeopardy-player hardly count as near-conscious entities; they are merely impressively fast and are very good at highly specific tasks like games and analyzing natural language.

Sunday May 15, 2011

Java Gets Cloudy

Most of the books I've seen so far about cloud computing are full of advice, "shoulds" and "shouldn'ts" about cloud concepts and architecture, security recommendations, and policy compliance, but are not much in the "how" department. Of course, there are multiple perspectives from which to view the cloud -- end user, IaaS or PaaS provider, services broker, and, of course, developers. So, how do you actually build "cloud applications"? And what programming languages and APIs should developers use to build them? Well, there are some answers available.

Recently published is Code in the Cloud: Programming the Google App Engine, by Mark C. Chu-Carroll of Google. He starts his book with cloud programming examples written in Python, but then jumps to Java and the Google Web Toolkit, a very useful set of Java class libraries and widgets that generate fast JavaScript-based Web applications.

But that's not all; JCP, the caretakers of the Java technical standards, recently approved the Java EE 7 Platform Java Specification Request which will enable Java EE applications to support the multi-tenant and elastic features required for cloud computing solutions. Oracle's developers and customers, along with those of IBM, Red Hat, and even SAP, are pleased to see the continuing evolution and support of Java technology into "the Cloud".

Hmmm..."Write Once, Run in the Cloud" has a nice ring to it, don't you think?

About

The purpose of this blog is to highlight and to explore general issues around "Cloud Computing" -- its benefits, risks, and component technologies -- and how they are evolving. I'll also periodically comment (of course!) on Oracle's Cloud Computing capabilities, resources, and cloud-related events. -- Harry J Foxwell, PhD, Principal Consultant for Cloud Computing, Oracle Public Sector HW

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today