History of Cloud Computing

May 02, 2022

In this video, we'll recall the history of cloud computing and outline how it has transformed information technology.

In our first course for this video, we'll provide an overview of the history of cloud computing in terms of its development, along with some of the ways by which cloud services have transformed the world of information technology. So to begin, we actually have to go back quite a bit to the days of mainframes and computers that took up entire rooms to store.

Despite their massive size, of course, the computing power of any given system back then could be outdone by your mobile phone of today. Plus, those systems were designed to work on only a single task at a time with input from a single user.

So in the early 1960s, the Defense Advanced Research Projects Agency, or DARPA, tasked the Massachusetts Institute of Technology to develop a computer that could be used by multiple people simultaneously. Now, this was hardly the advent of cloud computing as we know it today, and those who were imagining the longer term capabilities of these advancements, were more so envisioning the advent of the Internet rather than the specifics of cloud services.

But this did establish the use of the term virtualization, which also doesn't exactly match its current context, but it laid the groundwork for multi-user environments where each user accesses the same centralized system or service, which is effectively how we use cloud services today.

From there, we jump to the 1970s when International Business Machines or IBM developed and introduced the first real instance of virtualization, meaning that multiple software-based instances of servers could all run on the same set of physical hardware.

Again, this implementation didn't really match what we see as virtualization today because the VM operating system platform was still based on mainframes, but it allowed for separate and distinct instances of operating environments to be run simultaneously on the same physical hardware, which is still exactly how we use virtualization today. It's just significantly easier to create and use new virtual machines using the modern applications of today.

With the foundations laid, most of the 1980s and early 90s were focused on the personal computer and the development of the Internet. But by the late 1990s, cloud computing as we know it today was starting to take shape with most of the earlier implementations being software that could be purchased online, as opposed to having to buy package software from a vendor.

Now, in most cases, the software itself still had to be installed onto a local device in the same way you might install software from a CD or a DVD, but it allowed anyone with Internet access to purchase and download it from anywhere, at any time, with no physical media required.

In other words, a centralized source of information was now available to users, and once all users had the application installed, in many cases they could all connect to a centralized server or service such as a shared database, so that if one user entered a record, that record was available to all other users. Now, that was nothing new in terms of being in a local area network, but that centralized source of information in a LAN was simply one of your own servers managed by your administration.

With this new type of implementation, the centralized data source was on the Internet, managed by an entirely separate entity. A very popular example at the time was Salesforce, whereby each user could access the same database of clients, contacts, sales leads and other information, which in turn facilitated much better communication and collaboration among team members and their customers.

By the 2000s, we start to see some of the major cloud providers of today emerging, such as Amazon Web Services, with some of their early services including storage and computation, such as the ability for clients to create and use their own virtual machines in an online environment.

Around the same time, Google launched its Google Docs and Google Spreadsheets services, both of which allow users to create standard user documents and or spreadsheets, that were compatible with popular formats such as Microsoft Word and Excel, all with no local software required other than a browser. Then in early 2010, Microsoft officially entered the scene with the release of Azure, with a varying array of services, including storage, computation services such as virtual machine, virtual networks and content delivery networks for distributing and placing web-based content as close to the consumers as possible, just to name a few.

Now, obviously that's a very brief and high-level overview of how cloud services developed, but that development was not limited to very large scale companies such as IBM, Amazon and Microsoft.

In fact, the general idea of cloud services, as they are today, developed around the fact that these very large companies needed to develop very robust implementations just to support their own services, which they quickly realized could be scaled up in an almost limitless manner, so that by the time most solutions were fully implemented, they were only being used to about 10 to 15% of their capacity. So why not make use of the remaining resources by making them available to the general public?

This is almost exactly what we see in what's known as the public cloud. A provider, quite simply, implements all the necessary infrastructure to support just about any technology, and they will most certainly use some of that infrastructure to support their own business operations, which of course, in most cases these days is just that data center itself.

But the rest of those unused resources is then made available to the public on a subscription basis, and accessed over the Internet. Similarly, many other organizations found themselves in the same situation. They would implement rather robust solutions to support their own business needs by creating a centralized data center.

But then, if perhaps a smaller branch office was opened, rather than outfit that branch with its own infrastructure, they simply made some of the infrastructure of the primary data center available to the branch office in exactly the same manner as a public cloud, except that these services are limited to just that branch office; they aren't offered to the general public. This configuration is what we now refer to as a private cloud.

The structure of the model is essentially the same, but those extra resources, if you will, are not made available to anyone outside of the organization. And the services of the primary data center might be accessed by the branch office over a dedicated WAN connection as opposed to the Internet.

But in either case, the branch office is still using the infrastructure of a separate provider. It's just all implemented and maintained within the confines of the organization in a private cloud. Now, for some organizations, they may actually combine the best of both worlds, so to speak, in what's known as a hybrid cloud configuration.

To illustrate this, let's go back to the example of the private cloud just mentioned. We started with a single data center where all infrastructure was implemented, then we added in the branch office who made use of the existing infrastructure of the primary data center in an entirely private manner. So that's all well and good, but now let's imagine that the organization wants to expand even more and open several branch offices.

The existing infrastructure of the single primary data center simply may not have the means to support all of the new branch offices so their own infrastructure can be augmented by adding standard public cloud services. So these new branch offices still do not need any local infrastructure, but their services are supplied either directly by a public provider or the primary data center implements and manages the new services from the public provider in the primary data center, but then still offers them out to the branch offices in a private manner.

But that new infrastructure is still coming from a public provider, hence, you're now using both in a hybrid configuration. So while cloud services may have evolved from relatively simple principles of developing multi-user computing models, the eventual result is a model that has revolutionized the way by which technology can be used.

A new business just getting started can offer services that rival any major or well-established business without needing any local infrastructure at all.

Businesses that have implemented their own infrastructure can expand their service offerings without having to implement anything new, or decommissioning existing services to support the new solutions. And those new solutions for any organization can be created in a matter of hours instead of weeks or even months, because all of the necessary resources are already in place at the cloud provider, ready to be used at any time. And all of these new services are available to anyone, from anywhere, on any device, as long as there is Internet access. So clearly a fundamental shift in technology has been realized with the advent of cloud services.