Issue #22: The Cloud

Somebody Else’s Computer As A Service

In November 12, 1990, a 35 year-old Bill Gates introduced his “Information at your Fingertips” concept during his keynote at COMDEX. The PC, he said, would become “more personal,” integrating “fax, voice and electronic mail,” and providing “easy access to a broad range of information.” More or less at the same time, Tim Berners-Lee was giving the final touches to the first web browser and web server software ever put in production. Bill Gates was right; as any Internet user can easily confirm 30 years later, PCs become much more interesting when you connect them to other computers. Or, as they call it, “The Cloud.”

More crunchy anecdotes about Bill Gates; his 1995 book “The Road Ahead” contained almost no reference to the World Wide Web. Make no mistake, he quickly caught up and merely three years later his Internet Explorer ate Netscape for breakfast, becoming a nighmarish standard for the following 12 years.

The Browser is the window that allows you to peek into The Cloud. How appropriate to name your operating system “Windows” then. Marketing genius at work.

But browsers talk HTTP, and HTTP sits on top of TCP/IP; let’s remind ourselves that back in the 80s not everybody agreed in a protocol to make computers talk to each other. Standardisation took some time. During the 70s and the 80s, then, each vendor had its own “Cloud” computing platform, absolutely and completely incompatible with one another. IBM created OS/360, which later begat The Mythical Man Month and z/OS. The Mainframe and the terminals. The Cloud, as conceived in 1965.

Where does this phrase “The Cloud” come from? The origins of the word are shrouded in mystery. Legend has it that the symbol used in network diagrams begat the name; others tried to claim the trademark “cloud computing” somewhere in the 90s; others say Compaq came up with the idea. The origin matters not, for the writing was on the wall: the PC was going to evolve into the window to a larger world, a network.

“The Network is the Computer®™” said John Gage from Sun in the 80’s. Yes, ® and ™. Because this phrase has been recently trademarked again by Cloudflare, because it is still valid, it is still relevant, and actually not much has changed in 35 years. (And Oracle’s lawyers must be really busy suing Google, to have missed the opportunity to renew the trademark of such an iconic phrase!)

The Cloud is that which continuously changes shape, moves from place to place, sometimes disappear and sometimes blocks the light of the sun. Not as radically as Eclipse would, but still.

It is a very religious thing. Businesses swear by it, developers can invoke it, pray for things to happen, and receive messages from it. I am surprised the church has not yet assigned a saint to our profession.

Before the PC, legend has it that computers were huge and expensive and occupied whole rooms. Users would log in to those behemoths from small VT100 terminals, and run programs written in FORTRAN and COBOL. The output would come as a long paper trail out of a dot matrix printer.

After the PC, legend has it that data centers were huge and expensive and occupied whole rooms. Users would log in to those behemoths from small “Post PC” devices or “PC Plus” devices (the names matter not), and run programs written in PHP, Go, JavaScript, Java, C#, or whatever you can fit inside a Docker container. The output would be stored in a database, in a PDF file, or sent as a push notification to one of the aforementioned devices.

At the time of this writing, you can get free access to a mainframe running COBOL on z/OS following this link. You can then open up your copy of Visual Studio Code, add a few plugins, and voilà! You can start coding COBOL programs. Then you can submit those batch jobs to the mainframe, and they will be executed in the mainframe. Thanks to Visual Studio Code, you can even (shock!) debug your programs and inspect the state of the variables.

At the time of this writing, you can get free access to a cloud provider such as AWS. You can then open up your copy of Visual Studio Code, add a few plugins, and voilà! You can start coding in pretty much any language that can be bundled in a Docker container. kubectl apply those containers into your nearest Kubernetes cluster, and they will be executed in the cloud. Thanks to Visual Studio Code, you can even (shock!) debug your programs and inspect the state of the variables.

What has changed is the availability of small and cheap terminals occupying whole pockets. Programs running in The Cloud inside some virtualization solution. All based upon SaaS, itself based on PaaS, itself based on IaaS, and so forth until the end of the abstraction layer stack. Maybe there are also a few more unit tests somewhere than there used to be in 1974, but I would not hold my breath. There are definitely more standup and retrospective meetings, that is for sure.

Oh, and God forbid, you can go “serverless” now, whatever that means.

What has not changed in 50 years is the fact we are still using centralized architectures, prone to government intrusion and privacy leaks. Maybe it is time to think about a “Post Cloud” era (or a “Cloud Plus” era?) where information is distributed instead of centralized. Of course this raises questions of trust, cryptography, security and collaboration, but the technology to build such systems already exists. It is more of a question of policy and education than of technology. It is actually a question of sustainability and protection of the environment, too.

We need decentralized systems; based on peer-to-peer algorithms, using distributed keys for security and free from corporate and government snooping. Because the big idea of the ARPAnet, as conceived by the US Department of Defense during the Cold War, was precisely to create a distributed system thanks to packet switching, resilient to nuclear weapon attacks. We have forgotten the core ideas behind the Internet. It is time to bring them back.

A word before ending this article. Since its inception, articles in this magazine use pictures from Unsplash as illustrations. This one is no exception, but it is interesting for a different fact: it is labeled with the words “white Macintosh computer”. Take a good look at it; this is no Mac, it is an IBM PC 5150, the eponymous PC, the one that represents nothing more than a hiccup between two incarnations of the same idea.

Cover photo by bert sz on Unsplash.

Adrian Kosmaczewski is a software consultant and evangelist. He is a published writer, trainer and speaker. He holds a Master's degree from the University of Liverpool.