Skip to main content

Command Palette

Search for a command to run...

Understanding AWS by Understanding the Problem it Fixed

Updated
8 min read
Understanding AWS by Understanding the Problem it Fixed

Most people jump straight into AWS services and get lost. What actually helped me was going one step back understanding the problem that made cloud necessary in the first place.

The old way — buying servers

So if you go back 15 to 20 years, what organizations used to do is they used to go to IBM or HP or any other server providers and say "I want 15 to 20 servers." They would bring those servers back and create what is called a data center , a place where all the servers are stored and all the configurations are done.

For a data center you need to connect a lot of wires, create your own network, make sure the servers are well equipped, and maintain the right temperature for the servers. This was the setup most organizations had.

But the problem with this is, let's say you bought 15 servers. On each server you'd deploy one application and expose it to your customers. Now these servers are very costly and they come with a huge configuration. One server can be 100 GB RAM and 100 CPU. But if your application is only using 1 GB RAM and 1 CPU, all the other 99 CPU and 99 GB of RAM is just wasted. And if tomorrow you have one more application, you go buy one more server. Your company is just burning money.

The fix — virtualization

To solve this problem, a concept called virtualization was introduced. Instead of deploying one application per physical server, virtualization lets you create virtual servers on top of that actual server. Each virtual server can run its own application. So instead of buying 15 servers, you buy one server with the required configuration and deploy all 15 applications on it.

Think of it this way, you have one actual physical server, and on top of it you create virtual layers. Each virtual layer behaves like its own independent server.

Now once you have this, what happens is you can create a virtual machine in any part of the world and share it with other people. Say your organization is in the US and India, as a DevOps engineer, if a developer requests five virtual machines to deploy their applications, I can create those five virtual machines and share the IP addresses. The developer doesn't know where exactly those servers are, but they'll keep using them. That's why this concept is called cloud, it's all interconnected and you don't know where those resources actually are, but you're still using them.

Private cloud

When all of this is happening within your own organization, you're managing it, you're maintaining it, and no one outside your organization can access it that is called a private cloud. It's private because it's within the boundaries of your organization.

Even today, companies in the banking sector or any company dealing with very sensitive information prefer private cloud. They buy their own servers, create their own data centers, and use platforms like OpenStack or VMware to set this up.

Public cloud and the opportunity Amazon saw

Now here's where it gets interesting. What Amazon, Microsoft, and Google saw was an opportunity. For a startup to do all of this, get a data center, hire people to manage it, handle the wiring, temperature control, network setup, it's very difficult. And even for mid-scale or large-scale organizations, this setup just keeps growing. You start with 15 servers, then 20, then 200, then 2000. To maintain 2000 servers you need a whole separate team that works 24x7, continuously upgrading, patching, and securing everything.

So AWS said: "Don't bother about all of this. We will buy the servers. We will create this infrastructure across multiple places in the world. Whenever anyone requests a virtual machine, if they have an account with us, we'll give it to them."
You can even say where you want it India, the US, Europe and they'll give you a virtual machine there. But you don't have to worry about where exactly it is or what's happening underneath.

This is called public cloud. It's public because anybody in the world who has an account with AWS, Azure, or GCP irrespective of their organization can create instances. That's the key difference from private cloud.

In private cloud your organization is managing and maintaining the entire cloud platform. In public cloud providers like Amazon, Microsoft, and Google manage the data centers and the entire ecosystem. You have complete control over what you create, but they're the ones providing the resources.

Everybody thinks the main reason companies moved to public cloud is cost. But that is not the first reason. The real reason is getting rid of the maintenance overhead.

Think about it if you are a startup with 50 or 100 people and you have to build your own data center, you are not just buying servers. You are handling network configuration, security, power backup, cooling systems, and on top of that you need dedicated, proficient people managing all of this 24x7. That is easily 10 to 15 people whose entire job is just keeping the lights on. For a startup, that is a massive overhead.

Public cloud removes all of that. You create an account, your team logs in, and you start creating resources. That simplicity is what made startups and mid-scale companies fall in love with it. And since it is pay as yougo, you only pay for what you actually use, there is no upfront investment in hardware sitting idle.

Over time, AWS did something very smart. They started with 20–30 services and kept watching the market. Whenever a technology became popular, they wrapped it into a managed service. Kubernetes is a great example setting it up yourself is genuinely complicated.
AWS said: just tell us how many nodes you need, we will handle the rest. That is EKS. The same pattern now applies to AI, running AI workloads requires expensive GPUs and massive compute that no startup can afford to own. AWS just made that available on demand too.

Why AWS specifically?

AWS, Azure, and GCP are the three main cloud platforms. But why is AWS the most popular?

The answer is first-mover advantage. AWS is the pioneer of cloud. They are the ones who looked at this opportunity, built the concept, and launched it first. So many companies that started their cloud journey 10 to 12 years ago started with AWS and once you're on AWS and you like it, you stay with it.

That first-mover advantage turned into the largest market share. AWS leads, Azure is second, GCP is third. And from a job perspective more companies using AWS means more job openings that ask for AWS knowledge. That's the most practical reason to learn it first.

That said, the core concepts of cloud are more or less the same across all platforms. The difference is mainly in naming and how things are done. The user experience differs and some things work slightly differently, but the ground-level thinking is the same. If you learn one well, picking up another isn't starting from zero.

People started moving back to private cloud but here's the truth

So I also came across this term called cloud repatriation. People initially started with private cloud, moved to public cloud, and now some are coming back to their own on-premises data centers. Moving from public cloud back to private cloud is what is called cloud repatriation.

This is true. But the percentage of users actually doing this is very, very less somewhere around 1% to 2%, maybe even less than that. The reasons vary: some had security concerns, some were not getting the cost optimization they expected, and some felt they were not getting a real advantage from moving to public cloud. So they decided to move back.

But the number of people onboarding onto public cloud will keep on growing because startups and mid-scale companies cannot afford a data center. Not just in terms of money, but also in terms of the entire setup and maintenance. Those two are the major factors that keep pushing more and more people towards public cloud.

So no, it's absolutely the right time to be learning this.

The biggest takeaway for me was that AWS didn't appear out of nowhere it exists because there was a very real, very costly problem that organizations were struggling with. Understanding that problem first made the whole concept of cloud feel obvious rather than abstract.

Next step: set up an AWS account and start working with actual services.