“The Internet is in the cloud,” “we’ve migrated our services to the cloud,” “cloud computing,” could it be that the entire IT industry is so much into meteorology? What’s the deal with the cloud? What does Amazon have to do with the cloud? Let’s take a look at it and try to explain it, in simple words of course.
What does the Internet consist of?
Let’s start from the very begging. What is really needed to make “the internet work”? We can divide all the elements into “hardware” and “software” categories. Hardware is anything physical, tangible. This category includes our laptops and smartphones (because something has to “display” this internet), switches, routers (which make you connect your laptop to wifi or wired internet), fiber optics, LTE transmitters (which gives you the ability to connect with people on the other side of the world), servers (these are those very specific computers on which we run the “software” needed for the internet services). The second category, “software,” includes things like web browsers, mobile apps (thanks to them you don’t have to read a string of ones and zeros but a content has a human-pleasing, graphical form), software from routers and network operators (which guarantees that traffic is safe, stable and ensures we get exactly the content we asked for) and servers (yes, the term “server” is dualistic, sometimes describes a physical computer and sometimes a piece of software) databases, queues, operating systems and much more (basically, everything that makes it possible for more than 2 billion people to use Instagram simultaneously around the world, seamlessly and securely). In short, “hardware” is everything physical that actually makes it possible for an Internet signal (a string of zeros and ones) to flow from one end of the world to the other. “Software” is everything you can’t physically touch nor see but is responsible for making machines (“hardware”) do what they’re supposed to do.
As you can see, there is a lot of bits and pieces. I know it can be confusing. Let’s try a similar example from the non-virtual world. You just ordered the trendiest t-shirt of the season at Zalando. To get your package, you need “hardware” such as: a warehouse, a forklift, a truck, a highway, perhaps a ship, an airplane, a port, an airport, a railroad, further: a sorting office, a ramp, a cardboard box, an adhesive tape, a label printer and so on you can list endlessly….. However, the existence of a Zalando warehouse and a direct road connection to your home will not make the package “by itself” reach you. You need “software”, in our case you can think about is as a: warehouseman, packer, driver, courier, sorting room employee, people who manage the ordering system, not to mention people who do things necessary for the operation of the various stages (warehouse, transport, sorting room) and are not physically involved in the delivery itself, such as: managers, security, HR employees and so on…. Your stylish look for the upcoming season requires work of dozens, if not hundreds of people!
It’s the same with the Internet… It requires a lot of little building blocks which only tied together make it possible to upload pictures of cats quickly and efficiently which is obviously one of most important internet features!
Short history lesson
Let’s take a short trip back in time, as you can imagine, the Internet didn’t start with clouds! Understanding how it used to be will help us understand why clouds are trending. Once upon a time, all hardware was nothing more than a simple PC, often set under a desk, connected to the Internet. This is completely enough to serve a simple website on the Internet. Of course, that computer must have the appropriate software installed and the Internet connection must provide a static IP address, but these are technical details, let’s skip them for now. For a simple website, one of those we saw in the early days of the Internet (1990s), all you really need is an operating system and a server (the software one).
Why under desk PC is not enough?
Well, now let’s consider what are the problems generated by the “computer under the desk”. Let’s start with something simple. Imagine that due to a storm, the there is power outage in the area – no power, no website. Imagine that your internet provider has an outage – no internet, no website. Imagine that your dog, cat or rabbit bite off the cable under your desk – no proper wiring, no website. Such examples can be multiplied infinitely.
Let’s go further, the world is changing, technology is evolving, a static website, which just “displays a document” is no longer enough, you need more software: databases, a programming language interpreter, a proper security system, a queuing system, an email server and much, much more to build a modern website. The amount of software needed means that our “computer under the desk” would have to be of a slightly higher class.
Let’s go even further, suppose your website is a huge success. Millions of people visits it. One computer simply cannot handle such traffic. You need a second, twin machine and “something” that will route some people to use the site on computer A and some to use the site on computer B. It starts to get complicated, doesn’t it?
This is not the end of the journey, let’s go further…. Because of your spectacular success, you have are a hackers target. You have to put a lot of effort into security. One of the basic security rule is to keep your software (servers, operating systems, databases, etc.) up to date. So you spend few hours every week checking whether each of your system components released an update, and you manually install the latest version on each of the machines under your desk. Oh, did I mention that often software update cause software downtime? No? Well, in order to provide highest service availability, you need … more servers….
Already have headache because of the number of elements you have to worry about? Let me mention about just one more element. By the huge success you’ve had, you already have, let’s say, 5 computers where you host your services. Just like any other device, computers also breaks down from time to time. Sometimes you need to replace a cable, sometimes you need to replace a graphic card. Obviously, first you need to diagnose the issue. Oh, I forgot, have you ever thought how much heat will generate 5 large workstations under your desk, air conditioning would be useful… And finally, your hard drive broke down, just to clarify, hard drive is the element which physically stores all your data, software, customer data, service content, etc. You made regular backups and stored them in a safe place, on physical storages (disks, flash drives, whatever), right ?
We could go like this endlessly. Keeping your hardware and software is a good shape brings a lot of challenges. That’s why some companies are happy to take over significant part of this process.
So… How the cloud looks like?
Okay, so how does the cloud look like? Here’s an example, from the outside:

And from the inside:

source: https://www.aboutamazon.com/news/aws/aws-data-center-inside
As you can see, clouds are huge industrial spaces with countless cables, computers, switches and other network equipment. It’s just the hardware part which solves the problems we mentioned earlier, i.e. the correct hardware availability, maintaining appropriate device temperature, power supply continuity, stable Internet connection, replacing damaged infrastructure components, physical security and so on. We don’t have to worry about all this, the “cloud provider” will do all this for us.
But! I mentioned earlier that we need software as well. All the big players provide comprehensive services in this regard as well. At the end of 2023, each of the major cloud providers (Amazon Web Services, Google Cloud Platform, Microsoft Azure) offered over 200 “services” available in their cloud solutions. This long list includes a whole set of solutions: servers, infrastructure management, databases, notification systems, emailing, off-the-shelf artificial intelligence solutions and much more. Using 3rd party solutions takes off our shoulders some of the responsibilities mentioned earlier, like keeping software in the latest versions, choosing the right software vendor, software license legal limitations, integrating tools from different vendors, software scaling challenges, and so on.
So if everything is ready to use in the cloud, you may be wondering, is a software engineering just about using off-the-shelf components these days ? Not really. The cloud solves a significant part of our problems with infrastructure, so we just have a platform to run our “programs” (websites) on. We still have to create the content and logic ourselves, those are things which really brings value at our portals. Sound confusing? Let’s try an example from the real world. Imagine organizing an auction, Hollywood style auction, you know, like an ebay.com on steroids in the real world. A few pieces of art, some jewelry maybe a yacht… or a few yachts if we are successful… You need a hall, some staff, security, a transportation company and probably a few other elements. I’ve never organized an exclusive auction, but I’m willing to bet that these elements are more likely to be rented out or fully outsourced to specialized companies. However, the organizer has still mass of tasks to handle. You have to obtain exhibits, invite guests, conduct valuations, expertise, take care of the order of the auction. In a word, you have to do “auction-stuff.” It’s the same with the cloud, you delegate the part of IT that is standard, repetitive, the part which is “around” your business, while the part that is actually unique, you still have build yourself.
Amazon is a great example. Their sales platform, was growing so fast that they had to spend more time on infrastructure stuff than on developing sales platform. They decided to do a tiny revolution, to separate all the infrastructure related stuff from software development. They built a cloud for their own needs. The solution was so successful, they decided to make it publicly available. That’s how, in a nutshell, Amazon Web Services was born – one of the world’s most popular clouds.
Of course, like any tool, the cloud is not a silver bullet. We still need specialists who can orchestrate cloud solutions properly, we still need to know how to configure them properly, we still need to understand “how it works” and which solutions should be applied to particular problems. And most importantly, nothing is free – the price. If you are wondering “how much does it cost” then unfortunately I have to disappoint you – there is no simple answer. If you want to experiment and have a hands on experience on how it works, cloud providers (probably all of them) are happy to give you a free trial, so you can see how it works behind the scenes and decide whether this solution suits you well. If you’re a large enterprise with millions of customers a day, operates worldwide, with very high-tech then in terms of cost “sky is the limit.” However, millions of dollars can still be an attractive price for amount of work taken off our shoulders.
Isn’t there anything in between?
If you’re wondering if there are only two options: your own server room (“computers under the desk” just more professional) or a huge cloud provider – the answer is: no. There is a bunch of solutions that are somewhere in between. It all depends on what you need. If you want to set up a simple blog or online store and don’t want to deal with the whole “technological stuff”, you just want to write or sell stuff, there is a lot of services that gives you exactly what you need, ready-to-launch stores or blogs – just start writing and add products. Perhaps you are an engineer who wants to play with software but doesn’t want to worry about hardware? Choose a VPS (Virtual Private Server), which is nothing more than a dedicated computer, where you have remote access. There are plenty of such solutions. A few popular ones are: ovhcloud.com, digitalocean.com or shopify.com.
Typically, „templates solutions” will be cheaper than general purposes solutions like AWS, GCP or Azure. Hence their continued popularity. They are also an excellent alternative for individuals or small businesses who do not want to hire software engineers to handle all the “technology stuff”. Sometimes such solutions are simply more convenient. This blog, for example, does not stand on a powerful cloud at all and was not built from scratch. Despite having the necessary knowledge and experience, I opted for a off-the-shelf solution, where all I have to do is choose nice looking template and start writing content. It’s just easier, faster and cheaper!