What Does a Fire Hydrant Have to Do with the Cloud?

It’s been a long, long time since my first post on this blog. Now I have more or less decided what I’m going to post here (and what I’m going to do offline).

What I’m going to post (for everyone to learn)

I have been a fan of the one-and-only Scott Hanselman for some time, and he shares my interest in the cloud business. His blog, Twitter, podcast, and TikTok1 all have the same magical appeal to the broader community: they are audience-friendly. More specifically, people follow his material because he communicates it well and makes it easy to understand (and, of course, because he is so much fun!). As I learn from all kinds of technical material every day, I have started thinking about a major distinction between learning computer technology and learning about other domains: technical concepts can sometimes be difficult to grasp. The deeper reason is that technology is mostly digital, with layers of abstraction separating it from the physical world. Things in the physical world are naturally easier for most people, including me, to understand. I entered the technology field from an engineering field rooted in the physical world. As a chemical engineering PhD student, I dealt with all kinds of tangible things, ranging from tubes and nuts, polluted air, and contaminated water to lab-scale furnaces and factory-scale boilers. Compared with the diverse terminology of the technology world, those physical things were not as difficult to learn. In technology, however, even when well-crafted introductions, tutorials, or videos are available, a meaningful gap often remains for both the general public and professionals like me.

I once promised my parents, who have little knowledge of the technology field, that I would explain my work to them when I was ready. At least on the first day of my current tech job, I could not explain it well. I have thought for a long time about this problem and why it exists in the first place. One sign of the problem is that even explaining what the “cloud” is can be less than straightforward. Of course, you can pour out a ton of other terms and jargon, such as “clusters,” “servers,” and “infrastructure.” But they might wonder: What the heck is a “server”? What the heck is “infrastructure”? They have no way to understand what “infrastructure” means without some level of computer science knowledge or even industry experience. They might joke, “Surely your work in the cloud business doesn’t involve infrastructure like a fire hydrant, right?” It sounds strange, but it is a valid and realistic question.

A physical fire hydrant and water system mapped through analogy to cloud services, networks, and shared infrastructure.
A physical system gives us familiar objects for reasoning about an invisible digital one.

I even believe this is a general problem that affects all of us, professionals and the general public alike. I am having a hard time understanding the recently released cloud-native platform Dapr2, even though I work with cloud infrastructure every day. Overall, every technology begins with innovations that may be built on layers of abstraction. Those abstractions reduce hassles for users, but they also inevitably create a dilemma by introducing longer learning curves for both users and the general public.

Is there a way to fill this gap? I think so. Thinking about the “fire hydrant” example, I believe the key is to use analogies from the physical world to explain those abstractions. In fact, I have a long-standing habit of finding a physical-world counterpart for a technical term that I am trying to understand or teach to an audience. This is not only fun; it also helps cast the idea more deeply into your memory. I believe the connection becomes stronger in your mind because it is closer to an existing memory of something you already understand in the physical world. More importantly, that kind of learning makes you HAPPY.

So I decided to begin a journey (a blog series called “Nothing but cloud” [不知所“云”]) to “translate” the cloud business into physical terms through analogies. I am passionate about helping a general audience, including my parents and family, become more knowledgeable, and I think my background in both physical engineering and the digital world gives me the ability and inclination to make it work. The cloud is fast-evolving and complex, but it is the future of computing. I believe this journey is going to be meaningful both for my readers and for me, by helping me grasp more technologies along the way.

What I’m going to make (for everyone to use)

I have been reading The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution3 since New Year’s Day in 2021, as part of my not-too-serious New Year’s resolution. At this point, I have just finished reading the stories of the feud between Steve Jobs and Bill Gates, and of how Evan Williams created the groundbreaking Blogger. Here are my thoughts and takeaways from those fascinating histories.

I see myself as closer to Jobs in my passion for making user-friendly products than to Gates in my ability to build sophisticated software, such as the Microsoft BASIC compiler. I have always been searching for my own passion, and I find myself more easily agitated by ugly, hard-to-use products, whether software, hardware, or anything else, than by my inability to solve a hard problem or comprehend a complex algorithm. Although I am still a software engineer and love coding, I am not a fan of coding complexity. I am much more interested in making awesome products that attract users. Besides, I am not as intelligent as top geeks like Gates. However, I think I am systematic, user-centered, and drawn to the same simplicity that Jobs brought to Apple products. I have not yet had much time to devote to side projects as some of my colleagues have, but I have tons of ideas and am eager to turn them into code and ship them to the market for examination. So one of my next ambitious pursuits is going to be making a product that everyone loves to use, just as Evan created Blogger as a no-brainer blogging platform. (I have already started coding the project, which I might reveal gradually in future posts. Stay tuned!)

Footnotes

  1. Scott Hanselman’s blog, Twitter, podcast, and TikTok.

  2. Dapr, a cloud-native distributed application runtime.

  3. Walter Isaacson, The Innovators.