<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ANSWERING THE WHY]]></title><description><![CDATA[ANSWERING THE WHY]]></description><link>https://oli-blog.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/673349b5d9816cf40d2c190f/b33a8630-516d-4a28-a859-60d3723312ca.jpg</url><title>ANSWERING THE WHY</title><link>https://oli-blog.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Mon, 26 Oct 2026 16:11:42 GMT</lastBuildDate><atom:link href="https://oli-blog.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[IAM: Who Gets In, and What Can They Do?]]></title><description><![CDATA[Imagine a new intern joins a company on Monday. Should they be able to delete the production database, even by accident? Of course not. So how does a…]]></description><link>https://oli-blog.hashnode.dev/iam-who-gets-in-and-what-can-they-do</link><guid isPermaLink="true">https://oli-blog.hashnode.dev/iam-who-gets-in-and-what-can-they-do</guid><dc:creator><![CDATA[Jyoti Oli]]></dc:creator><pubDate>Wed, 21 Oct 2026 08:19:17 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/673349b5d9816cf40d2c190f/9e3a4405-e379-4e8a-9724-610ebff9bb43.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this article, we will talk about IAM and everything I have learned about it so far. AWS provides us with numerous services, and IAM is one of the most important ones.<br />IAM stands for Identity and Access Management. It answers two questions: who is entering our AWS account, and what permissions do they have? In short, authentication comes first (who are you?), then authorisation (what are you allowed to do?). It is a major part of the checklist for our cloud security.<br />Think of it like your apartment guard. He checks who you are and whether you are allowed to enter. If yes, then he decides what access you have.</p>
<p>For interviews, we can say: "<em>IAM is an AWS service that helps with authentication and authorisation of users, or anyone accessing our AWS account and resources.</em>"</p>
<p>We all know about the root user, who has ultimate power and can go anywhere in our account. But if someone new joins your organisation, you don't want this newbie to have all that access. (Tip: protect the root user with <strong>MFA</strong> and don't use it for daily work.)<br />Let's suppose this newbie is a junior developer, just like our intern. We want him/her to only read and modify code, not delete existing code. This is where IAM helps. It comes with different building blocks: IAM users, IAM groups and IAM roles, and through them we can provide specific IAM policies and permissions. Let's see where he/she fits best.<br /><strong>IAM user</strong>: an identity for a person or an application, with long-term credentials such as a password or access keys.</p>
<p><strong>IAM group</strong>: used when specific people belong to the same team and need the same permissions. Rather than attaching policies to each person's account separately, we add them to an existing group or create a new one.</p>
<p><strong>IAM role</strong>: meant for temporary access, with temporary credentials. A user, an AWS service or another account can assume the role for a limited time.<br />In short, a user is one identity with long-term credentials, while a role is temporary access that anyone or anything can assume.</p>
<p><strong>IAM policy</strong>: a JSON document that grants or denies permissions. Policies are attached to IAM identities (users, groups or roles).</p>
<p><strong>IAM permissions</strong>: the API actions that can or cannot be performed. They are written inside the IAM policy document.</p>
<p>Now we know all the categories, so our newbie can be added to an IAM group that has predefined policies and permissions.<br />Benefits of IAM<br />Improves security and reduces the risk of attacks and accidental damage.<br />More specific control, and easier to manage in the long term.<br />So, back to our question: the intern goes into a group that can read and modify code but cannot delete it. Even if they click the wrong button, the production database stays safe. This is called the principle of <strong>least privilege</strong>: give only the access a person needs to do their job.<br />We have come to the end of this article, and I hope you learned something and enjoyed it. Do share and support my writing. 😊<br />Next, we will learn about EC2.</p>
]]></content:encoded></item><item><title><![CDATA[If AWS, Azure, and Google Cloud all do similar things, why does everyone keep arguing about "which cloud is best"?]]></title><description><![CDATA[The honest answer: there's no single best. They differ in pricing, number of services, regions, and the tools they work well with. So the real question is…]]></description><link>https://oli-blog.hashnode.dev/if-aws-azure-and-google-cloud-all-do-similar-things-why-does-everyone-keep-arguing-about-which-cloud-is-best</link><guid isPermaLink="true">https://oli-blog.hashnode.dev/if-aws-azure-and-google-cloud-all-do-similar-things-why-does-everyone-keep-arguing-about-which-cloud-is-best</guid><dc:creator><![CDATA[Jyoti Oli]]></dc:creator><pubDate>Wed, 14 Oct 2026 05:48:23 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/673349b5d9816cf40d2c190f/36e3a0e9-efd8-45e2-8d3a-1325416d24e4.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The honest answer: there's no single best. They differ in pricing, number of services, regions, and the tools they work well with. So the real question is "which one is suitable for us?"</p>
<p>Our previous articles showed why the cloud and its services matter. But when everything on the internet sounds so similar, how do we pick what fits? That's where deployment models come in. Broadly, we classify them into 4 categories:</p>
<ol>
<li><p><strong>Private Cloud</strong> : The infrastructure is used by only one organization. We either manage it ourselves or set up the whole thing on our own, in our own data center or hosted privately. It's like owning a house: full control and privacy, but you pay for and maintain everything. Good for: banks and organizations with strict security rules Trade-off: high setup cost and you need a skilled team Examples: Red Hat OpenStack, VMware vSphere</p>
</li>
<li><p><strong>Public Cloud</strong> : Services are provided to us over the internet by big companies like Google, IBM, Microsoft, and Amazon. We don't own the hardware. We use what we need and pay only for that, like renting. Good for: startups, students, and businesses that want to start fast without big upfront costs Trade-off: less control over the underlying infrastructure Examples: AWS, Microsoft Azure, Google Cloud, IBM Cloud This is the model most of us work on, and it's the one we'll focus on.</p>
</li>
<li><p><strong>Hybrid Cloud :</strong> A mix of private and public. A company can keep sensitive customer data in its private cloud and run its website on the public cloud, so it gets security and flexibility. When traffic suddenly spikes, it can also borrow extra capacity from the public side. Examples: AWS Outposts, Azure Arc</p>
</li>
<li><p><strong>Community Cloud</strong> : Shared by several organizations with common needs, such as government departments or hospitals with the same security and compliance rules. They share the infrastructure and the cost. Example: government-focused clouds like AWS GovCloud (US) are often given as examples</p>
</li>
</ol>
<p>Now that we have a solid understanding of these distinct deployment models, in my upcoming articles we will dive deep into learning about the Public Cloud, specifically focusing on AWS services.</p>
<p>We will explore exactly how it actually all works behind the scenes. Yeah, I am very excited let's go!🌸😊</p>
]]></content:encoded></item><item><title><![CDATA[How One Server Acts as Multiple Users on Your Laptop💻]]></title><description><![CDATA[Imagine checking into a massive, luxurious hotel. The building has one main water supply, one electrical grid, and one foundation, but every room feels…]]></description><link>https://oli-blog.hashnode.dev/how-one-server-acts-as-multiple-users-on-your-laptop</link><guid isPermaLink="true">https://oli-blog.hashnode.dev/how-one-server-acts-as-multiple-users-on-your-laptop</guid><dc:creator><![CDATA[Jyoti Oli]]></dc:creator><pubDate>Mon, 05 Oct 2026 17:11:03 GMT</pubDate><content:encoded><![CDATA[<p>Imagine checking into a massive, luxurious hotel. The building has one main water supply, one electrical grid, and one foundation, but every room feels entirely private. You have your own space, your own lock, and your own thermostat. You don't realize you are sharing the building's core resources because your room acts as an isolated bubble.​This is exactly how virtualization works in cloud computing.​But how does this actually work, Let's break it down.</p>
<p><strong>What is Virtualization?</strong><br />​In the early days of computing, the rule was simple: one physical server ran one operating system (OS), which ran one set of applications. If you needed a server for your website and another for your email, you had to buy two physical boxes. It was expensive, took up a lot of space, and was incredibly inefficient. Most servers only used about 10% to 15% of their actual computing power, leaving the rest wasted.<br />​Virtualization changed the game. It is a software technology that separates the physical hardware from the operating systems and applications running on it. By using specialized software, you can slice a single physical server (the "host") into multiple distinct, secure, and independent digital servers called Virtual Machines (VMs).<br />​Each VM behaves exactly like a real physical computer. It has its own virtual CPU, memory, hard drive, and network interface. To the user, a VM feels no different than a physical machine sitting under their desk.</p>
<p><strong>The Secret Sauce: The Hypervisor</strong><br />​The engine that makes virtualization possible is called a hypervisor. Think of the hypervisor as a highly efficient traffic cop or a master resource allocator.<br />​When you create three Virtual Machines on a single server, they all need access to the physical processor, RAM, and storage. The hypervisor sits directly between the physical hardware and the VMs. It intercepts the VMs' requests for computing power and seamlessly distributes the physical resources among them.</p>
<p>Virtualization isn't just for massive data centers; it works on your personal laptop, too.<br />​If you have a Windows laptop but want to test a program that only works on Linux, you don't need to buy a second laptop. You can download hypervisor software (like VirtualBox or VMware Workstation) and create a Linux Virtual Machine right on your desktop.</p>
<p><strong>Why This Matters</strong><br />​Virtualization revolutionized the tech industry by offering three massive benefits:<br />​<em>Efficiency</em>: Instead of buying 10 physical servers running at 10% capacity, a company can buy one powerful server and run 10 VMs on it at 100% capacity.<br />​<em>Speed</em>: Spinning up a new physical server takes days (ordering, shipping, plugging it in). Spinning up a new Virtual Machine takes seconds.<br />​<em>Flexibility</em>: You can move a VM from one physical server to another instantly, without shutting it down, which makes maintenance and disaster recovery incredibly easy.<br />​Whether it is powering the backend of your favorite streaming service or letting a developer test code on a laptop, virtualization is the invisible architecture holding the modern digital world together.</p>
]]></content:encoded></item><item><title><![CDATA[Why Do Cloud Servers Run Linux, Not the Windows You Use at Home?]]></title><description><![CDATA[Have you ever noticed this? Almost every cloud server in the world runs Linux - yet the laptop or desktop most of us use every day runs Windows. Today, in…]]></description><link>https://oli-blog.hashnode.dev/why-do-cloud-servers-run-linux-not-the-windows-you-use-at-home</link><guid isPermaLink="true">https://oli-blog.hashnode.dev/why-do-cloud-servers-run-linux-not-the-windows-you-use-at-home</guid><dc:creator><![CDATA[Jyoti Oli]]></dc:creator><pubDate>Thu, 17 Sep 2026 04:19:01 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/673349b5d9816cf40d2c190f/809645fb-4b90-46bc-ad9c-f87a87049512.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Have you ever noticed this? Almost every cloud server in the world runs Linux - yet the laptop or desktop most of us use every day runs Windows. Today, in our continuation of the Cloud Made Easy series, we're answering why. Last time, we talked about how clients and servers communicate over a network. But we didn't talk about something more fundamental: how does the computer itself work internally? We all know a computer is made of hardware and software , but what actually lets the two talk to each other? That connection is possible because of the kernel.</p>
<p>What Does Linux Actually Do?</p>
<p>Linux is a kernel -&gt; a bridge between hardware and software. It lets hardware components like the CPU and RAM communicate directly with software (the OS) and send tasks back and forth efficiently. Linux was first introduced in 1991 by Linus Torvalds. It's open source and free to use, and soon after release, it was adopted by organizations everywhere. From the early days of cloud computing, Linux was used rapidly because of three things: it's lightweight, highly customizable, and scriptable. Windows, on the other hand, is built around a GUI, uses more system resources, and the bigger issue for a company running thousands of servers , it's an entire licensed operating system with a real cost attached. Linux costs nothing.</p>
<p>Kernel vs. OS: The Confusion Everyone Has</p>
<p>People often mix up Linux and an operating system. Here's the actual difference:</p>
<p>Linux is a kernel - a part of an OS that performs tasks by talking directly to hardware.</p>
<p>An OS is the full operational unit of a computer, and it's the OS that executes tasks for the user.</p>
<p>Many operating systems like Ubuntu -are built on top of the Linux kernel. That's the real relationship: Ubuntu isn't a replacement for Linux, it's an OS that uses the Linux kernel underneath it. That's exactly why cloud servers rely on a direct link to hardware for speed and efficiency and Linux is what makes that link possible.</p>
<p>Talking to Linux</p>
<p>Linux gives you commands that connect directly to the file system and let you operate on it: cd, pwd, rm, cp, mkdir, touch, grep, and more. And this is exactly why cloud-native tools like Docker are built for Linux from the ground up: a Docker container shares the host machine's Linux kernel directly, instead of emulating a whole separate machine the way a virtual machine does. That's what makes containers so fast and lightweight compared to VMs. Because of all these capabilities and Linux's uniqueness in giving software direct, efficient access to hardware , it's what the entire cloud runs on.</p>
<p>Next time in Cloud Made Easy, we'll go one level deeper: what's actually the difference between a virtual machine and a container? See you then.</p>
]]></content:encoded></item><item><title><![CDATA[How does your phone know exactly which server, out of millions on the internet, to talk to?]]></title><description><![CDATA[Networking Basics]]></description><link>https://oli-blog.hashnode.dev/how-does-your-phone-know-exactly-which-server-out-of-millions-on-the-internet-to-talk-to</link><guid isPermaLink="true">https://oli-blog.hashnode.dev/how-does-your-phone-know-exactly-which-server-out-of-millions-on-the-internet-to-talk-to</guid><dc:creator><![CDATA[Jyoti Oli]]></dc:creator><pubDate>Sun, 13 Sep 2026 02:32:53 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/673349b5d9816cf40d2c190f/410f197b-28f5-405d-8eeb-66583496b906.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Yesterday we talked about the client-server model — you (the client) send a request, and a server sends back a response. But how does that request actually find the right server, out of millions sitting on the internet? Let's take an example. Previously we compared client and server to a food delivery order. In a similar way, the delivery boy knows your destination because he has your home address. Exactly like that, on the internet every single device — your phone, a router, a laptop — has its own unique address. This is known as an IP address, where IP stands for Internet Protocol (a set of rules that data follows to reach its destination). It looks like 192.168.1.10. On AWS, we represent this in two versions — IPv4 and IPv6. IPv4 is simply a 4-byte address (that's the 4.3 billion or so combinations you get from four numbers 0–255). IPv6 uses 16 bytes instead, which massively increases the number of possible addresses — because the world was running out of IPv4 addresses to hand out. So an IP address tells us which device. But two more questions remain: which group of devices does it belong to, and which door on that device do we knock on? That's where CIDR comes in. CIDR (Classless Inter-Domain Routing) is a way of writing an IP address together with how much of it is "reserved" for the network versus the individual device — written like 192.168.1.0/24. The /24 means the first 24 bits identify the network, leaving the rest for individual devices inside it. Think of it like a pin code: it doesn't just point to a city, it tells you how much of the address narrows down the location. This is exactly what's happening quietly behind my Notes API — my EC2 instance sits inside a VPC, and that VPC has its own CIDR block deciding which range of private IPs its resources can use. Next problem: nobody memorizes IP addresses. You don't type 192.34.56.78 into your browser — you type a name, like google.com. That's what DNS (Domain Name System) is for. DNS is essentially the internet's phonebook — it translates the human-friendly name you type into the actual IP address of the server that owns it. Once your request arrives at the right IP address, there's still one more step — which port to knock on. If the IP address is the building, the port is the specific door or apartment number. A single server can run multiple services at once, so ports keep them separate: port 80 is the default for HTTP traffic, 443 for HTTPS, and something like port 5000 might be where my own Node/Express backend is listening for requests. Last piece — HTTP vs HTTPS. Both are the actual protocol carrying your request and response back and forth. HTTP sends that data in plain text — like mailing a postcard anyone along the way could read. HTTPS encrypts it first — like sealing that same message in an envelope only the intended recipient can open. This is why my own Notes API is served over HTTPS: any data traveling between the frontend and my EC2 backend stays unreadable to anyone intercepting it in between. Takeaway: every request needs four things to find its destination — an IP address (which device), a CIDR block (which network it belongs to), DNS (translating a name into that address), and a port (which service on that device) — then HTTP or HTTPS decides how safely the message travels. Tomorrow: why do almost all cloud servers run Linux instead of the Windows we use at home? (Day 4 — Linux Basics)</p>
]]></content:encoded></item><item><title><![CDATA[Client-Server Model]]></title><description><![CDATA[When you type a website name into your browser, where does that request actually go?]]></description><link>https://oli-blog.hashnode.dev/client-server-model</link><guid isPermaLink="true">https://oli-blog.hashnode.dev/client-server-model</guid><dc:creator><![CDATA[Jyoti Oli]]></dc:creator><pubDate>Tue, 08 Sep 2026 15:33:48 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/673349b5d9816cf40d2c190f/34af348c-2fbc-42cd-b672-ac891892126e.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Yesterday we said cloud computing means renting servers instead of owning them. But renting from who — and how does your device actually reach one?</p>
<p>On the internet, every request travels from one device to another. There are two roles: a <strong>client</strong> — you, sending the request — and a <strong>server</strong> — the one receiving and responding.</p>
<p>Think of ordering food. You (the client) place an order — that's the request. Thirty minutes later, a delivery person (the server) brings your food — that's the response. The request is <em>asking</em>, the response is <em>getting</em>.</p>
<p>This whole exchange is called the <strong>Client-Server Model</strong>. Under the hood, it involves how requests actually travel, and which protocols and methods carry them — we'll get there.</p>
<p>This is the exact structure my own project runs on: my frontend sends the request, and my backend on EC2 acts as the server, receiving it and responding back.</p>
<p><strong>Takeaway:</strong> every website you visit is just a conversation — client asks, server answers.</p>
<p>Tomorrow: how does your phone know exactly which server, out of millions on the internet, to talk to? That's networking — see you then.</p>
]]></content:encoded></item><item><title><![CDATA[Why Do Apps Like Instagram and TikTok Never Run Out of Storage?]]></title><description><![CDATA[Every day, millions of people upload photos and videos to Instagram, TikTok, YouTube, and other platforms. So here's a question I started wondering about…]]></description><link>https://oli-blog.hashnode.dev/why-do-apps-like-instagram-and-tiktok-never-run-out-of-storage</link><guid isPermaLink="true">https://oli-blog.hashnode.dev/why-do-apps-like-instagram-and-tiktok-never-run-out-of-storage</guid><dc:creator><![CDATA[Jyoti Oli]]></dc:creator><pubDate>Tue, 08 Sep 2026 15:32:31 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/673349b5d9816cf40d2c190f/be790728-0f47-42f1-ac39-97e18500f1d6.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every day, millions of people upload photos and videos to Instagram, TikTok, YouTube, and other platforms.</p>
<p>So here's a question I started wondering about:</p>
<p><strong>Where does all that data actually go?</strong></p>
<p>A phone has limited storage. Even a company can't simply keep buying bigger hard drives forever.</p>
<p>So how do platforms handle millions of uploads every single day?</p>
<p>The answer introduces us to one of the most important ideas in cloud computing: <strong>scalable cloud storage</strong>.</p>
<h2>They Don't Store Everything on One Computer</h2>
<p>The first thing I had to understand was that Instagram doesn't have one enormous computer sitting somewhere with everyone's photos and videos inside it.</p>
<p>Large applications use <strong>distributed infrastructure</strong>.</p>
<p>Data can be stored across many physical machines, disks, and data centers. As the amount of data grows, the infrastructure can scale to accommodate it.</p>
<p>This is one of the major advantages of cloud computing.</p>
<p>Instead of building and maintaining all the infrastructure yourself, you can use computing resources provided by cloud platforms such as <strong>AWS, Microsoft Azure, and Google Cloud</strong>.</p>
<p>Think of it like electricity.</p>
<p>You don't build a power plant in your house just because you need electricity. You use the infrastructure provided by the electricity company and pay according to your usage.</p>
<p>Cloud computing follows a similar idea.</p>
<h2>But Where Are the Videos Actually Stored?</h2>
<p>This is where <strong>cloud storage</strong> comes in.</p>
<p>For large amounts of files such as photos, videos, backups, and documents, cloud providers offer <strong>object storage</strong>.</p>
<p>On AWS, one example is <strong>Amazon S3</strong>.</p>
<p>Instead of saving a video to the disk of one server and hoping that server is always available, object storage is designed to store huge amounts of data with high durability and scalability.</p>
<p>So when a user uploads a video, the application can process it and store the resulting files in a storage system designed specifically for this kind of workload.</p>
<p>The important idea is:</p>
<p><strong>The application grows, and the storage infrastructure can grow with it.</strong></p>
<p>That's why companies don't suddenly “run out of disk space” every time millions of users upload new content.</p>
<h2>So What Exactly Is Cloud Computing?</h2>
<p>This is where my original question led me.</p>
<p><strong>Cloud computing is the on-demand delivery of computing resources such as compute, storage, databases, and networking over the internet.</strong></p>
<p>Instead of buying and maintaining all the infrastructure yourself, you can use resources from a cloud provider when you need them.</p>
<p>There are different ways organizations can deploy cloud infrastructure, such as:</p>
<ul>
<li><p><strong>Public cloud</strong> — infrastructure provided by a cloud provider and shared among customers.</p>
</li>
<li><p><strong>Private cloud</strong> — cloud infrastructure dedicated to a particular organization.</p>
</li>
<li><p><strong>Hybrid cloud</strong> — a combination of private/on-premises infrastructure and public cloud services.</p>
</li>
</ul>
<p>I'll go deeper into these later. For now, the important thing I wanted to understand was the basic idea:</p>
<p><strong>Cloud = using scalable computing infrastructure without having to own all of the physical infrastructure yourself.</strong></p>
<h2>What I Learned Today</h2>
<p>I started with a simple question about Instagram and TikTok.</p>
<p>But that question led me to three important concepts:</p>
<p><strong>Compute:</strong> machines that run applications<br /><strong>Storage:</strong> systems that store data<br /><strong>Scalability:</strong> the ability to handle increasing demand by expanding resources</p>
<p>I'm currently learning these concepts through AWS and hands-on projects.</p>
<p>For example, my <strong>Notes API backend runs on an AWS EC2 instance</strong>. That helped me understand the “compute” side of cloud computing.</p>
<p>Next, I want to understand something even more basic:</p>
<p><strong>When I type a website address into my browser and press Enter, what actually happens to my request?</strong></p>
<p><strong>Day 2 → Client-Server Model</strong></p>
]]></content:encoded></item></channel></rss>