<?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[DevOps]]></title><description><![CDATA[I’m starting my DevOps learning journey where I’ll be learning, practicing, and building my skills in Linux, Networking, Git, Docker, AWS, CI/CD, and other DevO]]></description><link>https://devops-journal.hashnode.dev</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1593680282896/kNC7E8IR4.png</url><title>DevOps</title><link>https://devops-journal.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 20:43:56 GMT</lastBuildDate><atom:link href="https://devops-journal.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Linux Architecture, Explained the Way I Wish Someone Had Explained It to Me]]></title><description><![CDATA[Before touching a single command, I spent time understanding how Linux is actually structured, because every tool I'd learn after this (Jenkins, Docker, Ansible) runs on top of it, and debugging any o]]></description><link>https://devops-journal.hashnode.dev/linux-architecture-explained-the-way-i-wish-someone-had-explained-it-to-me</link><guid isPermaLink="true">https://devops-journal.hashnode.dev/linux-architecture-explained-the-way-i-wish-someone-had-explained-it-to-me</guid><category><![CDATA[linux architecture]]></category><category><![CDATA[Linux]]></category><category><![CDATA[linux for beginners]]></category><category><![CDATA[linux-commands]]></category><category><![CDATA[linux-basics]]></category><category><![CDATA[linux kernel]]></category><category><![CDATA[linux for devops]]></category><dc:creator><![CDATA[Akhilesh Bhayye]]></dc:creator><pubDate>Fri, 28 Aug 2026 16:20:45 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/d82575ca-58ff-468c-bd0a-f32ccebc5c7a.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Before touching a single command, I spent time understanding how Linux is actually structured, because every tool I'd learn after this (Jenkins, Docker, Ansible) runs on top of it, and debugging any of them eventually means understanding what's happening at this layer.  </p>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/953f8dd1-9d6f-4619-96bf-cdf100626a07.jpg" alt="" style="display:block;margin:0 auto" />

<p>The core layers:</p>
<ol>
<li><p><strong>Hardware</strong> - Hardware layer comprises of physical components of a computer, such as: Motherboard, CPU, RAM, Hard drive, SSD, network interfaces, peripheral devices.</p>
</li>
<li><p><strong>Kernel</strong> - the core that manages hardware and processes : CPU scheduling, memory management, device drivers, and system calls. Everything else runs on top of it.</p>
</li>
<li><p><strong>System libraries -</strong> Acts as a bridge between the user/application space and the kernel. They provide standard programming interfaces so developers do not need to write low level machine code.</p>
</li>
<li><p><strong>Shell</strong> - the interface between user and the kernel. When the user type's a command, the shell interprets it and asks the kernel to do the work. Bash is the most common shell, which is why almost every DevOps script is a bash script.</p>
</li>
<li><p><strong>User Space (Applications) -</strong> Here is where the user programs, server applications run.</p>
</li>
</ol>
<p><strong>File system hierarchy</strong> — Linux treats almost everything as a file, organized under a single root ( / ):</p>
<pre><code class="language-plaintext">/          - root of the entire filesystem
/bin       - essential command binaries
/etc       - system-wide configuration files
/home      - user home directories
/var       - variable data: logs, caches, spool files
/usr       - user programs and libraries
/opt       - optional/third-party software 
/tmp       - temporary files, cleared on reboot
</code></pre>
<p><strong>Processes</strong> - every running program is a process with a unique PID. We can see them live:</p>
<p><strong>bash</strong></p>
<pre><code class="language-bash">ps aux
top
</code></pre>
<p>Why this mattered for me specifically: when my Jenkins EC2 instance ran out of disk space , understanding that <strong>/var</strong> is where logs and build artifacts pile up (not <strong>/home</strong>) is what let me find and fix the problem quickly instead of guessing.</p>
<p><strong>What I learned:</strong> Once we understand the Linux architecture it is then easier to know where things live and how the shell talks to the kernel.</p>
]]></content:encoded></item><item><title><![CDATA[Networking for DevOps: DNS, Security Groups, and the Commands I Use to Debug "Why Won't This Connect"]]></title><description><![CDATA[Learning the basics is one thing, but figuring out "Why won't this connect?" when a service refuses to communicate with another service is the first true test. But before jumping to troubleshooting co]]></description><link>https://devops-journal.hashnode.dev/networking-for-devops-dns-security-groups-and-the-commands-i-use-to-debug-why-won-t-this-connect</link><guid isPermaLink="true">https://devops-journal.hashnode.dev/networking-for-devops-dns-security-groups-and-the-commands-i-use-to-debug-why-won-t-this-connect</guid><category><![CDATA[networking for beginners]]></category><category><![CDATA[networkingbasics]]></category><category><![CDATA[networking for devops]]></category><category><![CDATA[Networking Fundamentals]]></category><category><![CDATA[Networking, IP Address, IPv4, IPv6.]]></category><category><![CDATA[#90daysofdevops]]></category><dc:creator><![CDATA[Akhilesh Bhayye]]></dc:creator><pubDate>Fri, 28 Aug 2026 13:03:08 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/8f865ba1-1e3e-4972-a852-a18a4048147a.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Learning the basics is one thing, but figuring out "Why won't this connect?" when a service refuses to communicate with another service is the first true test. But before jumping to troubleshooting commands lets understand what DNS, firewall and security groups are.</p>
<h3>DNS (Domain Name System)</h3>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/28df72e4-abf2-47e8-bd2d-df7b8cbd24d6.jpg" alt="" style="display:block;margin:0 auto" />

<p>Domain Name System (DNS) is like a phonebook but for the internet. It maps website names (human readable) to IP addresses (machine readable).</p>
<p><strong>How DNS works</strong></p>
<ul>
<li><p><strong>User Input:</strong> You enter a domain name (e.g., <strong><a href="http://www.google.com">www.google.com</a></strong>) in the browser.</p>
</li>
<li><p><strong>Local Cache Check:</strong> The browser or OS checks if this IP address is stored in its cache. The IP address may be saved in the cache if you have already visited the website.</p>
</li>
<li><p><strong>DNS Resolver Query:</strong> If the IP address is not found in the local cache, the request is then sent to a DNS resolver.</p>
</li>
<li><p><strong>Root Server Query:</strong> The resolver queries a root server, which points to the correct TLD server.</p>
</li>
<li><p><strong>TLD Server Response:</strong> The TLD server points the resolver in the direction of the authoritative server for the domain.</p>
</li>
<li><p><strong>Authoritative Server Response:</strong> The real IP address is returned by the authoritative server.</p>
</li>
<li><p><strong>Final Response:</strong> The browser establishes a connection with the server once the resolver returns the IP to the user.</p>
</li>
</ul>
<p>Misconfigured DNS is one of source of 'it works locally but not in the production'</p>
<h3>Firewall and Security Groups</h3>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/199c5066-3535-40e1-84d5-e8725a9ee16f.jpg" alt="" style="display:block;margin:0 auto" />

<p>A firewall controls and monitors the incoming and outgoing traffic based on some pre-defined rules. It protects a private network from unauthorized access, malware or attacks.<br />Firewalls can be hardware based or software based or both.</p>
<p><strong>There are 4 types of firewalls:</strong></p>
<ol>
<li><p><strong>Packet filtering firewall</strong> - A type of firewall that only provides basic security. It checks packet headers like IP, ports and protocols. It does not check the data inside the packets.</p>
</li>
<li><p><strong>Stateful Inspection Firewall</strong> - It is also called a dynamic packet filtering firewall. It monitors the state of active network connections and makes filtering decisions based on the traffic context, not just individual packets.<br />When a connection is established, the firewall creates an entry in a <strong>state table</strong> that records information such as:</p>
<ul>
<li><p>Source IP address</p>
</li>
<li><p>Destination IP address</p>
</li>
<li><p>Source and destination port numbers</p>
</li>
<li><p>Protocol (TCP, UDP, etc.)</p>
</li>
<li><p>Connection state (e.g., SYN_SENT, ESTABLISHED, FIN_WAIT)</p>
</li>
</ul>
<p>The firewall then examines incoming and outgoing packets and checks whether they belong to a legitimate, established session.</p>
</li>
<li><p><strong>Proxy Firewall</strong> - Also called as an application level gateway, acts as the middleman between user and destination server. Inspects traffic at the application layer.<br />It also hides internal IP addresses from external servers.<br />Instead of allowing your computer to connect directly to a website or server. The proxy firewall receives the request, examines it, and then makes a separate request to the destination on the user's behalf.</p>
<pre><code class="language-plaintext">User → Proxy Firewall → Internet Server
</code></pre>
</li>
<li><p><strong>Circuit Level Gateway</strong> - It is a type of firewall that monitors and controls network connections between a user and an external server. It works at the Session Layer of the OSI model.</p>
</li>
<li><p><strong>Next Generation Firewall -</strong> It is a more advanced firewall that combines traditional firewall features with additional security capabilities, such as:</p>
</li>
</ol>
<ul>
<li><p>Deep packet inspection</p>
</li>
<li><p>Application awareness and control</p>
</li>
<li><p>Intrusion prevention systems (IPS)</p>
</li>
<li><p>Malware detection</p>
</li>
<li><p>User-based policies</p>
</li>
<li><p>It not only checks IP addresses and ports but can also identify applications, inspect packet contents, and detect threats.</p>
</li>
</ul>
<p>6. <strong>Web Application Firewall</strong> - A Web Application Firewall (WAF) is a firewall specifically designed to protect web applications and websites from malicious HTTP/HTTPS traffic.</p>
<p>7. <strong>Host-Based Firewall</strong></p>
<ul>
<li><p>Installed directly on an individual computer or server.</p>
</li>
<li><p>Controls incoming and outgoing traffic for that specific device.</p>
</li>
</ul>
<p><strong>Example:</strong> Windows Defender Firewall.</p>
<p>8. <strong>Network-Based Firewall</strong></p>
<ul>
<li><p>Protects an entire network.</p>
</li>
<li><p>Usually placed between an internal network and the internet.</p>
</li>
<li><p>Controls traffic entering and leaving the network.</p>
</li>
</ul>
<p><strong>Security Groups -</strong> A security group is a virtual, instance-level firewall used in cloud computing to control inbound and outbound traffic for specific resources like virtual machines.<br />E.g., A security group acts as a virtual firewall around the EC2 instance it controls what traffic can reach it, by port and by source.</p>
<pre><code class="language-plaintext">Inbound rule example:
Type: SSH       Port: 22    Source: my IP only
Type: HTTP      Port: 80    Source: 0.0.0.0/0 (anywhere)
Type: Custom TCP  Port: 8080  Source: 0.0.0.0/0 (Jenkins UI)
</code></pre>
<p>For me, I had done everything correct the first time while installing Jenkins on my EC2 instance but couldn't just open the Jenkins UI and then I understood that port 8080 was not configured or open in the security groups. So I just went and edited the inbound security rules and opened the port and voila Jenkins UI was accessible.</p>
<h3>Troubleshooting Commands</h3>
<pre><code class="language-plaintext">ping google.com
</code></pre>
<p>Sends small packets to a host and waits for a reply, measuring response time. Tells us if the host is reachable at all, at a basic network level. What it does not tell us if a specific service on it is working, a host can respond to ping while its web server is completely down.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/248f40d8-abf0-4eab-b6db-abdfebb5e9a4.jpg" alt="" style="display:block;margin:0 auto" />

<pre><code class="language-plaintext">curl -I https://example.com
</code></pre>
<p>Sends an HTTP request and shows just the response headers (<code>-I</code> = headers only, no body). It also tells us if the actual web service is responding, not just the machine. This is the step up from <code>ping</code>, we are now checking the application layer, not just "is the machine alive."</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/79b22e21-4349-46fd-95bf-27ba1715139a.jpg" alt="" style="display:block;margin:0 auto" />

<pre><code class="language-plaintext">netstat -tulpn
</code></pre>
<p>It lists which ports are currently listening on the machine, and which process owns each one. Flags:<br /><strong>-t</strong> = TCP<br /><strong>-u</strong> = UDP<br /><strong>-l</strong> = listening ports only<br /><strong>-p</strong> = show the process name/PID<br /><strong>-n</strong> = show numeric ports instead of resolving service names.<br />It also tells us if the service is actually running and bound to the port we expect.<br />I used this constantly to confirm Jenkins or Tomcat was actually listening before assuming a network problem.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/e71c3a35-b794-44c0-b7f1-a175a31dbb66.jpg" alt="" style="display:block;margin:0 auto" />

<pre><code class="language-plaintext">nslookup example.com
</code></pre>
<p>nslookup Queries DNS and shows what IP a domain resolves to. It also tells us is DNS resolution the actual problem, separate from connectivity.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/cda4acd3-a4e3-410d-98a8-56938784dc49.jpg" alt="" style="display:block;margin:0 auto" />

<pre><code class="language-plaintext">traceroute example.com
</code></pre>
<p>It shows us every network hop between our machine and the destination. Also tells where the connection is actually failing on the network.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/5dc119cb-990d-49dd-a648-4e976683e898.jpg" alt="" style="display:block;margin:0 auto" />

<p><strong>The debugging order that I learnt:</strong></p>
<ol>
<li><p>ping - To check if the host is reachable.</p>
</li>
<li><p>nslookup - Check if ping fails on a domain name.</p>
</li>
<li><p>netsat -tulpn - Check if the service is actually listening on the port on the target machine.</p>
</li>
<li><p>Security group / firewall rules - Check if the port is open for the service.</p>
</li>
<li><p>curl -I - To check if the application layer is actually responding.</p>
</li>
</ol>
<p><strong>My Learnings:</strong><br />Networking troubleshooting isn't random guessing of what could have went wrong. I learnt a systematic way of troubleshooting if a service or an application is down. Also it was helpful to understand why and how security groups are maintained. Importantly I understood that it is not just about memorizing commands, trouble shooting is like problem solving where we have to break down the problem into possible scenarios and then work on each one step by step until we find the cause of it and fix it.</p>
]]></content:encoded></item><item><title><![CDATA[Networking Fundamentals]]></title><description><![CDATA[Network Fundamentals for DevOps
A few weeks ago I started learning computer networking from scratch - from physical internet (Devices, LAN,WAN,MAN, etc.), internet addressing, OSI model, TCP/IP model,]]></description><link>https://devops-journal.hashnode.dev/networking-fundamentals</link><guid isPermaLink="true">https://devops-journal.hashnode.dev/networking-fundamentals</guid><category><![CDATA[networkingbasics]]></category><category><![CDATA[networking for devops]]></category><category><![CDATA[#90daysofdevops]]></category><category><![CDATA[Devops]]></category><category><![CDATA[Networking Fundamentals]]></category><category><![CDATA[tcp/ip-model]]></category><category><![CDATA[OSI Model]]></category><dc:creator><![CDATA[Akhilesh Bhayye]]></dc:creator><pubDate>Thu, 27 Aug 2026 15:11:21 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/3d6ee255-5335-4186-93b6-db582edeb9c2.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Network Fundamentals for DevOps</h2>
<p>A few weeks ago I started learning computer networking from scratch - from physical internet (Devices, LAN,WAN,MAN, etc.), internet addressing, OSI model, TCP/IP model, DNS, Network Security, VPC.<br />But in this series I am only going to go over the topics that are really important for learning DevOps.</p>
<p>Let's start it with an example to try to understand what we are actually trying to learn before we jump to the models.</p>
<p>Lets say I place an order for an item on amazon --&gt; the seller receives my order --&gt; the item is packed --&gt; the delivery person brings it to my home.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/c4c6bd82-8d21-4fbc-a86e-776968c4f054.jpg" alt="" style="display:block;margin:0 auto" />

<ol>
<li><p>The Amazon app is where I choose and order the product.</p>
</li>
<li><p>Amazon records my order and delivery address.</p>
</li>
<li><p>The warehouse packs the correct item.</p>
</li>
<li><p>The delivery system makes sure it reaches me reliably.</p>
</li>
<li><p>The delivery person follows the correct route, and finally, the package physically travels from the warehouse to my home.</p>
</li>
</ol>
<p>Computer network works in a similar way. Data travel's from one device to another, often across multiple networks, routers, switches, servers, and even continents.<br />For this communication to actually work we have two very important models.</p>
<ul>
<li><p>The OSI Model</p>
</li>
<li><p>The TCP/IP Model</p>
</li>
</ul>
<p>With the help of these models we can understand how data moves from one layer to another from a source to destination. Each layer has a specific responsibility and works with the layers above and below it. This makes networking easier to understand and troubleshoot.</p>
<h3>The OSI Model</h3>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/389002ae-02e5-4518-ab63-1df7a05c2b94.jpg" alt="" style="display:block;margin:0 auto" />

<p>The <strong>OSI (Open Systems Interconnection) Model</strong> divides network communication into <strong>seven layers</strong>.</p>
<p>Starting from the top:</p>
<ol>
<li><p>Physical Layer - responsible for transmitting raw data bits through physical network hardware.</p>
</li>
<li><p>Data Link Layer - handles communication between devices on the same local network. It uses Mac addresses to identify network interfaces.</p>
</li>
<li><p>Network Layer - Responsible for moving data between different networks. This layer handles IP addressing, routing and packet forwarding.</p>
</li>
<li><p>Transport Layer - responsible for delivering data between applications. Two important protocols that operate at this layer are TCP and UDP.</p>
</li>
<li><p>Session Layer - manages communication sessions between two systems. It is responsible for establishing a session, maintaining a session and terminating a session.</p>
</li>
<li><p>Presentation Layer - responsible for how data is formatted and represented. Encryption, Decryption, Compression and Data formatting are its responsibilities.</p>
</li>
<li><p>Application Layer - network services interact with applications used by the user on the application layer. It provides protocols that applications use to communicate over a network.<br />E.g. HTTP/HTTPS, DNS, FTP, SMTP, SSH.</p>
</li>
</ol>
<h3>The TCP/IP Model</h3>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/bad1ad47-0b62-4133-8d69-0309ecb68e06.jpg" alt="" style="display:block;margin:0 auto" />

<p>Unlike the OSI model the TCP/IP model has only four layers.</p>
<ul>
<li><p>Application Layer - Applications interact with the network. It also handles data formatting, provides encryption for secure communication and manage sessions to track ongoing connections. Which means the application, presentation and session layer from the OSI model becomes the application layer in the TCP/IP model.</p>
</li>
<li><p>Transport - Ensures reliable and efficient delivery of data between devices, managing segmentation, ordering, and retransmission as needed.</p>
</li>
<li><p>Internet - Responsible for addressing, packaging, and routing data packets so they can travel across networks and reach the correct destination device.</p>
</li>
<li><p>Network Access - Responsible for physically transmitting data over network hardware, including cables, switches, and wireless connections. It handles how data is formatted as well. Which also means the data link and physical layer from the OSI model becomes the Network access layer in the OSI model.</p>
</li>
</ul>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/65f432d0-a57a-4c43-8579-e3ab59f829a9.jpg" alt="" style="display:block;margin:0 auto" />

<h3>IP Addressing</h3>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/af3c5304-67c6-4b80-92f9-39ff41b1cd37.jpg" alt="" style="display:block;margin:0 auto" />

<p>IP addressing is like assigning an address to a device on the network.<br />From our amazon example, just like the we need an address to get our item delivered to, a network needs an IP address to know where the data needs to go.<br />E.g. My Laptop IP - <strong>192.168.1.10</strong></p>
<p>An IP address has two parts -</p>
<ol>
<li><strong>Network Portion</strong> - This identifies the network.<br />2. <strong>Host Portion</strong> - This identifies a specific device within that network</li>
</ol>
<p>E.g. <strong>192.168.1.10/24</strong><br />Here, <strong>192.168.1 --&gt; network portion</strong> and <strong>.10 --&gt; host portion</strong></p>
<p>The most common IP addressing system is <strong>IPv4.</strong></p>
<h3>IPv4 Address</h3>
<p><strong>192.168.1.10</strong> --&gt; This is how an IPv4 address looks like. It consists of four octets and each octet has a value from 0 - 255.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/dd4919fe-7627-47cf-bf7d-a4b6426a071c.jpg" alt="" style="display:block;margin:0 auto" />

<h3>Subnet</h3>
<p><strong>A smaller network created from a larger network is called a subnet.</strong></p>
<p>E.g. Imagine a three-sided building called <strong>Marine Heights</strong>.</p>
<p>Marine Heights has <strong>30 apartments on a single floor</strong>. Initially, you can think of the entire building as <strong>one large network</strong>.</p>
<p>Now, the building committee decides to divide the building into three separate wings:</p>
<ul>
<li><p><strong>Marine Heights – Wing A</strong></p>
</li>
<li><p><strong>Marine Heights – Wing B</strong></p>
</li>
<li><p><strong>Marine Heights – Wing C</strong></p>
</li>
</ul>
<p>Instead of having one large section with 30 apartments, each wing now contains <strong>10 apartments</strong>.</p>
<p>This makes it easier to identify which section of the building a particular apartment belongs to.</p>
<p>For example:</p>
<pre><code class="language-plaintext">Marine Heights
│
├── Wing A
│   ├── Apartment 1
│   ├── Apartment 2
│   └── ...
│
├── Wing B
│   ├── Apartment 11
│   ├── Apartment 12
│   └── ...
│
└── Wing C
    ├── Apartment 21
    ├── Apartment 22
    └── ...
</code></pre>
<p>This is similar to <strong>subnetting</strong>.</p>
<ul>
<li><p><strong>Marine Heights</strong> = The original large network</p>
</li>
<li><p><strong>Each wing</strong> = A subnet</p>
</li>
<li><p><strong>Each apartment</strong> = A device or host with an IP address</p>
</li>
</ul>
<p>Subnetting takes one large network and divides it into smaller, more organized networks.</p>
<p>For example, instead of having one network, we can divide it into smaller subnets.</p>
<p>The same way that splitting Marine Heights into Wing A, Wing B, and Wing C makes the building easier to organize, <strong>subnetting makes a large network easier to manage, organize, and control</strong>.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/af12d418-a8e0-4447-809b-d5ed5f9c9be5.jpg" alt="" style="display:block;margin:0 auto" />

<h3>Ports</h3>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/f3f1cc27-ae33-49d0-a972-f7e867034a55.jpg" alt="" style="display:block;margin:0 auto" />

<p>A port identifies a specific service on a device. The IP gets you to the machine; the port gets you to the right application on it.</p>
<p><strong>Some commonly used ports while working in DevOps are:</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/b5ebccc3-3c09-4183-b7d6-a8c3a0852fd3.jpg" alt="" style="display:block;margin:0 auto" />

<p>My take aways: A huge amount of "networking" in cloud/DevOps work isn't deep protocol theory it's knowing that an IP gets you to a machine, a port gets you to a service on that machine, and TCP vs UDP is about whether you need delivery guaranteed.</p>
<h3>Resources for reference:</h3>
<p><a class="embed-card" href="https://youtu.be/xN3BKHji12I?si=tTupCvhrLIlu-4GU">https://youtu.be/xN3BKHji12I?si=tTupCvhrLIlu-4GU</a></p>
<p><a class="embed-card" href="https://youtu.be/fQbBPa0ADvs?si=55S3zFNOZ36WKd46">https://youtu.be/fQbBPa0ADvs?si=55S3zFNOZ36WKd46</a></p>

<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/87d5095b-6bfc-45f2-8f7f-aa23a338c2e4.jpg" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/7cc2ea5a-0146-43af-ac8a-f3636a67b207.jpg" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/ffa0d2ee-2376-47df-bf2c-3e164d05afa4.jpg" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/e809de53-501d-44fd-a399-17ad68220f4b.jpg" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/f3eef89f-e90e-426e-9661-311195580ea8.jpg" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/83979947-ee72-44ae-a056-eb69dd8c60a3.jpg" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a8db5dbf6de3c162383253f/eed53a4b-e961-4a2f-b606-a27900c17d6f.jpg" alt="" style="display:block;margin:0 auto" />

<blockquote>
<p>All the images in the blog are AI generated.</p>
</blockquote>
]]></content:encoded></item></channel></rss>