If you know me, then you know my love for documentaries. Recently, I watched “Billion Dollar Code,” a documentary by Netflix. The series revolves around the legal battle between two German computer pioneers and Google. Axel Schmidt, Pavel Mayer, and Gerd Grueneis claimed that they were the true creators of the Google Earth algorithm, which bore striking similarities to their own creation called Terravision. During the proceedings, there comes a point where the court needed help from a technical consultant, and Scott Partridge comes into the picture to explain if the two codes are identical. Despite Scott Partridge's deep understanding of technology, he struggled to make the court understand it properly in the common man's language. This disconnect stemmed from the fact that he is a tech guy, and the language he used was heavily technical, which was difficult for someone from a non-tech background to understand. I think that’s a major gap. Technology is always way ahead than law but that's another topic altogether.
When I got into the world of cloud computing, it was the same case for me. I had difficulty understanding and grasping technical words in the beginning. It wasn't just me; it was the same case for many other learners from my batch, even though they were working professionals in the tech world. However, jargon became overwhelming for all of us.
I initially focused on AWS, and there are more than 200+ services provided by AWS alone. The same goes for Azure and GCP. It's not really possible to become "Chatur Ramalingam" and memorize all those 600+ services and their functionalities. I mean, let's consider the fact that each service they provide has a specific name and specific functionality. Another question is: are we going to use all of them when we start designing the cloud architecture? Is it important to memorize all of them if you are preparing for an exam or interview? And is it possible to remember every single step if you don't have GUI Infront of you?
I struggled a lot with all of these questions. It was a big hit on my confidence too. I thought, what if the interviewer asks me something and I don't know about it? I mean, I know I can say "I don't know," but what if I know the service and its functionality, but I don't remember the steps to create a service without having the AWS GUI in front of me? All these thoughts in my head were going on as I prepared for my first interview lined up by my institute. Honestly, I messed up badly. I couldn't say anything. That was the moment something shifted in my mind. I decided to understand cloud computing as a whole.
Enough history! Let’s get into it!
So, what do I mean by cloud computing as a whole? See, AWS, Azure, and GCP, among others, are cloud service providers. They all follow simple cloud computing fundamentals. They all provide services that are similar to one another. Then what's the difference? Everyone's UI is different; and the major difference is pricing. We will have to choose a cloud service provider according to our specific project requirements. This is when I chose an approach to learn in the moment. That helped me as my mind was not so busy thinking about all the services cloud providers provide.
Now let’s take an approach to make the buzzword cloud computing simple from the perspective of a layman.
Once we understand the concept, then it will be easy to understand how the cloud service providers work without getting so overwhelmed by multiple jargons out there. Why? Simple! Because you will understand the functionality of the services they provide and how similar these services are to one another.
First thing's first. Why cloud computing? What problem does it solve? Let’s address that. Because technology is all about problem-solving. That’s the crux of the matter.
The major problem cloud computing solves is scalability and flexibility.
Let me explain in simple words with an example.
Imagine you get an amazing business idea. You go to any IT consulting firm and explain everything. Now, they help you get everything ready to make your business go live on the internet. That includes getting a website or app ready and setting a server in their data center, charging you according to your requirement, and then you are live. Now you want to run a sale or just do some marketing activity, and you go to your IT consulting firm and tell them this. They tell you that the hardware you originally used is not going to be enough and you have to increase the capacity. What's happening here is first you need to buy new hardware and then set everything up. Problem associated with this approach are below.
Problem 1: It takes time.
Problem 2: Additional expenditure.
Problem 3: You might not need those resources in the future, but you will still have to maintain them, again additional expenditure.
Problem 4: As of now, you don't have a clue how much resources you are going to need, so you will either over-provision or under-provision.
Now comes cloud computing. If you choose any cloud provider to fulfill your need of the hour, then all of the above problems are solved.
Problem 1: Solution - In the cloud, you can spin the resources in very little time. So, you save the time.
Problem 2: Solution - No upfront expenditure as the cloud provides pay-as-you-go functionality.
Problem 3: Solution - As you are not buying anything upfront, so no Maintenance.
Problem 4: Solution - No over or under-provisioning of resources as you can easily spin the resources automatically whenever there is a spike in traffic.
Isn't that amazing?
I recommend you read the story of Flipkart’s Big Billion Sale for a better understanding of real-time problems. You will get grasp of what I explained above.
Now we come to obvious question. What is the cloud?
In layman’s language, let’s say it's a one giant computer located somewhere on planet earth (Datacenter), and you can use a part of it as per your requirement. How? Just create an account on any cloud service provider, and you can use the Resources. It's that simple. Obviously, you will have to pay to use those resources, but you are only paying for the resources that you are using. And how cool is that you are now able to use anything you want just with one click and from a small laptop that you own. No matter what kind of machine or service you need it's available there with a cloud provider, and you can spin it in seconds.
Every service in cloud computing is like a small computer itself that you can access virtually with login id and password. You can configure it as you like according to your specific needs.
Let me clarify with an example.
Let's say you have something on your computer but it's a huge file and if you save that file on your computer then it will become very slow. Now you think of buying a hard drive to save it there, but you don't have that much money as of now to buy a new hard drive. How can the cloud help you with this problem? With AWS cloud, there is a service called S3. Similar service is available with azure and GCP ass well just the name is different. You open the account on cloud service provider and simply save your files over there and pay the bill at the end of the billing cycle. It's like paying the rent at the end of the month for renting an apartment.
Any cloud platform delivers compute resources across the internet, and we can access much larger amounts of resources, such as memory or computing power, than we could ever build into a single local server or laptop. Scale up (adding resources) or scale down (cutting down on resources) as and whenever needed, which we typically call “on-demand”.
I hope that helped someone out there. Now, this article will become very long if I add any more information. We all know our brain can only process so much information at once. So, let's end it here, but in upcoming articles, I will be writing more about fascinating cloud computing world.
So, for that and more let’s stay connected.
They say the audience is always smarter than the creator. I would really appreciate it if you had any feedback.
0 Comments