<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: KALPESH</title>
    <description>The latest articles on Forem by KALPESH (@kalpesh47).</description>
    <link>https://forem.com/kalpesh47</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3808502%2F8fb391da-71fa-4e30-8610-55972618d98c.jpg</url>
      <title>Forem: KALPESH</title>
      <link>https://forem.com/kalpesh47</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kalpesh47"/>
    <language>en</language>
    <item>
      <title>Networking</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 20:08:09 +0000</pubDate>
      <link>https://forem.com/kalpesh47/networking-4f39</link>
      <guid>https://forem.com/kalpesh47/networking-4f39</guid>
      <description>&lt;h2&gt;
  
  
  🖧 Subnet
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Subnet&lt;/strong&gt; is a smaller chunk of a bigger network, created using a &lt;strong&gt;subnet mask&lt;/strong&gt; or &lt;strong&gt;CIDR&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyauzv736ws8y0ervhyui.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyauzv736ws8y0ervhyui.png" alt=" " width="800" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;(e.g., &lt;code&gt;/27&lt;/code&gt;) to split IPs into &lt;strong&gt;network&lt;/strong&gt; and &lt;strong&gt;host&lt;/strong&gt; parts.&lt;br&gt;&lt;br&gt;
It improves &lt;strong&gt;efficiency&lt;/strong&gt;, &lt;strong&gt;security&lt;/strong&gt;, and &lt;strong&gt;traffic control&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CIDR &lt;code&gt;/27&lt;/code&gt; means you're borrowing &lt;strong&gt;5 bits&lt;/strong&gt; from the host portion (since 32 - 27 = 5).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;That gives you &lt;strong&gt;2⁵ = 32 IP addresses&lt;/strong&gt; in total.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Out of those, &lt;strong&gt;30 are usable IPs&lt;/strong&gt; (excluding 1 for network address and 1 for broadcast).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  DNS resolver
&lt;/h2&gt;

&lt;p&gt;It stores information about domain names and their corresponding IP addresses in structured records&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F70rk41hbx7dj0j2dbug6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F70rk41hbx7dj0j2dbug6.png" alt=" " width="600" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Handshaking
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;TCP make 3 ways handshake in order to establish connection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrv50zr1q3tbxrgev5x3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrv50zr1q3tbxrgev5x3.png" alt=" " width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  OSI Layer
&lt;/h2&gt;

&lt;p&gt;Layer 7, 6 &amp;amp; 5 happens in local level. e.g.- Browser&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcg88g53jhe1cl4v6z0sr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcg88g53jhe1cl4v6z0sr.png" alt=" " width="800" height="1107"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS VPC
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr4q03w032q79hqwolio7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr4q03w032q79hqwolio7.png" alt=" " width="611" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>networking</category>
    </item>
    <item>
      <title>Essential Linux Commands- 2</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 20:05:02 +0000</pubDate>
      <link>https://forem.com/kalpesh47/essential-linux-commands-2-2lkd</link>
      <guid>https://forem.com/kalpesh47/essential-linux-commands-2-2lkd</guid>
      <description>&lt;h2&gt;
  
  
  Shortcuts:
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Reverse Search
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;Ctrl + R&lt;/code&gt; then type the command you want to search then &lt;code&gt;Tab&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Commands:
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Info of Command
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# brief description of command&lt;/span&gt;
whatis &lt;span class="nb"&gt;cat&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Real time process info
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Real time process&lt;/span&gt;
top

&lt;span class="c"&gt;# Wrapper: Graphical Process&lt;/span&gt;
htop

&lt;span class="c"&gt;# System stat for performance check&lt;/span&gt;
vmstat

&lt;span class="c"&gt;# Amount of CPU available&lt;/span&gt;
&lt;span class="nb"&gt;nproc&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  List Process &amp;amp; Hierarchy
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# List Process not a Real time&lt;/span&gt;
ps

&lt;span class="c"&gt;# Detail all process list&lt;/span&gt;
ps aux

&lt;span class="c"&gt;# No of process(Line No)&lt;/span&gt;
ps aux | &lt;span class="nb"&gt;ln&lt;/span&gt;

&lt;span class="c"&gt;# Only shows no lines&lt;/span&gt;
ps aux | &lt;span class="nb"&gt;wc&lt;/span&gt; &lt;span class="nt"&gt;-l&lt;/span&gt;

&lt;span class="c"&gt;# kill process&lt;/span&gt;
&lt;span class="nb"&gt;kill&lt;/span&gt; &amp;lt;PID&amp;gt;

&lt;span class="c"&gt;# Force process delete&lt;/span&gt;
&lt;span class="nb"&gt;kill&lt;/span&gt; &lt;span class="nt"&gt;-9&lt;/span&gt; &amp;lt;PID&amp;gt;

&lt;span class="c"&gt;# Thread dumnp&lt;/span&gt;
&lt;span class="nb"&gt;kill&lt;/span&gt; &lt;span class="nt"&gt;-3&lt;/span&gt; &amp;lt;PID&amp;gt;

&lt;span class="c"&gt;# Stop process&lt;/span&gt;
&lt;span class="nb"&gt;kill&lt;/span&gt; &lt;span class="nt"&gt;-STOP&lt;/span&gt; &amp;lt;PID&amp;gt;

&lt;span class="c"&gt;# Resume Stop process&lt;/span&gt;
&lt;span class="nb"&gt;kill&lt;/span&gt; &lt;span class="nt"&gt;-CONT&lt;/span&gt; &amp;lt;PID&amp;gt;

&lt;span class="c"&gt;# Prioritize Process (-n [1-20], lower no means high prioritize)&lt;/span&gt;
renice &lt;span class="nt"&gt;-n&lt;/span&gt; 10 &lt;span class="nt"&gt;-p&lt;/span&gt; &amp;lt;PID&amp;gt;

&lt;span class="c"&gt;# Process Hierarchy&lt;/span&gt;
pstree &lt;span class="nt"&gt;-p&lt;/span&gt;

&lt;span class="c"&gt;# Port used by Process&lt;/span&gt;
lsof &lt;span class="nt"&gt;-i&lt;/span&gt; :8085
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Inspect Network Connection
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Get active ports in Use&lt;/span&gt;
netstat &lt;span class="nt"&gt;-tuln&lt;/span&gt;

&lt;span class="c"&gt;# Network Interface Info&lt;/span&gt;
ifconfig

&lt;span class="c"&gt;# Network Troubleshoot (Can WireShark tool)&lt;/span&gt;
&lt;span class="c"&gt;# enX0: Network Interface&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;tcpdump &lt;span class="nt"&gt;-i&lt;/span&gt; enX0 port 80

&lt;span class="c"&gt;# Test Connectivity&lt;/span&gt;
ping google.com

&lt;span class="c"&gt;# Tarce the path packet to reach destination&lt;/span&gt;
traceroute google.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Disk Space, Size &amp;amp; Memory
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check Disk Space&lt;/span&gt;
&lt;span class="nb"&gt;df&lt;/span&gt; &lt;span class="nt"&gt;-h&lt;/span&gt;

&lt;span class="c"&gt;# Size of dir or file&lt;/span&gt;
&lt;span class="c"&gt;# opt: directory&lt;/span&gt;
&lt;span class="nb"&gt;du&lt;/span&gt; &lt;span class="nt"&gt;-sh&lt;/span&gt; opt

&lt;span class="c"&gt;# Memory (RAM)&lt;/span&gt;
free &lt;span class="nt"&gt;-h&lt;/span&gt;

&lt;span class="c"&gt;# List Blob(All type of formats- Raw state) attach to Instance&lt;/span&gt;
lsblk

&lt;span class="c"&gt;# Format the Blob Storage to linux supperted file system (ext4)&lt;/span&gt;
mkfs &lt;span class="nt"&gt;-t&lt;/span&gt; ext4 /dev/xvdf

&lt;span class="c"&gt;# Mount it in order to use&lt;/span&gt;
mount /dev/xvdf mnt/demo-volume/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Services
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Systemd&lt;/code&gt; manages services
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Logs of Services&lt;/span&gt;
journalctl

&lt;span class="c"&gt;# Particular Service&lt;/span&gt;
journalctl &lt;span class="nt"&gt;-u&lt;/span&gt; nginx

&lt;span class="c"&gt;# Logs of services from Last Boot&lt;/span&gt;
journalctl &lt;span class="nt"&gt;-b&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Logs Filter
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Last 10 line of logs&lt;/span&gt;
&lt;span class="nb"&gt;tail&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; 10 /var/log/auth.log

&lt;span class="c"&gt;# First 10 line of logs&lt;/span&gt;
&lt;span class="nb"&gt;head&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; 10 /var/log/auth.log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Alias
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;alias &lt;/span&gt;&lt;span class="nv"&gt;detail_list&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'ls -la'&lt;/span&gt;

&lt;span class="c"&gt;# Want to persist the Alias, add in '~/.bashrc'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Symbolic Link&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Soft Link&lt;/strong&gt; (Like Windows Shortcuts)- It can be broken&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# ln: link&lt;/span&gt;
&lt;span class="c"&gt;# -s: flag for soft link &lt;/span&gt;
&lt;span class="c"&gt;# myfile: file you want to crate soft link&lt;/span&gt;
&lt;span class="c"&gt;# slink: name of soft link file created&lt;/span&gt;
&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; myfile slink
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Hard Link&lt;/strong&gt; (Actual Copy)- Doesn’t break the other one&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# ln: link&lt;/span&gt;
&lt;span class="c"&gt;# myfile: file you want to crate soft link&lt;/span&gt;
&lt;span class="c"&gt;# hlink: name of hard link file created&lt;/span&gt;
&lt;span class="nb"&gt;ln &lt;/span&gt;myfile hlink
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Users
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Full setup of User&lt;/span&gt;
adduser tim

&lt;span class="c"&gt;# Just Add user&lt;/span&gt;
useradd tim

&lt;span class="c"&gt;# Delete user&lt;/span&gt;
userdel tim

&lt;span class="c"&gt;# Login into User with sudo privilege&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;su - tim

&lt;span class="c"&gt;# Root user indication&lt;/span&gt;
&lt;span class="s2"&gt;"#"&lt;/span&gt;

&lt;span class="c"&gt;# Standard user indication&lt;/span&gt;
&lt;span class="s2"&gt;"$"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Groups &amp;amp; Ownership
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;==================================&lt;/span&gt;
&lt;span class="c"&gt;# Before you shoud be in root user&lt;/span&gt;
&lt;span class="o"&gt;==================================&lt;/span&gt;
&lt;span class="c"&gt;# Create Group&lt;/span&gt;
groupadd devops

&lt;span class="c"&gt;# Add User into Group- (Adding user:tim into group:devops)&lt;/span&gt;
usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; devops tim

&lt;span class="c"&gt;# Remove user tim from group devops&lt;/span&gt;
deluser tim devops 

&lt;span class="c"&gt;# To see how manu group user belong to&lt;/span&gt;
&lt;span class="nb"&gt;id &lt;/span&gt;tim

&lt;span class="c"&gt;# Change ownership of dir&lt;/span&gt;
&lt;span class="c"&gt;# change owenership of dir to nexus:nexus(user:group) -R recursive&lt;/span&gt;
&lt;span class="nb"&gt;chown&lt;/span&gt; &lt;span class="nt"&gt;-R&lt;/span&gt; nexus:nexus &amp;lt;dir-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  SSH Server
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# ssh server config- sshd&lt;/span&gt;
&lt;span class="nb"&gt;ls&lt;/span&gt; /etc/ssh/sshd_config.d/&amp;lt;50-cloud-init.conf&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  File Management
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Overwriting the existing content&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Hello"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; file.txt

&lt;span class="c"&gt;# Appending the content&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Hello"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Services
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Re-read all service configuration files from /etc/systemd/system/&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl daemon-reload

&lt;span class="c"&gt;# Registers your service to start automatically at boot time&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;myservice

&lt;span class="c"&gt;# Starts your service right now&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl start myservice

&lt;span class="c"&gt;# Check status of your service&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl status myservice
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Refer Linux Journey
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://linuxjourney.com/" rel="noopener noreferrer"&gt;Linux Journey&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
    </item>
    <item>
      <title>Python Overview</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 20:03:09 +0000</pubDate>
      <link>https://forem.com/kalpesh47/python-overview-4nde</link>
      <guid>https://forem.com/kalpesh47/python-overview-4nde</guid>
      <description>&lt;h2&gt;
  
  
  Python Modules
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A file with reusable Python code &lt;code&gt;(functions, classes, variables).&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Example: custom &lt;code&gt;.py&lt;/code&gt; files or &lt;code&gt;sys, math&lt;/code&gt; module&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Python Package
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A &lt;code&gt;folder with related modules&lt;/code&gt;, including an &lt;code&gt;__init__.py&lt;/code&gt; file.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Example: &lt;code&gt;numpy&lt;/code&gt; or custom module directories.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;pip&lt;/code&gt; is a tool in Python to &lt;code&gt;install &amp;amp; manage Python packages&lt;/code&gt; or libraries from the Python Package Index &lt;code&gt;(PyPI)&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Python Virtual Environment
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Isolated environment&lt;/code&gt; for project-specific dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Create:&lt;/strong&gt; &lt;code&gt;python -m venv &amp;lt;env_name&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Activate:&lt;/strong&gt; &lt;code&gt;source &amp;lt;env_name&amp;gt;/bin/activate&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Command Line Args
&lt;/h2&gt;

&lt;p&gt;Python in build sys module&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;sys&lt;/span&gt; &lt;span class="c1"&gt;# python inbuild sys module, which is used for command line args
&lt;/span&gt;
&lt;span class="n"&gt;num1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;float&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Environment Variables
&lt;/h2&gt;

&lt;p&gt;Env vars used for sensitive data, which we can’t hardcoded:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;API keys&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;passwords&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;tokens&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;certificates&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Declare Env vars in terminal:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;export password=”pass@123”&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Code:&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;

&lt;span class="k"&gt;pass&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getenv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;password&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  File Operation of Windows
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open&lt;/strong&gt;: &lt;code&gt;open()&lt;/code&gt; with modes (&lt;code&gt;r&lt;/code&gt;, &lt;code&gt;w&lt;/code&gt;, etc.), e.g., &lt;code&gt;open("file.txt", "r")&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Read&lt;/strong&gt;: Use &lt;code&gt;read()&lt;/code&gt;, &lt;code&gt;readline()&lt;/code&gt;, or &lt;code&gt;readlines()&lt;/code&gt; to fetch content.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Write&lt;/strong&gt;: Use &lt;code&gt;write()&lt;/code&gt; or &lt;code&gt;writelines()&lt;/code&gt; in modes like &lt;code&gt;w&lt;/code&gt; or &lt;code&gt;a&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Close&lt;/strong&gt;: Use &lt;code&gt;close()&lt;/code&gt; or &lt;code&gt;with&lt;/code&gt; for auto-closing.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Module
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Requests
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;requests&lt;/code&gt; module in Python simplifies HTTP requests to interact with web servers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Purpose&lt;/strong&gt;: Send HTTP methods (GET, POST, etc.) and handle responses via &lt;code&gt;API&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;: Manage headers, cookies, auth, and work with &lt;code&gt;JSON or text&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Install&lt;/strong&gt;: &lt;code&gt;pip install requests&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;  
&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://example.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Status code  
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;         &lt;span class="c1"&gt;# Response body
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Boto3
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;AWS SDK for Python&lt;/code&gt; to interact programmatically with AWS services.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ideal for &lt;code&gt;automating AWS workflows&lt;/code&gt; and managing resources efficiently&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Building serverless applications&lt;/code&gt; with services like Lambda and DynamoDB.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;boto3&lt;/span&gt;

&lt;span class="c1"&gt;# Initialize S3 client
&lt;/span&gt;&lt;span class="n"&gt;s3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;boto3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;client&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;s3&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Upload a file to S3
&lt;/span&gt;&lt;span class="n"&gt;s3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;upload_file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;local_file.txt&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;my-bucket&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;remote_file.txt&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Flask
&lt;/h3&gt;

&lt;p&gt;It’s a lightweight &lt;code&gt;web framework&lt;/code&gt; in Python used to build &lt;code&gt;web applications&lt;/code&gt; with added functionality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decorators:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It’s a &lt;code&gt;special function&lt;/code&gt; in Python used to modify the behaviour of another function.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It written &lt;code&gt;above function&lt;/code&gt; with &lt;code&gt;@&lt;/code&gt; symbol.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;flask&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Flask&lt;/span&gt;

&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Flask&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__name__&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nd"&gt;@app.route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/greet&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Flask decorator that connects a URL('/greet') route to a function
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Greetings from Flask!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;__main__&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Constructor
&lt;/h2&gt;

&lt;p&gt;It’s special method in a class that runs automatically when you create an object.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;__init__&lt;span class="o"&gt;()&lt;/span&gt;

&lt;span class="c"&gt;# __name__ special build-in variable&lt;/span&gt;
__name__ &lt;span class="o"&gt;=&lt;/span&gt; __main__ &lt;span class="c"&gt;# Runs code only when file is executed directly&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Pytest
&lt;/h2&gt;

&lt;p&gt;Tool/framework for testing&lt;br&gt;
Basic Structure&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;my_project/
│
├── app.py              &lt;span class="c"&gt;# Your actual code&lt;/span&gt;
├── test_app.py         &lt;span class="c"&gt;# Your test file (MUST start with "test_")&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;pytest -v — Verbose output&lt;/li&gt;
&lt;li&gt;pytest -s — Show print statements&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Assert Statements
&lt;/h3&gt;

&lt;p&gt;They check if a condition is True. If True, test passes ✅&lt;/p&gt;

&lt;h3&gt;
  
  
  Fixtures
&lt;/h3&gt;

&lt;p&gt;A fixture in pytest is a reusable piece of setup code that prepares data or resources for your tests.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conftest
&lt;/h3&gt;

&lt;p&gt;Special file where you define fixtures that are automatically available to ALL test files in that directory and sub directories. No imports needed!&lt;/p&gt;

&lt;h3&gt;
  
  
  Mocking
&lt;/h3&gt;

&lt;p&gt;Create fake versions of external dependencies (APIs, databases, files) so tests run fast, reliably.&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>Terraform Scenario Qus</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 19:58:48 +0000</pubDate>
      <link>https://forem.com/kalpesh47/terraform-scenario-qus-462b</link>
      <guid>https://forem.com/kalpesh47/terraform-scenario-qus-462b</guid>
      <description>&lt;h2&gt;
  
  
  Scenario 1 : Terraform Migration of AWS Resource
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1: Import Resource Configuration&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspbjvkoocaigqragv5b3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspbjvkoocaigqragv5b3.png" alt=" " width="508" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Import Block:&lt;/strong&gt; Add the &lt;code&gt;import&lt;/code&gt; block in &lt;a href="http://main.tf" rel="noopener noreferrer"&gt;&lt;code&gt;main.tf&lt;/code&gt;&lt;/a&gt; to specify the EC2 resource ID and target resource name:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;id&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"instance ID"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;to&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;aws_instance.example&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Generate Resource Configuration:&lt;/strong&gt; Run the command to fetch the resource configuration:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;terraform&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;plan&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;-generate-config-out=generated_resources.tf&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Copy Code:&lt;/strong&gt; Copy the generated resource block from &lt;code&gt;generated_&lt;/code&gt;&lt;a href="http://resources.tf" rel="noopener noreferrer"&gt;&lt;code&gt;resources.tf&lt;/code&gt;&lt;/a&gt; to &lt;a href="http://main.tf" rel="noopener noreferrer"&gt;&lt;code&gt;main.tf&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cleanup:&lt;/strong&gt; Delete &lt;code&gt;generated_&lt;/code&gt;&lt;a href="http://resources.tf" rel="noopener noreferrer"&gt;&lt;code&gt;resources.tf&lt;/code&gt;&lt;/a&gt; as it is no longer needed.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 2: Import Resource into Statefile&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Run the import command to bring the resource into Terraform state:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;terraform&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;aws_instance.example&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;&amp;lt;instance&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;ID&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; The resource data is imported into the Terraform state file, ensuring the state matches the actual resource.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Scenario 2 : Terraform Drift Detection
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Terraform doesn't automatically detect manual changes made directly in the AWS cloud.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution 1: Use a Cron Job to Refresh Terraform State&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set up a cron job to periodically run &lt;code&gt;terraform refresh&lt;/code&gt;, which updates the Terraform state with the latest changes in the cloud.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Solution 2: Use Audit Logs or Event Notifications&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Audit Logs:&lt;/strong&gt; Enable AWS CloudTrail to log and monitor all changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS Lambda/Notification:&lt;/strong&gt; Use AWS Lambda functions or event notifications to alert or trigger Terraform updates when manual changes happen by IAM users.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>terraform</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>AWS Strategies</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 19:54:23 +0000</pubDate>
      <link>https://forem.com/kalpesh47/aws-strategies-c6i</link>
      <guid>https://forem.com/kalpesh47/aws-strategies-c6i</guid>
      <description>&lt;h1&gt;
  
  
  AWS Cloud Migration
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbnc6jrfjcir1z5i07wdw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbnc6jrfjcir1z5i07wdw.png" alt=" " width="613" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1- Preparation stage
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Verify if the application follows a &lt;code&gt;microservices architecture.&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If not, refactor the monolithic application into a microservices architecture.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2- Planning Stage
&lt;/h3&gt;

&lt;p&gt;Break down the microservices migration into phases based on their criticality for cloud migration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Most used Migration Strategies:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rehost (Lift and Shift):&lt;/strong&gt; Move applications to the cloud with minimal changes, focusing on quick deployment.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Replatform:&lt;/strong&gt; Optimize specific components for cloud use without significant code changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Refactor/Rearchitect:&lt;/strong&gt; Redesign the application, e.g., transforming a monolithic architecture into microservices.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Relocate:&lt;/strong&gt; Shift services, e.g., from Kubernetes to OpenShift or EKS.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Least Used Migration Strategies:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Retain:&lt;/strong&gt; Keep certain applications on-premise.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Retire:&lt;/strong&gt; Shutdown unused applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Repurchase:&lt;/strong&gt; Replace with a cloud-based solution.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  3- Migrate Stage
&lt;/h3&gt;

&lt;p&gt;Conducted in phases, working concurrently with the monitor stage.&lt;/p&gt;

&lt;h3&gt;
  
  
  4- Monitor Stage
&lt;/h3&gt;

&lt;p&gt;Runs alongside the migrate stage to ensure smooth transitions.&lt;/p&gt;

&lt;h3&gt;
  
  
  5- Optimize Stage
&lt;/h3&gt;

&lt;p&gt;Enhance efficiency, refine processes, and implement improvements for better performance.&lt;/p&gt;

&lt;h1&gt;
  
  
  AWS Cost Optimization
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9pux7zgmq3a2osje1i1c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9pux7zgmq3a2osje1i1c.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;AWS Resource Groups &amp;amp; Tag Editor&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Tag Editor&lt;/strong&gt; to track resources and identify those incurring charges.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Set Budgets in AWS Billing&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create &lt;strong&gt;Budgets&lt;/strong&gt; to get alerts when spending hits thresholds.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Schedule &lt;strong&gt;budget reports&lt;/strong&gt; for proactive cost management.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Reduce Console Access/UI, Use IaC&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Terraform&lt;/strong&gt; or similar tools for automated resource management.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Apply Least Privilege Access&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Limit permissions to essential roles to prevent unnecessary resource usage.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Automate with AWS Lambda&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Use a &lt;strong&gt;Lambda function&lt;/strong&gt; triggered by &lt;strong&gt;cron jobs&lt;/strong&gt;, &lt;strong&gt;AWS CLI&lt;/strong&gt;, or &lt;strong&gt;CloudWatch&lt;/strong&gt; events.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write Python scripts to identify stale or unused resources based on specific conditions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Define actions for stale resources:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. &lt;strong&gt;Notify:&lt;/strong&gt; Use &lt;strong&gt;SNS (Simple Notification Service)&lt;/strong&gt; to send an email alert about stale resources.

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Cleanup:&lt;/strong&gt; Automatically delete stale resources using APIs.
&lt;/li&gt;
&lt;/ol&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Request AWS Support for Unexpected Charges&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/h3&gt;



&lt;ul&gt;
&lt;li&gt;Contact &lt;strong&gt;AWS Support&lt;/strong&gt; for waivers on unexpected charges.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
    </item>
    <item>
      <title>AWS ELB (Elastic Load Balancer)</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 19:51:17 +0000</pubDate>
      <link>https://forem.com/kalpesh47/aws-elb-elastic-load-balancer-5go3</link>
      <guid>https://forem.com/kalpesh47/aws-elb-elastic-load-balancer-5go3</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;p&gt;ELB distributes incoming network traffic across multiple servers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Primary purpose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Optimize resource use&lt;/li&gt;
&lt;li&gt;Enhance application performance&lt;/li&gt;
&lt;li&gt;Ensure high availability by preventing any single server from becoming overwhelmed with too many requests.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  OSI Model
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw8ajmdtu3dii1zqyardn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw8ajmdtu3dii1zqyardn.png" alt=" " width="800" height="632"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3 Types of ELB
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;ELB Type&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Protocols&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Use Cases&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Cost Aspect&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Application Load Balancer (ALB&lt;/strong&gt;) - Layer 7&lt;/td&gt;
&lt;td&gt;HTTP/HTTPS&lt;/td&gt;
&lt;td&gt;Web apps, microservices, content &amp;amp; path-based routing&lt;/td&gt;
&lt;td&gt;Costlier&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Network Load Balancer (NLB)&lt;/strong&gt; - Layer 4&lt;/td&gt;
&lt;td&gt;TCP/UDP/TLS&lt;/td&gt;
&lt;td&gt;Low-latency apps, millions of requests/sec, static IP&lt;/td&gt;
&lt;td&gt;Moderate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Gateway Load Balancer (GWLB)&lt;/strong&gt; - Layer 3&lt;/td&gt;
&lt;td&gt;IP Protocol&lt;/td&gt;
&lt;td&gt;Network appliances, firewalls, security monitoring&lt;/td&gt;
&lt;td&gt;Less costlier than ALB and NLB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Load Balancer vs API Gateway vs Kubernetes Ingress (Reverse Proxy)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Feature&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Load Balancer&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;API Gateway&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Kubernetes Ingress (Reverse Proxy)&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Primary Purpose&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Distributes traffic for high availability&lt;/td&gt;
&lt;td&gt;Manages, secures, and scales APIs&lt;/td&gt;
&lt;td&gt;Routes external traffic to internal services in Kubernetes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Layer of Operation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Layer 4 or Layer 7&lt;/td&gt;
&lt;td&gt;Layer 7&lt;/td&gt;
&lt;td&gt;Layer 7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Traffic distribution, fault tolerance&lt;/td&gt;
&lt;td&gt;Authentication, rate limiting, monitoring&lt;/td&gt;
&lt;td&gt;URL rewriting, SSL termination, routing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Use Case&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;High-traffic web applications (e.g., Amazon)&lt;/td&gt;
&lt;td&gt;Microservices architectures (e.g., Netflix)&lt;/td&gt;
&lt;td&gt;Containerized apps in Kubernetes (e.g., GitHub)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  API Gateway
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfuhx7nj41auvu1p2rn0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfuhx7nj41auvu1p2rn0.png" alt=" " width="720" height="656"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  API Gateway vs Load Balancer
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr9w0h7dncck1puwfyui7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr9w0h7dncck1puwfyui7.png" alt=" " width="720" height="503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Example: E-commerce Platform&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Load Balancer&lt;/strong&gt;: Distributes traffic across multiple API Gateway instances.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;API Gateway&lt;/strong&gt;: Manages and secures APIs for product catalog, user authentication, and payment processing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Kubernetes Ingress&lt;/strong&gt;: Routes traffic to backend services like inventory management, order processing, and recommendation engines.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Backend Services&lt;/strong&gt;: Reside in a private subnet and handle the core business logic.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrjghufbzmhwaim7ye2j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrjghufbzmhwaim7ye2j.png" alt=" " width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to share and spread the knowledge! 🌟😊 Enjoy Learning! 😊&lt;/p&gt;

</description>
      <category>aws</category>
      <category>loadbalancer</category>
    </item>
    <item>
      <title>AWS Services- 2</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 19:49:21 +0000</pubDate>
      <link>https://forem.com/kalpesh47/aws-services-2-372b</link>
      <guid>https://forem.com/kalpesh47/aws-services-2-372b</guid>
      <description>&lt;h1&gt;
  
  
  S3 Buckets
&lt;/h1&gt;

&lt;p&gt;S3 buckets are containers for storing &lt;code&gt;objects (files)&lt;/code&gt; in Amazon S3.&lt;br&gt;
Amazon S3 (Simple Storage Service) is a &lt;code&gt;scalable, secure&lt;/code&gt; cloud storage solution from AWS&lt;/p&gt;

&lt;h3&gt;
  
  
  Benefits of S3 Buckets
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Durability and Availability:&lt;/strong&gt; High durability and availability for data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scalability:&lt;/strong&gt; Store and retrieve unlimited data without capacity concerns.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security:&lt;/strong&gt; Features like encryption, access control, and audit logging.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance:&lt;/strong&gt; Optimized for high performance in data operations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cost-Effective:&lt;/strong&gt; Flexible pricing models based on usage.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Uploading and Managing Objects in S3 Buckets
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Methods of Uploading:&lt;/strong&gt; Objects can be uploaded via the AWS Management Console, AWS CLI, SDKs, or direct HTTP uploads, each with a unique key for retrieval.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Object Metadata:&lt;/strong&gt; Includes content type, cache control, encryption settings, and custom attributes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Versioning&lt;/strong&gt;: Retain multiple versions of an object.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;File Formats and Encryption:&lt;/strong&gt; Supports various file formats and server-side encryption options (SSE-S3, SSE-KMS, SSE-C).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lifecycle Management:&lt;/strong&gt; Define rules for transitioning storage classes or automatic deletions to optimize costs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Multipart Uploads:&lt;/strong&gt; Enhances performance for large objects by allowing parallel uploads and resumable transfers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;S3 Batch Operations:&lt;/strong&gt; Facilitates bulk actions on datasets, such as copying, tagging, or restoring archived data.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Advanced S3 Bucket Features
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ozdsb37bhdojf4jy8h0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ozdsb37bhdojf4jy8h0.png" alt=" " width="800" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Storage Classes:&lt;/strong&gt; Offers various storage classes for different use cases.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Replication:&lt;/strong&gt; Enables automatic replication across buckets for disaster recovery or low-latency access.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Event Notifications:&lt;/strong&gt; Configure triggers for actions like AWS Lambda functions or messaging with Amazon SQS/SNS on object events.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Security and Compliance in S3 Buckets
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security Considerations:&lt;/strong&gt; Ensure proper configuration of bucket policies, access controls.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Encryption:&lt;/strong&gt; Utilize server-side encryption for data at rest and SSL/TLS for data in transit.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Access Logging:&lt;/strong&gt; Activate logging to record request histories and monitor for unauthorized activities.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  S3 Bucket Management and Administration
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bucket Policies:&lt;/strong&gt; Manage access permissions with JSON-format policies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;IAM Roles:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use IAM roles for temporary credentials and fine-grained control.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IAM user policies&lt;/strong&gt; can &lt;code&gt;override&lt;/code&gt; settings in &lt;strong&gt;S3 bucket policies&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;APIs and SDKs:&lt;/strong&gt; Programmatically interact with S3 using AWS SDKs or APIs.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Monitoring with CloudWatch:&lt;/strong&gt; Monitor S3 metrics and set alarms for specific events.&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Troubleshooting and Error Handling
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Common Errors:&lt;/strong&gt; Address access denied, bucket not found, and quota exceeded issues by checking permissions and configurations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Debugging Access Issues:&lt;/strong&gt; Utilize &lt;code&gt;AWS CloudTrail&lt;/code&gt; and access logs to resolve permission-related problems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Data Consistency:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use versioning&lt;/li&gt;
&lt;li&gt;Use S3 notifications for recovery&lt;/li&gt;
&lt;li&gt;Use Cross-Region Replication for disaster recovery.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h1&gt;
  
  
  Secret Management on AWS
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS KMS (Key Management Service):&lt;/strong&gt; Encryption and management of cryptographic keys Securely.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS System Manager:&lt;/strong&gt; Storing &lt;code&gt;non-sensitive&lt;/code&gt; configuration data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AWS Secrets Manager:&lt;/strong&gt; Storing &lt;code&gt;sensitive data&lt;/code&gt; securely &amp;amp; automatically &lt;code&gt;rotate secrets&lt;/code&gt; and manage access through IAM.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;HashiCorp Vault:&lt;/strong&gt; It’s a open source platform, designed for &lt;code&gt;hybrid&lt;/code&gt; environments with &lt;code&gt;robust features&lt;/code&gt;, unlike aws focus.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel free to share and spread the knowledge! 🌟😊 Enjoy Learning! 😊&lt;/p&gt;

</description>
      <category>aws</category>
      <category>s3</category>
    </item>
    <item>
      <title>AWS VPC: Virtual Private Cloud</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 19:45:11 +0000</pubDate>
      <link>https://forem.com/kalpesh47/aws-vpc-virtual-private-cloud-lc4</link>
      <guid>https://forem.com/kalpesh47/aws-vpc-virtual-private-cloud-lc4</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuxhr4v5qhuqrxc2n3ov4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuxhr4v5qhuqrxc2n3ov4.png" alt=" " width="521" height="311"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VPC is a virtual network that you create in the cloud. It allows you to have your own private section of the internet. Within this VPC, you can create and manage various resources, such as servers, databases, and storage.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  VPC components
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvm9a4mcs4hqdkrwxu0pf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvm9a4mcs4hqdkrwxu0pf.png" alt=" " width="611" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Virtual private clouds (VPC)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;VPC is a virtual network that closely resembles a traditional network that you'd operate in your own data center. After you create a VPC, you can add subnets.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Subnets
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Subnet is a &lt;code&gt;range of IP&lt;/code&gt; addresses in your VPC. A subnet must reside in a single Availability Zone. After you add subnets, you can deploy AWS resources in your VPC.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  IP addressing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You can assign IP addresses, both IPv4 and IPv6, to your &lt;code&gt;VPCs and subnets&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Security Group
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Security group acts as a &lt;code&gt;virtual firewall for instances&lt;/code&gt; within a VPC. It controls inbound and outbound traffic at the &lt;code&gt;instance level&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Security groups allow you to &lt;code&gt;define rules&lt;/code&gt; that permit or restrict traffic based on protocols, ports, and IP addresses.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Network Access Control List (NACL)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Network Access Control List is a &lt;code&gt;stateless firewall&lt;/code&gt; that controls inbound and outbound traffic at the &lt;code&gt;subnet level&lt;/code&gt;. It operates at the IP address level and can allow or deny traffic based on rules that you define.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Network Address Translation&lt;/strong&gt; (NAT)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Service that allows private IP networks to use the internet by &lt;code&gt;translating private IP addresses to public IP addresses&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Routing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Route tables to determine where network traffic from your subnet or gateway is directed.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Gateways and endpoints
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Gateway connects your VPC to another network. For example, use an internet gateway to connect your VPC to the internet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;VPC endpoint to connect to AWS services &lt;code&gt;privately&lt;/code&gt;, without the use of an internet gateway or NAT device.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Peering connections
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use a VPC peering connection to route traffic between the resources in two VPCs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Transit gateways
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Transit gateway, which acts as a &lt;code&gt;central hub&lt;/code&gt;, to route traffic between your VPCs, VPN connections, and AWS Direct Connect connections.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  VPC Flow Logs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A flow log &lt;code&gt;captures information about the IP traffic&lt;/code&gt; going to and from network interfaces in your VPC.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  VPN connections
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Connect your VPCs to your on-premises networks using AWS Virtual Private Network (AWS VPN).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Bastion Host in VPC
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnaboek2096we2othkcmm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnaboek2096we2othkcmm.png" alt=" " width="620" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;An Instance acts as a &lt;code&gt;secure gateway&lt;/code&gt; to control access to a private network from an external network&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It &lt;code&gt;resides in a public subnet&lt;/code&gt; within the VPC, &lt;code&gt;acting as an intermediary&lt;/code&gt; between external traffic and the private network.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel free to share and spread the knowledge! 🌟😊 Enjoy Learning! 😊&lt;/p&gt;

</description>
      <category>aws</category>
      <category>vpc</category>
    </item>
    <item>
      <title>AWS CLI Basics: A Beginner’s Tutorial</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 19:41:17 +0000</pubDate>
      <link>https://forem.com/kalpesh47/aws-cli-basics-a-beginners-tutorial-34pi</link>
      <guid>https://forem.com/kalpesh47/aws-cli-basics-a-beginners-tutorial-34pi</guid>
      <description>&lt;h3&gt;
  
  
  Install AWS CLI
&lt;/h3&gt;

&lt;p&gt;Download and Install it from the &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html" rel="noopener noreferrer"&gt;official AWS CLI installation guide&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Run aws configure
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;aws configure

aws configure &lt;span class="nt"&gt;--profile&lt;/span&gt; myprofile
AWS Access Key ID &lt;span class="o"&gt;[&lt;/span&gt;None]: YOUR_ACCESS_KEY_ID
AWS Secret Access Key &lt;span class="o"&gt;[&lt;/span&gt;None]: YOUR_SECRET_ACCESS_KEY
Default region name &lt;span class="o"&gt;[&lt;/span&gt;None]: us-west-2
Default output format &lt;span class="o"&gt;[&lt;/span&gt;None]: json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Verify Configuration
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws configure list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Configuration Files
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;AWS configure command stores your&lt;/strong&gt; &lt;code&gt;credentials&lt;/code&gt; &lt;strong&gt;&amp;amp;&lt;/strong&gt; &lt;code&gt;configuration&lt;/code&gt; &lt;strong&gt;settings in two files located in the ~/.aws directory:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;~/.aws/credentials:&lt;/strong&gt; Stores your AWS access key ID and secret access.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;key.~/.aws/config:&lt;/strong&gt; Stores your default region and output format.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Remove Credentials from Configuration File
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Manually remove the credentials from the configuration file&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Open the &lt;code&gt;~/.aws/credentials&lt;/code&gt; file (on Unix-based systems) or &lt;code&gt;C:\Users\&lt;/code&gt;&lt;a href="http://USERNAME.aws" rel="noopener noreferrer"&gt;&lt;code&gt;USERNAME.aws&lt;/code&gt;&lt;/a&gt;&lt;code&gt;\credentials&lt;/code&gt; (on Windows).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Delete the &lt;code&gt;[default] section or any other named profile section&lt;/code&gt; that contains your credentials.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Unset Environment Variables
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;If you have set your AWS credentials using environment variables, you can unset them:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;unset &lt;/span&gt;AWS_ACCESS_KEY_ID
&lt;span class="nb"&gt;unset &lt;/span&gt;AWS_SECRET_ACCESS_KEY
&lt;span class="nb"&gt;unset &lt;/span&gt;AWS_SESSION_TOKEN
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Delete AWS CLI Cache
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;rm&lt;/span&gt; &lt;span class="nt"&gt;-rf&lt;/span&gt; ~/.aws/cli/cache
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Feel free to share and spread the knowledge! 🌟😊 Enjoy Learning! 😊&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cli</category>
    </item>
    <item>
      <title>SonarQube Installation on EC2</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 19:39:40 +0000</pubDate>
      <link>https://forem.com/kalpesh47/sonarqube-installation-on-ec2-ckd</link>
      <guid>https://forem.com/kalpesh47/sonarqube-installation-on-ec2-ckd</guid>
      <description>&lt;p&gt;&lt;strong&gt;Install SonarQube in the&lt;/strong&gt; &lt;code&gt;/opt&lt;/code&gt; &lt;strong&gt;directory on Ubuntu, follow these steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Update Package List and Install Dependencies&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;openjdk-11-jdk wget unzip
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Download SonarQube&lt;/strong&gt;: Visit the SonarQube download page to get the latest version URL or use the command below for a specific version. For example:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.6.1.62043.zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Extract the Downloaded File&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;unzip sonarqube-9.6.1.62043.zip &lt;span class="nt"&gt;-d&lt;/span&gt; /opt
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create a SonarQube User&lt;/strong&gt; (Optional but recommended for security):&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;useradd &lt;span class="nt"&gt;--system&lt;/span&gt; &lt;span class="nt"&gt;--home&lt;/span&gt; /opt/sonarqube &lt;span class="nt"&gt;--shell&lt;/span&gt; /bin/false sonarqube
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Change Ownership of the SonarQube Directory&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo chown&lt;/span&gt; &lt;span class="nt"&gt;-R&lt;/span&gt; sonarqube:sonarqube /opt/sonarqube-9.6.1.62043
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configure SonarQube&lt;/strong&gt;: Edit the &lt;code&gt;sonar.properties&lt;/code&gt; file to set up SonarQube (&lt;code&gt;e.g., database configuration, web server ports, user &amp;amp; passwd):&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;vi /opt/sonarqube-9.6.1.62043/conf/sonar.properties
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create a Systemd Service File&lt;/strong&gt;: Create a service file for SonarQube to manage it as a systemd service:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;vi /etc/systemd/system/sonarqube.service
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Add the following content:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;[&lt;/span&gt;Unit]
&lt;span class="nv"&gt;Description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;SonarQube
&lt;span class="nv"&gt;After&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;syslog.target network.target

&lt;span class="o"&gt;[&lt;/span&gt;Service]
&lt;span class="nv"&gt;Type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;forking
&lt;span class="nv"&gt;User&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;sonarqube
&lt;span class="nv"&gt;Group&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;sonarqube
&lt;span class="nv"&gt;ExecStart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/opt/sonarqube-9.6.1.62043/bin/linux-x86-64/sonar.sh start
&lt;span class="nv"&gt;ExecStop&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/opt/sonarqube-9.6.1.62043/bin/linux-x86-64/sonar.sh stop
&lt;span class="nv"&gt;LimitNOFILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;65536
&lt;span class="nv"&gt;LimitNPROC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;8192
&lt;span class="nv"&gt;Restart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;always

&lt;span class="o"&gt;[&lt;/span&gt;Install]
&lt;span class="nv"&gt;WantedBy&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;multi-user.target
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Reload Systemd and Start SonarQube&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bashCopy codesudo systemctl daemon-reload
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl start sonarqube
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;sonarqube
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Access SonarQube at&lt;/strong&gt; &lt;code&gt;http://&amp;lt;public IP&amp;gt;:9000&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Feel free to share and spread the knowledge! 🌟😊 Enjoy Learning! 😊&lt;/p&gt;

</description>
      <category>sonar</category>
      <category>sonarqube</category>
    </item>
    <item>
      <title>Introduction to GitOps: Argo CD &amp; Argo Image Updater</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 19:35:29 +0000</pubDate>
      <link>https://forem.com/kalpesh47/introduction-to-gitops-argo-cd-argo-image-updater-1m8d</link>
      <guid>https://forem.com/kalpesh47/introduction-to-gitops-argo-cd-argo-image-updater-1m8d</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7itvi9ir4wc25o4pun12.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7itvi9ir4wc25o4pun12.png" alt=" " width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitOps uses &lt;code&gt;Git as the single source of truth&lt;/code&gt; to deliver &lt;code&gt;applications and infrastructure&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  GitOps Principle
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy4a7a2vlaf5rs3yt2ziq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy4a7a2vlaf5rs3yt2ziq.png" alt=" " width="800" height="258"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Argo CD resides in K8s cluster, which is k8s controller&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Desired state must expressed &lt;code&gt;declaratively&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Desired state must stored in way to &lt;code&gt;enforcing immutability &amp;amp; versioning&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Software agent (controller= argoCD)&lt;code&gt;automatically pulled&lt;/code&gt; desired declarative state from source&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Software agent (controller= argoCD) &lt;code&gt;continuously reconciled&lt;/code&gt; actual &amp;amp; desired state&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Advantages of GitOps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;security&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;versioning&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Auto Upgrade&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Auto Healing from any unwanted changes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Continuous reconcile&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Argo CD Installation methods
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;manifest yaml&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;helm chart&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;operator&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ArgoCD Architecture
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr5j7trjq6isr3fymz52r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr5j7trjq6isr3fymz52r.png" alt=" " width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Application controller:&lt;/strong&gt; &lt;code&gt;Reconciling&lt;/code&gt; the desired state of applications with the actual state&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Repo server:&lt;/strong&gt; Interactions with Git repositories, fetching and &lt;code&gt;tracking changes&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;API server:&lt;/strong&gt; Acts as the &lt;code&gt;interface&lt;/code&gt; for Argo CD, handling requests from users and other components&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dex:&lt;/strong&gt; An identity and access management server used to &lt;code&gt;authenticate and authorize users&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Redis:&lt;/strong&gt; An in-memory data store used for &lt;code&gt;caching and session management&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Argo Image Updater
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvsy6ai1curnrcaqbrqh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvsy6ai1curnrcaqbrqh.png" alt=" " width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Argo Image Updater resides in K8s cluster, which is k8s controller&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scans for new images in CI:&lt;/strong&gt; It &lt;code&gt;continuously checks for new versions of the container images&lt;/code&gt; in registry(GitHub) which is used in applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Updates deployments(manifests) in CD:&lt;/strong&gt; If there's a new version available, it &lt;code&gt;updates the deployment(manifests).&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Argo CD applies changes:&lt;/strong&gt; Argo CD then applies these changes to your Kubernetes cluster with help of &lt;code&gt;deployment(manifests) as single source of truth.&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel free to share and spread the knowledge! 🌟😊 Enjoy Learning! 😊&lt;/p&gt;

</description>
      <category>argocd</category>
    </item>
    <item>
      <title>Kubernetes Overview</title>
      <dc:creator>KALPESH</dc:creator>
      <pubDate>Thu, 05 Mar 2026 19:33:56 +0000</pubDate>
      <link>https://forem.com/kalpesh47/kubernetes-overview-5308</link>
      <guid>https://forem.com/kalpesh47/kubernetes-overview-5308</guid>
      <description>&lt;p&gt;Kubernetes is Orchestration system for automating software deployment, scaling, and management.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem that Kubernetes solving
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Single Host&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;K8 work as clusters which has a group of computing nodes, that run containerized applications&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;K8 use &lt;code&gt;HPA(horizontal pod auto scaling)&lt;/code&gt; feature to accommodate the load&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Auto Healing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;K8 fixes the damaged by creating new container with help of K8 control plane&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Enterprise Level&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Solve Enterprise level problem like: orchestration, firewall, etc.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  K8s Cluster Architecture
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7b0axvp085c61s8w32w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7b0axvp085c61s8w32w.png" alt=" " width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Plane (worker nodes)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Container Runtime&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In order run container application like docker, we need &lt;code&gt;container runtime:&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dockershim&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;containerd&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CRI-O&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Pod&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pod is smallest unit in K8s act as &lt;code&gt;wrapper for containers&lt;/code&gt;. It represents a &lt;code&gt;single instance of a running process&lt;/code&gt; in cluster.&lt;/li&gt;
&lt;li&gt;Provide &lt;code&gt;declarative way (YAML)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Can run &lt;code&gt;more than 1 container&lt;/code&gt; in a pod&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;CRI(Container Runtime Interface)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's a &lt;code&gt;API&lt;/code&gt; that allow kubelet to communicate with different container runtimes.&lt;/p&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;kubelet&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Responsible for pods monitoring, deletion, creation.&lt;/p&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;kube-proxy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Responsible for pods networking, IP, load balancing.&lt;/p&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Control Plane (master nodes)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;kube-api-server&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;API server act as central management hub of control plane.&lt;/p&gt;

&lt;p&gt;It &lt;code&gt;expose K8s API&lt;/code&gt; to external world, which enables communication b/w different components of the control plane and the worker nodes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;scheduler&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Responsible for assigning newly created pods to nodes.&lt;/p&gt;

&lt;p&gt;Ensuring that workloads are evenly distributed and that pods are placed on nodes that meet their resource and other requirements.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;etcd&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's a key-value &lt;code&gt;data storage&lt;/code&gt;. It is responsible for storing all the cluster's state and configuration data. Act as &lt;code&gt;Back-up of K8s cluster&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Controller Manager&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It responsible for &lt;code&gt;managing &amp;amp; maintaining desired state of cluster&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It runs a &lt;code&gt;set of controllers&lt;/code&gt; that perform various cluster management tasks.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cloud Controller Manager&lt;/strong&gt; (CCM)&lt;/p&gt;

&lt;p&gt;Responsible for managing cloud-specific resources and interacting with the cloud provider's API.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  K8s Namespace
&lt;/h2&gt;

&lt;p&gt;Namespace is &lt;code&gt;logical isolation&lt;/code&gt; of resources, n/w, policies, rbac.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;KOPS&lt;/strong&gt; (Kubernetes Operations)
&lt;/h2&gt;

&lt;p&gt;KOPS an open-source tool that simplifies the &lt;code&gt;creation, management, &amp;amp; upgrading of K8s clusters&lt;/code&gt; on cloud providers such as AWS, GCE, and Azure.&lt;/p&gt;

&lt;h2&gt;
  
  
  K8s Installation &amp;amp; Commands
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Installation of kubectl
&lt;/h3&gt;

&lt;p&gt;kubectl is command-line for K8s&lt;/p&gt;

&lt;p&gt;For further assistance refer: &lt;a href="https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/" rel="noopener noreferrer"&gt;kubectl documentation&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Download the latest release with the command:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-LO&lt;/span&gt; &lt;span class="s2"&gt;"https://dl.k8s.io/release/&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-L&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; https://dl.k8s.io/release/stable.txt&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;/bin/linux/amd64/kubectl"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install kubectl&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo install&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; root &lt;span class="nt"&gt;-g&lt;/span&gt; root &lt;span class="nt"&gt;-m&lt;/span&gt; 0755 kubectl /usr/local/bin/kubectl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Installation of minikube (local K8s cluster)
&lt;/h3&gt;

&lt;p&gt;For further assistance refer: &lt;a href="https://minikube.sigs.k8s.io/docs/start/?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download" rel="noopener noreferrer"&gt;minikube documentation&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Installation&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-LO&lt;/span&gt; https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
&lt;span class="nb"&gt;sudo install &lt;/span&gt;minikube-linux-amd64 /usr/local/bin/minikube &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;rm &lt;/span&gt;minikube-linux-amd64
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start minikube&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# minikube function&lt;/span&gt;
&lt;span class="c"&gt;# VM -&amp;gt; single node K8s cluster&lt;/span&gt;

minikube start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  kubectl Commands
&lt;/h3&gt;

&lt;p&gt;get k8s clusters, filter with region&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl config get-contexts | &lt;span class="nb"&gt;grep &lt;/span&gt;ap-south-1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;selecting k8s cluster&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl config use-context &amp;lt;user-name&amp;gt;@&amp;lt; k8scluster name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;checking current k8s cluster&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl config current-context
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;get no. of nodes&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl get nodes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;create pod&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl create &lt;span class="nt"&gt;-f&lt;/span&gt; pod.yml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;get no. of pods&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl get pods

&lt;span class="c"&gt;# More details of pods&lt;/span&gt;
kubectl get pods &lt;span class="nt"&gt;-o&lt;/span&gt; wide
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;delete pods&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl delete pod nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;detail info about pods&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl describe pod nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;debug pods&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kubectl logs nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  K8s Pods
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;pod.yml&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx:1.14.2
    ports:
    - containerPort: 80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  K8s Deployment
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;deployment.yml&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3  &lt;span class="c"&gt;# Replica-set ensure auto-healing by Controller&lt;/span&gt;
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx  &lt;span class="c"&gt;# Label for pods&lt;/span&gt;
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  K8s Service
&lt;/h2&gt;

&lt;p&gt;A K8s Service provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Load balancing&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Service (network) discovery using &lt;code&gt;labels and selectors&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;External &lt;code&gt;exposure&lt;/code&gt; to world&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;                          |---------------------------------------------|
+-------------------+     | +----------------+      +-----------------+ |    +-----------+      +-----------+
|    Service        | &lt;span class="nt"&gt;---&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;| | Deployment     |---&amp;gt;  |   ReplicaSet    | |--&amp;gt; |    Pod    | &lt;span class="nt"&gt;---&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; | Container |
| &lt;span class="o"&gt;(&lt;/span&gt;Load Balancer&lt;span class="o"&gt;)&lt;/span&gt;   |     | |                |      |                 | |    |           |      |           |
+-------------------+     | +----------------+      +-----------------+ |    +-----------+      +-----------+
                          |---------------------------------------------|
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Type of service
&lt;/h3&gt;

&lt;p&gt;Types of services:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ClusterIP&lt;/strong&gt;: Access &lt;code&gt;within cluster&lt;/code&gt; network&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;NodePort&lt;/strong&gt;: Access through &lt;code&gt;outside cluster&lt;/code&gt;: organization, VPC, or nodes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;LoadBalancer&lt;/strong&gt;: &lt;code&gt;Public access&lt;/code&gt; from outside&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;service.yml&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apiVersion: v1
kind: Service
metadata:
  name: my-loadbalancer-service
spec:
  &lt;span class="nb"&gt;type&lt;/span&gt;: LoadBalancer
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80        &lt;span class="c"&gt;# Service port&lt;/span&gt;
      targetPort: 8080  &lt;span class="c"&gt;# Pod port&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Kubeshark
&lt;/h2&gt;

&lt;p&gt;Tool that provides real-time visibility into K8s clusters API traffic&lt;/p&gt;

&lt;h2&gt;
  
  
  K8s Ingress
&lt;/h2&gt;

&lt;p&gt;K8s Ingress addresses the following enterprise challenges:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Security&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Advance Load balancing (various types)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fstehdqs9rvz5b2y3blak.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fstehdqs9rvz5b2y3blak.png" alt=" " width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Ingress Controller
&lt;/h3&gt;

&lt;p&gt;Watches for &lt;code&gt;Ingress resources&lt;/code&gt; &amp;amp; enforces these rules by updating its underlying load balancer or proxy configuration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Common Ingress Controller:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;NGINX&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HAProxy&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Ingress Resource
&lt;/h3&gt;

&lt;p&gt;Defines the &lt;code&gt;routing rules&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Type of Load Balancing:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Host: Directs traffic based on the hostname.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Paths: Directs traffic based on URL paths.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;TLS: HTTPS traffic with SSL certificates.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
spec:
  rules:
  - host: myapp.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;K8s RBAC (Role based access control)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;RBAC is flexible method for &lt;code&gt;managing access control&lt;/code&gt; in various systems, OS, databases, and applications, which &lt;code&gt;improve security&lt;/code&gt; &amp;amp; &lt;code&gt;ensure compliance&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;RBAC is general access control manager, unlike AWS IAM which is cloud specific.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Service Account:&lt;/strong&gt; Provides an &lt;code&gt;identity&lt;/code&gt; for processes running in a pod&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Role:&lt;/strong&gt; Defines a &lt;code&gt;set of permissions&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Role Binding:&lt;/strong&gt; &lt;code&gt;Associates&lt;/code&gt; &lt;code&gt;role&lt;/code&gt; with &lt;code&gt;service account&lt;/code&gt; (or user/group)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F24k5ki2ca5a6m68gin7a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F24k5ki2ca5a6m68gin7a.png" alt=" " width="700" height="497"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  K8s CRD, CR &amp;amp; Custom Controller
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7g2vpl3kuiix0iyv3wbg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7g2vpl3kuiix0iyv3wbg.png" alt=" " width="800" height="653"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  CRD (Custom Resource Definition)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;CRD is a way to &lt;code&gt;extend the Kubernetes API&lt;/code&gt; to create your own custom resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It allows you to define &lt;code&gt;new types of resources&lt;/code&gt; that Kubernetes can manage, beyond the built-in types like Pods, Services, and Deployments.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  CR (Custom Resource)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Custom Resource is an &lt;code&gt;instance/new type of resource&lt;/code&gt; of a Custom Resource Definition.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once a CRD is defined and applied to the cluster, you can create, read, update, and delete instances of that custom resource.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Custom Controller
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A custom controller is a piece of software that &lt;code&gt;watches for changes&lt;/code&gt; to custom resources (or other Kubernetes resources)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reconcile the current state of the cluster with the desired state specified by those resources.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  K8s ConfigMaps &amp;amp; Secrets
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fahlujbk3ftc7o5avxuh1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fahlujbk3ftc7o5avxuh1.png" alt=" " width="740" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solves ENV variable problems:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Decoupling Configuration from Code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dynamic Updates&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reusability Across Multiple Pods&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ConfigMaps
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;ConfigMaps are used to &lt;code&gt;store non-confidential configuration data&lt;/code&gt; in key-value pairs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Secrets
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Secrets are used to &lt;code&gt;store sensitive data&lt;/code&gt;, such as passwords, OAuth tokens, and SSH keys &amp;amp; &lt;code&gt;encrypted at rest&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use RBAC to get least access privilege.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Dynamic Configuration: &lt;code&gt;ConfigMaps/Secrets as Volume&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw48xiid5op583t1jxad7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw48xiid5op583t1jxad7.png" alt=" " width="300" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;configmap.yml&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apiVersion: v1
kind: ConfigMap
metadata:
  name: example-config
data:
  database_url: &lt;span class="s2"&gt;"mongodb://localhost:27017"&lt;/span&gt;
  feature_flag: &lt;span class="s2"&gt;"true"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;deployment.yml&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apiVersion: apps/v1
kind: Deployment
metadata:
  name: example-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: example-app
  template:
    metadata:
      labels:
        app: example-app
    spec:
      containers:
      - name: example-container
        image: example-image
        envFrom:
        - configMapRef:
            name: example-config
        volumeMounts:                   &lt;span class="c"&gt;# Mounting Volume to Deploy -&amp;gt; POD&lt;/span&gt;
        - name: config-volume
          mountPath: /etc/config
      volumes:                          &lt;span class="c"&gt;# ConfigMaps as Volume&lt;/span&gt;
      - name: config-volume
        configMap:
          name: example-config
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  K8s Operators &amp;amp; Helm
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Both tools that help manage K8s&lt;/strong&gt; &lt;code&gt;complex (stateful) applications&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzjtcw4wx0c6a7swywyr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzjtcw4wx0c6a7swywyr.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  K8s Operator
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Manage tasks with &lt;code&gt;minimal or no restarts&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Automate operational tasks:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* Upgrades

* Backups

* Failover

* Scaling
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;Functions as a &lt;code&gt;controller&lt;/code&gt; that extends K8s capabilities by using &lt;code&gt;Custom Resource Definitions&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Helm
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1733672275448%2F9650bb13-35d2-4248-9575-51cf80066837.png%2520align%3D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1733672275448%2F9650bb13-35d2-4248-9575-51cf80066837.png%2520align%3D" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;May trigger &lt;code&gt;restarts&lt;/code&gt; during deployments/upgrades&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Package manager&lt;/code&gt; for Kubernetes that simplifies the deployment process by using &lt;code&gt;charts&lt;/code&gt;, which are &lt;code&gt;collections of YAML files&lt;/code&gt; describing a set of &lt;code&gt;K8s resources.&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Helm help with:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* &lt;strong&gt;Defining, Installing, and Upgrading Applications&lt;/strong&gt;: Standardizes and simplifies application lifecycle management.

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Customizing Deployments&lt;/strong&gt;: Enables environment-specific configurations through &lt;code&gt;value overrides&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Release Management&lt;/strong&gt;: Tracks application releases for rollbacks or updates.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Versioning&lt;/strong&gt;: Manages versioned manifest files for repeatable deployments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sharing Charts&lt;/strong&gt;: Facilitates reuse and collaboration across teams or organizations.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
K8s Monitoring: PROMETHEUS &amp;amp; GRAFANA&lt;br&gt;
&lt;/h2&gt;

&lt;h3&gt;


PROMETHEUS
&lt;/h3&gt;


&lt;p&gt;&lt;code&gt;Monitors and alerts&lt;/code&gt; cloud-native environments by &lt;code&gt;collecting metrics&lt;/code&gt; from &lt;code&gt;applications and infrastructure&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  GRAFANA
&lt;/h3&gt;

&lt;p&gt;Allows users to &lt;code&gt;visualize and monitor data&lt;/code&gt; through &lt;code&gt;dashboards and charts&lt;/code&gt;, using Prometheus.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprometheus.io%2Fassets%2Farchitecture.png%2520align%3D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprometheus.io%2Fassets%2Farchitecture.png%2520align%3D" alt="Prometheus architecture" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to share and spread the knowledge! 🌟😊 Enjoy Learning! 😊&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>k8s</category>
    </item>
  </channel>
</rss>
