<?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>DEV Community: Emdadul Islam</title>
    <description>The latest articles on DEV Community by Emdadul Islam (@emdadulislam).</description>
    <link>https://dev.to/emdadulislam</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%2F3227018%2F57d005d0-fb8e-477f-a48e-27ff3f02f181.PNG</url>
      <title>DEV Community: Emdadul Islam</title>
      <link>https://dev.to/emdadulislam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/emdadulislam"/>
    <language>en</language>
    <item>
      <title>🍏 macOS Portfolio – A Fun, Desktop-Inspired Portfolio Template</title>
      <dc:creator>Emdadul Islam</dc:creator>
      <pubDate>Tue, 30 Sep 2025 06:29:36 +0000</pubDate>
      <link>https://dev.to/emdadulislam/macos-portfolio-a-fun-desktop-inspired-portfolio-template-26p3</link>
      <guid>https://dev.to/emdadulislam/macos-portfolio-a-fun-desktop-inspired-portfolio-template-26p3</guid>
      <description>&lt;p&gt;Are you tired of the same old minimal portfolio designs? Let’s spice things up!&lt;br&gt;
Introducing macOS Portfolio – a fun and interactive portfolio template designed with a macOS-inspired user interface.&lt;/p&gt;

&lt;p&gt;This project brings the feel of the macOS desktop right into your browser, complete with a dock, sidebar apps, and smooth animations. On mobile, it adapts to an iOS-like view for the best responsive experience.&lt;/p&gt;

&lt;p&gt;✨ Features&lt;/p&gt;

&lt;p&gt;🍎 macOS-style dock navigation&lt;/p&gt;

&lt;p&gt;📂 Sidebar "apps": About Me, Services, Portfolio, Contact, Resume, Blog&lt;/p&gt;

&lt;p&gt;🎞️ Smooth animations &amp;amp; desktop-like interactions&lt;/p&gt;

&lt;p&gt;📱 Responsive design (macOS on desktop, iOS on mobile)&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%2Fddxz7itc123603meqw7h.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%2Fddxz7itc123603meqw7h.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⭐ GitHub&lt;/p&gt;

&lt;p&gt;Check it out, star ⭐ it, and make it your own:&lt;br&gt;
🔗 &lt;a href="https://github.com/emdadulislam1/macfolio" rel="noopener noreferrer"&gt;https://github.com/emdadulislam1/macfolio&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ui</category>
      <category>portfolio</category>
      <category>opensource</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Docker কি জিনিস?</title>
      <dc:creator>Emdadul Islam</dc:creator>
      <pubDate>Fri, 06 Jun 2025 05:19:40 +0000</pubDate>
      <link>https://dev.to/emdadulislam/docker-ki-jinis-21ah</link>
      <guid>https://dev.to/emdadulislam/docker-ki-jinis-21ah</guid>
      <description>&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: আরে সাকিব ভাই! শুনলাম তুমি এখন Docker নিয়ে কাজ করো। এটা আবার কী জিনিস? কিছু বুঝতে পারছি না।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: আরে তানিম! Docker খুবই মজার একটা জিনিস। তুই কি কখনো চট্টগ্রাম বন্দরে গেছিস? ওখানে বিশাল বিশাল কন্টেইনার দেখেছিস?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: হ্যাঁ দেখেছি। সেই বড় বড় বাক্সগুলো যেগুলো জাহাজে করে আনা-নেওয়া হয়?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: একদম! Docker এর কনসেপ্টটাও ঠিক ওইরকম। তবে এখানে সফটওয়্যার কন্টেইনারে প্যাক করা হয়। আমি বুঝিয়ে বলি।&lt;/p&gt;

&lt;h2&gt;
  
  
  Docker কি জিনিস?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Docker হলো একটা &lt;strong&gt;Containerization Platform&lt;/strong&gt;। সহজ ভাষায় বললে, এটা তোর অ্যাপ্লিকেশনকে একটা বাক্সে প্যাক করে রাখে, যাতে সেটা যেকোনো কম্পিউটারে একইভাবে চলে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: মানে? আমি তো আমার কোড লিখে অন্যের কম্পিউটারেও চালাতে পারি।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: হা হা! সেটাই তো সমস্যা! তুই কি কখনো এমন হয়েছে যে তোর কোড তোর কম্পিউটারে চলে, কিন্তু বন্ধুর কম্পিউটারে চলে না?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: আরে হ্যাঁ! অনেকবার হয়েছে। বলে "আমার কম্পিউটারে তো চলে!"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: এইটাই Docker সমাধান করে। ধর তুই ঢাকা থেকে চট্টগ্রামে খাবার পাঠাচ্ছিস। তুই কিভাবে পাঠাবি?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: একটা কন্টেইনারে প্যাক করে পাঠাব, যাতে খাবার নষ্ট না হয়।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: ঠিক! Docker ও তোর অ্যাপ্লিকেশনকে একটা কন্টেইনারে প্যাক করে। এই কন্টেইনারে থাকে:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;তোর কোড&lt;/li&gt;
&lt;li&gt;তোর কোড চালানোর জন্য যা যা লাগে (Python, Node.js, Java)&lt;/li&gt;
&lt;li&gt;সব ডিপেন্ডেন্সি লাইব্রেরি&lt;/li&gt;
&lt;li&gt;কনফিগারেশন ফাইল&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Docker এর মূল অংশগুলো
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ১. Container (কন্টেইনার)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Container হলো চলমান অ্যাপ্লিকেশনের বাক্স। যেমন তুই একটা কন্টেইনারে খাবার রেখে পাঠালি, খাবার তখন "চলমান" অবস্থায়।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: মানে আমার অ্যাপ যখন চালু হয়, তখন সেটা Container?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: একদম! Container = চলমান অ্যাপ্লিকেশন। যেমন:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;আমার MongoDB Container → ডাটাবেস চালু আছে
আমার Node.js Container → API সার্ভার চালু আছে  
আমার React Container → ফ্রন্টএন্ড চালু আছে
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ২. Image (ইমেজ)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Image হলো Container বানানোর &lt;strong&gt;রেসিপি&lt;/strong&gt; বা &lt;strong&gt;ব্লুপ্রিন্ট&lt;/strong&gt;। যেমন তুই বিরিয়ানি বানানোর রেসিপি লিখে রাখলি।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: মানে Image থেকে Container তৈরি হয়?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: হ্যাঁ! একটা Image থেকে অনেকগুলো Container তৈরি করতে পারিস। যেমন একটা বিরিয়ানির রেসিপি দিয়ে অনেকগুলো বিরিয়ানি রান্না করতে পারিস।&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Image (রেসিপি) → Container (চলমান খাবার)
├── Container-1: আমার কম্পিউটারে চালু
├── Container-2: অফিসের সার্ভারে চালু  
└── Container-3: ক্লাউডে চালু
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৩. Dockerfile
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Dockerfile হলো &lt;strong&gt;রেসিপি লেখার নিয়ম&lt;/strong&gt;। যেমন তুই বিরিয়ানির রেসিপি লিখবি:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;১. ৫০০ গ্রাম চাল নাও
২. ১ কেজি গরুর মাংস নাও
৩. পানিতে ভিজিয়ে রাখো
৪. চুলায় বসাও
৫. ৪৫ মিনিট রান্না করো
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: Dockerfile এও কি এমনই লেখা হয়?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: একদম! দেখ:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="c"&gt;# এই রেসিপিটা Ubuntu কম্পিউটারের জন্য&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="s"&gt; ubuntu:20.04&lt;/span&gt;

&lt;span class="c"&gt;# Node.js ইনস্টল করো  &lt;/span&gt;
&lt;span class="k"&gt;RUN &lt;/span&gt;apt-get update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; apt-get &lt;span class="nb"&gt;install &lt;/span&gt;nodejs npm

&lt;span class="c"&gt;# আমার কোড কপি করো&lt;/span&gt;
&lt;span class="k"&gt;COPY&lt;/span&gt;&lt;span class="s"&gt; . /app&lt;/span&gt;

&lt;span class="c"&gt;# কোডের ফোল্ডারে যাও&lt;/span&gt;
&lt;span class="k"&gt;WORKDIR&lt;/span&gt;&lt;span class="s"&gt; /app&lt;/span&gt;

&lt;span class="c"&gt;# লাইব্রেরি ইনস্টল করো&lt;/span&gt;
&lt;span class="k"&gt;RUN &lt;/span&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt;

&lt;span class="c"&gt;# অ্যাপ চালু করো&lt;/span&gt;
&lt;span class="k"&gt;CMD&lt;/span&gt;&lt;span class="s"&gt; ["node", "server.js"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৪. Docker Hub
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Docker Hub হলো &lt;strong&gt;রেসিপির দোকান&lt;/strong&gt;। যেমন ইউটিউবে রান্নার ভিডিও থাকে, Docker Hub এ বিভিন্ন সফটওয়্যারের Image থাকে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: মানে আমি সেখান থেকে Image ডাউনলোড করতে পারি?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: হ্যাঁ! যেমন:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;nginx&lt;/code&gt; Image দিয়ে ওয়েব সার্ভার&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mysql&lt;/code&gt; Image দিয়ে ডাটাবেস&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;python:3.9&lt;/code&gt; Image দিয়ে Python অ্যাপ&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;node:16&lt;/code&gt; Image দিয়ে Node.js অ্যাপ&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ৫. Volume (ভলিউম)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Volume হলো &lt;strong&gt;স্থায়ী গুদাম&lt;/strong&gt;। Container বন্ধ হয়ে গেলে তার ভিতরের ডাটা চলে যায়। কিন্তু Volume এর ডাটা থেকে যায়।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: এটা কখন লাগে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: ডাটাবেসের ক্ষেত্রে। যেমন তোর MongoDB Container বন্ধ হলে যেন ডাটা হারিয়ে না যায়, সেজন্য Volume ব্যবহার করা হয়।&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Container (সাময়িক) ← → Volume (স্থায়ী ডাটা)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;যেমন তুই হোটেলে থাকিস (Container), কিন্তু তোর মূল্যবান জিনিস ব্যাংকের লকারে (Volume) রাখিস।&lt;/p&gt;

&lt;h3&gt;
  
  
  ৬. Network (নেটওয়ার্ক)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Network হলো Container গুলোর মধ্যে &lt;strong&gt;যোগাযোগের মাধ্যম&lt;/strong&gt;। যেমন অ্যাপার্টমেন্টের ফ্ল্যাটগুলোর মধ্যে ইন্টারকম সিস্টেম।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: এটা কেন লাগে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: যেমন তোর:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend Container → Backend Container এর সাথে কথা বলবে&lt;/li&gt;
&lt;li&gt;Backend Container → Database Container এর সাথে কথা বলবে
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Frontend Container ←→ Backend Container ←→ Database Container
       (Network দিয়ে যোগাযোগ)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  একটা সহজ উদাহরণ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: ধর তুই একটা সিম্পল To-Do অ্যাপ বানাচ্ছিস।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: ওকে, তার জন্য কি কি লাগবে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React.js&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Node.js + Express
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database&lt;/strong&gt;: MongoDB&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ঐতিহ্যগত পদ্ধতি (Docker ছাড়া):
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;সমস্যা:
❌ তোর কম্পিউটারে Node.js 14, বন্ধুর কম্পিউটারে Node.js 16
❌ তোর কম্পিউটারে MongoDB আছে, বন্ধুর নেই
❌ Production সার্ভারে অন্য ভার্সন
❌ "Works on my machine" সমস্যা
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Docker এর পদ্ধতি:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;সমাধান:
✅ সবাই একই Container ব্যবহার করবে
✅ Container এর ভিতর সব কিছু ঠিক আছে
✅ যেকোনো কম্পিউটারে একইভাবে চলবে
✅ Development = Production
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: এটা কিভাবে করবো?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: দেখ, তিনটা Dockerfile বানাবি:&lt;/p&gt;

&lt;h4&gt;
  
  
  Frontend Dockerfile:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="s"&gt; node:16&lt;/span&gt;
&lt;span class="k"&gt;COPY&lt;/span&gt;&lt;span class="s"&gt; . /app&lt;/span&gt;
&lt;span class="k"&gt;WORKDIR&lt;/span&gt;&lt;span class="s"&gt; /app&lt;/span&gt;
&lt;span class="k"&gt;RUN &lt;/span&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;span class="k"&gt;CMD&lt;/span&gt;&lt;span class="s"&gt; ["npm", "start"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Backend Dockerfile:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="s"&gt; node:16&lt;/span&gt;
&lt;span class="k"&gt;COPY&lt;/span&gt;&lt;span class="s"&gt; . /app&lt;/span&gt;
&lt;span class="k"&gt;WORKDIR&lt;/span&gt;&lt;span class="s"&gt; /app&lt;/span&gt;
&lt;span class="k"&gt;RUN &lt;/span&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;span class="k"&gt;CMD&lt;/span&gt;&lt;span class="s"&gt; ["node", "server.js"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  সব একসাথে চালানো (docker-compose.yml):
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;3'&lt;/span&gt;
&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;frontend&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;./frontend&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;3000:3000"&lt;/span&gt;

  &lt;span class="na"&gt;backend&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;./backend&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;5000:5000"&lt;/span&gt;

  &lt;span class="na"&gt;database&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;mongo:5.0&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;mongodb_data:/data/db&lt;/span&gt;

&lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;mongodb_data&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: এখন যদি আমি &lt;code&gt;docker-compose up&lt;/code&gt; কমান্ড দিই?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: তাহলে তিনটা Container একসাথে চালু হবে! আর সবাই একে অপরের সাথে কথা বলতে পারবে।&lt;/p&gt;

&lt;h2&gt;
  
  
  Docker এর সুবিধা
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ১. "Works Everywhere" গ্যারান্টি
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: তোর কোড যদি তোর কম্পিউটারে Docker Container এ চলে, তাহলে সেটা যেকোনো জায়গায় চলবে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: মানে আর "আমার কম্পিউটারে তো চলে" বলতে হবে না?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: একদম না! Docker এর স্লোগানই হলো: &lt;strong&gt;"Build once, run anywhere"&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ২. দ্রুত Deployment
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: ঐতিহ্যগত পদ্ধতিতে সার্ভারে অ্যাপ Deploy করতে অনেক সময় লাগে। Docker এ ৫-১০ সেকেন্ড!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: এত দ্রুত কিভাবে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Container আগে থেকেই তৈরি। শুধু চালু করতে হয়। যেমন তুই instant noodles বানাও - সব উপাদান আগে থেকেই প্যাকেটে আছে।&lt;/p&gt;

&lt;h3&gt;
  
  
  ৩. Resource Efficiency (কম রিসোর্স)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Virtual Machine এর চেয়ে Docker অনেক কম Memory আর CPU ব্যবহার করে।&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Virtual Machine:
├── Host OS (Windows/Linux)
├── Hypervisor (VMware/VirtualBox)  
├── Guest OS (Ubuntu) ← অনেক Memory
├── App Libraries
└── Application

Docker:
├── Host OS (Linux)
├── Docker Engine
├── App Libraries ← শুধু এইটুকু দরকার
└── Application
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৪. Easy Scaling
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: ট্রাফিক বেড়ে গেলে নতুন Container তৈরি করা যায় সেকেন্ডেই।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: Virtual Machine এ কত সময় লাগে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: VM তৈরি করতে ৫-১০ মিনিট, Container তৈরি করতে ৫-১০ সেকেন্ড!&lt;/p&gt;

&lt;h3&gt;
  
  
  ৫. Microservices Architecture
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Docker দিয়ে খুব সহজে Microservices বানানো যায়। যেমন:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;E-commerce App:
├── User Service Container
├── Product Service Container  
├── Order Service Container
├── Payment Service Container
└── Notification Service Container
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;প্রতিটা Service আলাদাভাবে Scale করা যায়।&lt;/p&gt;

&lt;h2&gt;
  
  
  Docker কমান্ড গুলো
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: এই যে এত কথা বললে, আসলে কিভাবে ব্যবহার করবো?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: কয়েকটা বেসিক কমান্ড শিখলেই হবে:&lt;/p&gt;

&lt;h3&gt;
  
  
  মূল কমান্ড সমূহ:
&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;# Image ডাউনলোড করা&lt;/span&gt;
docker pull nginx

&lt;span class="c"&gt;# Container চালানো&lt;/span&gt;
docker run &lt;span class="nt"&gt;-p&lt;/span&gt; 80:80 nginx

&lt;span class="c"&gt;# চলমান Container দেখা&lt;/span&gt;
docker ps

&lt;span class="c"&gt;# সব Container দেখা (বন্ধ + চালু)&lt;/span&gt;
docker ps &lt;span class="nt"&gt;-a&lt;/span&gt;

&lt;span class="c"&gt;# Container বন্ধ করা&lt;/span&gt;
docker stop container_name

&lt;span class="c"&gt;# Container মুছে ফেলা&lt;/span&gt;
docker &lt;span class="nb"&gt;rm &lt;/span&gt;container_name

&lt;span class="c"&gt;# Image দেখা&lt;/span&gt;
docker images

&lt;span class="c"&gt;# Image মুছে ফেলা  &lt;/span&gt;
docker rmi image_name

&lt;span class="c"&gt;# Container এর ভিতর ঢোকা&lt;/span&gt;
docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; container_name bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Image তৈরি করা:
&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;# Dockerfile থেকে Image বানানো&lt;/span&gt;
docker build &lt;span class="nt"&gt;-t&lt;/span&gt; my-app &lt;span class="nb"&gt;.&lt;/span&gt;

&lt;span class="c"&gt;# Image চালানো&lt;/span&gt;
docker run &lt;span class="nt"&gt;-p&lt;/span&gt; 3000:3000 my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Docker Compose:
&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;# সব Container একসাথে চালু&lt;/span&gt;
docker-compose up

&lt;span class="c"&gt;# Background এ চালু&lt;/span&gt;
docker-compose up &lt;span class="nt"&gt;-d&lt;/span&gt;

&lt;span class="c"&gt;# সব Container বন্ধ&lt;/span&gt;
docker-compose down

&lt;span class="c"&gt;# Logs দেখা&lt;/span&gt;
docker-compose logs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  বাস্তব জীবনের উদাহরণ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: কোন কোন কোম্পানি Docker ব্যবহার করে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: প্রায় সব টেক কোম্পানি! যেমন:&lt;/p&gt;

&lt;h3&gt;
  
  
  ১. Netflix
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;১০০০+ Microservices&lt;/li&gt;
&lt;li&gt;প্রতিদিন ৪০০০+ Deployment&lt;/li&gt;
&lt;li&gt;সব Container এ&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ২. Uber
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;গাড়ির লোকেশন ট্র্যাকিং&lt;/li&gt;
&lt;li&gt;মিলিয়ন রাইড প্রসেসিং&lt;/li&gt;
&lt;li&gt;Docker Containers এ&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ৩. PayPal
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;১৫০+ Applications
&lt;/li&gt;
&lt;li&gt;সব Docker এ মাইগ্রেট করেছে&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ৪. বাংলাদেশে
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pathao&lt;/strong&gt;: Ride Sharing Services&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Foodpanda&lt;/strong&gt;: Food Delivery&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;bKash&lt;/strong&gt;: Payment Processing
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grameenphone&lt;/strong&gt;: Telecom Services&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Docker শেখার পথ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: আমি শিখতে চাই। কোথা থেকে শুরু করবো?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: &lt;/p&gt;

&lt;h3&gt;
  
  
  ১ম সপ্তাহ: Basic Concepts
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Docker কি এবং কেন&lt;/li&gt;
&lt;li&gt;Container vs VM&lt;/li&gt;
&lt;li&gt;Docker Install করা
&lt;/li&gt;
&lt;li&gt;প্রথম Container চালানো&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ২য় সপ্তাহ: Dockerfile
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Dockerfile লেখা&lt;/li&gt;
&lt;li&gt;Image তৈরি করা&lt;/li&gt;
&lt;li&gt;Docker Hub এ push করা&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ৩য় সপ্তাহ: Multi-Container
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Docker Compose&lt;/li&gt;
&lt;li&gt;Networks এবং Volumes&lt;/li&gt;
&lt;li&gt;Database Container যোগ করা&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ৪র্থ সপ্তাহ: Production
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Best Practices&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;Monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  প্রয়োজনীয় জ্ঞান:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Linux Commands&lt;/strong&gt;: কারণ বেশিরভাগ Container Linux based&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Basic Programming&lt;/strong&gt;: যেকোনো ভাষা (Python, Node.js, Java)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Command Line&lt;/strong&gt;: Terminal ব্যবহার করা&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  সাধারণ ভুলভ্রান্তি
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: নতুনরা কি কি ভুল করে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: &lt;/p&gt;

&lt;h3&gt;
  
  
  ১. Container কে VM মনে করা
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ভুল ধারণা: Container = Virtual Machine
সঠিক ধারণা: Container = Process Isolation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ২. Data সামলানো না
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;সমস্যা: Container restart হলে data হারিয়ে যায়
সমাধান: Volume ব্যবহার করো
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৩. সিকিউরিটি Ignore করা
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ভুল: root user দিয়ে Container চালানো
সঠিক: non-root user ব্যবহার করো
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৪. বড় Image বানানো
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ভুল: 2GB+ Image size
সঠিক: Multi-stage build, Alpine Linux ব্যবহার
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৫. Health Check না করা
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;সমস্যা: Container চালু আছে মনে হলেও App কাজ করছে না
সমাধান: Health Check যোগ করো
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ভবিষ্যৎ ক্যারিয়ার
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: Docker শিখলে কি ধরনের কাজ পাবো?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: অনেক সুযোগ!&lt;/p&gt;

&lt;h3&gt;
  
  
  ১. DevOps Engineer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;বেতন&lt;/strong&gt;: ৬-২০ লাখ টাকা&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;কাজ&lt;/strong&gt;: CI/CD Pipeline, Infrastructure Management&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ২. Backend Developer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;বেতন&lt;/strong&gt;: ৫-১৮ লাখ টাকা&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;কাজ&lt;/strong&gt;: API Development, Microservices&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ৩. Cloud Engineer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;বেতন&lt;/strong&gt;: ৮-২৫ লাখ টাকা
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;কাজ&lt;/strong&gt;: AWS, Azure, Google Cloud&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ৪. Site Reliability Engineer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;বেতন&lt;/strong&gt;: ১০-৩০ লাখ টাকা&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;কাজ&lt;/strong&gt;: Production System Reliability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: এত ভাল বেতন কেন?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: কারণ:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;সব কোম্পানি এখন Containerization করছে&lt;/li&gt;
&lt;li&gt;Docker skills এর চাহিদা বেশি
&lt;/li&gt;
&lt;li&gt;কিন্তু দক্ষ লোক কম&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Docker vs অন্যান্য Technology
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: Docker ছাড়াও কি অন্য বিকল্প আছে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: হ্যাঁ, কিন্তু Docker সবচেয়ে জনপ্রিয়:&lt;/p&gt;

&lt;h3&gt;
  
  
  Container Platforms:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Docker&lt;/strong&gt;: সবচেয়ে জনপ্রিয়, সহজ&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Podman&lt;/strong&gt;: Docker এর বিকল্প
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LXC/LXD&lt;/strong&gt;: সিস্টেম Container&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;rkt&lt;/strong&gt;: CoreOS এর (এখন বন্ধ)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Orchestration:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kubernetes&lt;/strong&gt;: Production এ সবচেয়ে ভাল&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker Swarm&lt;/strong&gt;: সহজ, ছোট প্রজেক্টের জন্য&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nomad&lt;/strong&gt;: HashiCorp এর&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  প্র্যাকটিক্যাল প্রজেক্ট
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: তত্ত্ব শিখে লাভ নেই, হাতে-কলমে শিখতে হবে। এই প্রজেক্টগুলো করো:&lt;/p&gt;

&lt;h3&gt;
  
  
  ১. Personal Blog (১ম প্রজেক্ট)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Tech Stack: Node.js + MongoDB
Goal: Dockerfile লেখা, Container চালানো
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ২. Todo App (২য় প্রজেক্ট)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Tech Stack: React + Express + MySQL
Goal: Multi-container setup, Docker Compose
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৩. E-commerce API (৩য় প্রজেক্ট)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Tech Stack: Microservices Architecture
Goal: Multiple services, Network communication
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৪. Chat Application (৪র্থ প্রজেক্ট)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Tech Stack: Socket.io + Redis
Goal: Real-time features, Scaling
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Docker Best Practices
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Production এ যাওয়ার আগে এই নিয়মগুলো মানতে হবে:&lt;/p&gt;

&lt;h3&gt;
  
  
  ১. Image Size কমানো
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="c"&gt;# ভুল - বড় Image&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="s"&gt; ubuntu:20.04&lt;/span&gt;
&lt;span class="k"&gt;RUN &lt;/span&gt;apt-get update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; apt-get &lt;span class="nb"&gt;install &lt;/span&gt;python3

&lt;span class="c"&gt;# সঠিক - ছোট Image  &lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="s"&gt; python:3.9-alpine&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ২. Multi-stage Build
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="c"&gt;# Build stage&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;node:16&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;AS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;builder&lt;/span&gt;
&lt;span class="k"&gt;COPY&lt;/span&gt;&lt;span class="s"&gt; . /app&lt;/span&gt;
&lt;span class="k"&gt;WORKDIR&lt;/span&gt;&lt;span class="s"&gt; /app&lt;/span&gt;
&lt;span class="k"&gt;RUN &lt;/span&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm run build

&lt;span class="c"&gt;# Production stage&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="s"&gt; nginx:alpine&lt;/span&gt;
&lt;span class="k"&gt;COPY&lt;/span&gt;&lt;span class="s"&gt; --from=builder /app/dist /usr/share/nginx/html&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৩. Security
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="c"&gt;# Root user ব্যবহার করো না&lt;/span&gt;
&lt;span class="k"&gt;RUN &lt;/span&gt;addgroup &lt;span class="nt"&gt;-g&lt;/span&gt; 1001 &lt;span class="nt"&gt;-S&lt;/span&gt; nodejs
&lt;span class="k"&gt;RUN &lt;/span&gt;adduser &lt;span class="nt"&gt;-S&lt;/span&gt; nextjs &lt;span class="nt"&gt;-u&lt;/span&gt; 1001
&lt;span class="k"&gt;USER&lt;/span&gt;&lt;span class="s"&gt; nextjs&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৪. Health Check
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="k"&gt;HEALTHCHECK&lt;/span&gt;&lt;span class="s"&gt; --interval=30s --timeout=3s --start-period=5s --retries=3 \&lt;/span&gt;
  CMD curl -f http://localhost:3000/health || exit 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  শেষ কথা
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: Docker শেখা মানে আধুনিক সফটওয়্যার ডেভেলপমেন্টের একটা গুরুত্বপূর্ণ স্কিল অর্জন করা। এটা এখন ইন্ডাস্ট্রি স্ট্যান্ডার্ড।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: আজকে তোমার বোঝানোর পর মনে হচ্ছে Docker আসলে খুবই সহজ!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: সহজই তো! Container মানে হলো সফটওয়্যারের সুটকেস। তোর সব জিনিস গুছিয়ে প্যাক করে রাখো, যেকোনো জায়গায় নিয়ে গিয়ে খুলে ব্যবহার করো!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: Perfect analogy! আজ থেকেই Docker ইনস্টল করে শুরু করি।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: গ্রেট! মনে রাখিস, প্রতিদিন একটু একটু প্র্যাকটিস করলে ১ মাসেই তুই Docker এক্সপার্ট হয়ে যাবি। কোনো সমস্যা হলে যোগাযোগ করিস!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;তানিম&lt;/strong&gt;: ধন্যবাদ ভাই! এত সহজভাবে বুঝানোর জন্য। Container এর জগতে স্বাগতম আমাকে!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সাকিব&lt;/strong&gt;: হাহা! ওয়েলকাম টু দ্য কন্টেইনার ওয়ার্ল্ড! এখন যা, Docker Hub থেকে nginx Image pull করে প্রথম Container চালিয়ে দে। হ্যাপি Dockerizing!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;এই ব্লগ পোস্টটি যদি Docker বুঝতে সাহায্য করে থাকে, তাহলে শেয়ার করুন এবং কমেন্টে আপনার অভিজ্ঞতা জানান!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>webdev</category>
      <category>devops</category>
    </item>
    <item>
      <title>Kubernetes (K8s) কি জিনিস? আড্ডায় শিখে নিই!</title>
      <dc:creator>Emdadul Islam</dc:creator>
      <pubDate>Fri, 06 Jun 2025 05:15:39 +0000</pubDate>
      <link>https://dev.to/emdadulislam/kubernetes-k8s-ki-jinis-aaddddaay-shikhe-nii-30p5</link>
      <guid>https://dev.to/emdadulislam/kubernetes-k8s-ki-jinis-aaddddaay-shikhe-nii-30p5</guid>
      <description>&lt;h1&gt;
  
  
  Kubernetes (K8s) কি জিনিস? আড্ডায় শিখে নিই!
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: আরে হাসান ভাই! শুনলাম তুমি এখন কুবারনেটিস নিয়ে কাজ করো। এটা আবার কী জিনিস? নামটাই এত কঠিন!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: হাহা! কুবারনেটিস বা K8s (কে-আট-এস) শুনতে কঠিন লাগলেও জিনিসটা খুবই মজার। তুই কি কখনো ঢাকার বড় কোনো অ্যাপার্টমেন্ট কমপ্লেক্সে গেছিস? যেমন বসুন্ধরা সিটি বা যমুনা ফিউচার পার্ক?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: হ্যাঁ গেছি তো। কিন্তু সেটার সাথে কুবারনেটিসের কী সম্পর্ক?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: দেখ, একটা বড় অ্যাপার্টমেন্ট কমপ্লেক্স চালানো আর কুবারনেটিস দিয়ে অ্যাপ্লিকেশন চালানো প্রায় একই ব্যাপার! আমি বুঝিয়ে বলি।&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes কি জিনিস?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: কুবারনেটিস হলো একটা &lt;strong&gt;Container Orchestration Platform&lt;/strong&gt;। সহজ ভাষায় বললে, এটা অনেকগুলো অ্যাপ্লিকেশনকে একসাথে চালানো আর ম্যানেজ করার সিস্টেম।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: Container মানে? আমি তো জানি কন্টেইনার মানে বাক্স!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: তুই ঠিকই বলেছিস! সফটওয়্যারের Container ও একরকম বাক্সই। যেমন তোর অ্যাপ্লিকেশনকে একটা বাক্সে প্যাক করে রাখা হয়, যাতে সেটা যেকোনো কম্পিউটারে একইভাবে চলে।&lt;/p&gt;

&lt;p&gt;এখন ধর, তোর একটা অনলাইন শপের ওয়েবসাইট আছে। সেখানে:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ফ্রন্টএন্ড (যেটা ইউজার দেখে)&lt;/li&gt;
&lt;li&gt;ব্যাকএন্ড (ডাটাবেস আর লজিক)&lt;/li&gt;
&lt;li&gt;পেমেন্ট সিস্টেম&lt;/li&gt;
&lt;li&gt;নোটিফিকেশন সিস্টেম&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;এই সবগুলো আলাদা আলাদা Container এ থাকে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: আচ্ছা, তাহলে কুবারনেটিস এগুলো কী করে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: কুবারনেটিস হলো সেই অ্যাপার্টমেন্ট কমপ্লেক্সের &lt;strong&gt;ম্যানেজার&lt;/strong&gt;! যেমন একজন ম্যানেজার:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;কোন ফ্ল্যাটে কে থাকবে ঠিক করে&lt;/li&gt;
&lt;li&gt;বিদ্যুৎ-পানি ঠিক রাখে
&lt;/li&gt;
&lt;li&gt;নিরাপত্তা দেখে&lt;/li&gt;
&lt;li&gt;কিছু সমস্যা হলে ঠিক করে&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;কুবারনেটিসও তোর অ্যাপ্লিকেশনগুলোর জন্য এই সব কাজ করে।&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes এর মূল অংশগুলো
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ১. Pod (পড)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: Pod হলো কুবারনেটিসের সবচেয়ে ছোট ইউনিট। এটা একটা &lt;strong&gt;ফ্ল্যাট&lt;/strong&gt; বা &lt;strong&gt;রুমের&lt;/strong&gt; মতো।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: মানে একটা Pod এ একটা Container থাকে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: সাধারণত হ্যাঁ, তবে কখনো কখনো একটা Pod এ ২-৩টা Container ও থাকতে পারে। যেমন একটা ফ্ল্যাটে স্বামী-স্ত্রী থাকে, তেমনি একটা Pod এ কয়েকটা সম্পর্কিত Container থাকে।&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Pod = একটা ফ্ল্যাট
├── Main Container (মূল অ্যাপ)
└── Helper Container (সাহায্যকারী)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ২. Node (নোড)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: Node হলো একটা &lt;strong&gt;বিল্ডিং&lt;/strong&gt;। একটা বিল্ডিংয়ে যেমন অনেকগুলো ফ্ল্যাট থাকে, একটা Node এ অনেকগুলো Pod থাকে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: Node মানে কি আলাদা কম্পিউটার?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: একদম ঠিক! প্রতিটা Node হলো একটা আলাদা সার্ভার বা কম্পিউটার। যেমন:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Cluster (পুরো কমপ্লেক্স)
├── Node-1 (বিল্ডিং A)
│   ├── Pod-1 (ফ্ল্যাট ১০১)
│   ├── Pod-2 (ফ্ল্যাট ১০২)
│   └── Pod-3 (ফ্ল্যাট ১০৩)
├── Node-2 (বিল্ডিং B)
│   ├── Pod-4 (ফ্ল্যাট ২০১)
│   └── Pod-5 (ফ্ল্যাট ২০২)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৩. Deployment (ডিপ্লয়মেন্ট)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: Deployment হলো &lt;strong&gt;ভাড়াটে নিয়োগের নিয়ম&lt;/strong&gt;। যেমন অ্যাপার্টমেন্ট ম্যানেজার বলে: "আমার ৫টা ২-বেডরুমের ফ্ল্যাট চাই, যেগুলোতে ফ্যামিলি থাকবে।"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: মানে Deployment বলে দেয় কতগুলো Pod চাই?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: হ্যাঁ! Deployment বলে:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;আমার ৩টা Frontend Pod চাই&lt;/li&gt;
&lt;li&gt;২টা Backend Pod চাই
&lt;/li&gt;
&lt;li&gt;১টা Database Pod চাই&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;আর কোনো Pod বন্ধ হয়ে গেলে, Deployment নতুন Pod তৈরি করে। যেমন কোনো ভাড়াটিয়া চলে গেলে নতুন ভাড়াটে খোঁজা হয়।&lt;/p&gt;

&lt;h3&gt;
  
  
  ৪. Service (সার্ভিস)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: Service হলো অ্যাপার্টমেন্ট কমপ্লেক্সের &lt;strong&gt;ফ্যাসিলিটি&lt;/strong&gt;। যেমন:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;লিফট সার্ভিস&lt;/li&gt;
&lt;li&gt;নিরাপত্তা সার্ভিস&lt;/li&gt;
&lt;li&gt;পার্কিং সার্ভিস&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: কুবারনেটিসে Service মানে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: কুবারনেটিসে Service হলো Pod গুলোর মধ্যে &lt;strong&gt;যোগাযোগের মাধ্যম&lt;/strong&gt;। যেমন:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Frontend Pod → Backend Service → Backend Pods
                  ↓
               Database Service → Database Pod
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;যেমন তুই লিফটম্যানকে বলিস "৫ম তলায় নিয়ে যাও", তোর জানার দরকার নেই কোন লিফট দিয়ে যাবে। Service ও তেমনি সঠিক Pod এ রিকুয়েস্ট পৌঁছে দেয়।&lt;/p&gt;

&lt;h3&gt;
  
  
  ৫. Ingress (ইনগ্রেস)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: Ingress হলো অ্যাপার্টমেন্ট কমপ্লেক্সের &lt;strong&gt;মেইন গেট&lt;/strong&gt; আর &lt;strong&gt;রিসেপশন&lt;/strong&gt;।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: মানে বাইরের লোকজন আসলে প্রথমে এখানেই আসে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: একদম! ইন্টারনেট থেকে যে রিকুয়েস্ট আসে, সেটা প্রথমে Ingress এ আসে। তারপর Ingress ঠিক করে কোন Service এ পাঠাবে।&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User → Ingress → Frontend Service → Frontend Pods
              ↘️ Backend Service → Backend Pods
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;যেমন তুই অ্যাপার্টমেন্টে এসে রিসেপশনে বলিস "আমি ১০৫ নম্বর ফ্ল্যাটে যাব", রিসেপশনিস্ট তোকে সঠিক দিকে পাঠিয়ে দেয়।&lt;/p&gt;

&lt;h3&gt;
  
  
  ৬. ConfigMap এবং Secret
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: ConfigMap আর Secret হলো অ্যাপার্টমেন্টের &lt;strong&gt;নিয়মকানুন&lt;/strong&gt; আর &lt;strong&gt;সিকিউরিটি কোড&lt;/strong&gt;।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: এগুলো কী কাজে লাগে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ConfigMap&lt;/strong&gt;: সাধারণ নিয়মকানুন যেমন "পার্কিং ফি ৫০০ টাকা", "রক্ষণাবেক্ষণ ফি ১০০০ টাকা"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secret&lt;/strong&gt;: গোপনীয় তথ্য যেমন "ওয়াইফাই পাসওয়ার্ড", "সিকিউরিটি কোড"
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;ConfigMap&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; 
  &lt;span class="na"&gt;database_host&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;db.example.com"&lt;/span&gt;
  &lt;span class="na"&gt;max_connections&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;100"&lt;/span&gt;

&lt;span class="na"&gt;Secret&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;database_password&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;secret123"&lt;/span&gt;
  &lt;span class="na"&gt;api_key&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;xyz789"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ৭. Namespace (নেমস্পেস)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: Namespace হলো অ্যাপার্টমেন্ট কমপ্লেক্সের &lt;strong&gt;আলাদা ব্লক&lt;/strong&gt; বা &lt;strong&gt;সেকশন&lt;/strong&gt;।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: মানে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: যেমন বসুন্ধরা সিটিতে:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Block: অফিস&lt;/li&gt;
&lt;li&gt;B Block: শপিং মল
&lt;/li&gt;
&lt;li&gt;C Block: রেসিডেনশিয়াল&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;কুবারনেটিসেও:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;production&lt;/strong&gt;: লাইভ ওয়েবসাইট&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;staging&lt;/strong&gt;: টেস্টিং এনভায়রনমেন্ট&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;development&lt;/strong&gt;: ডেভেলপমেন্ট এনভায়রনমেন্ট&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  একটা সহজ উদাহরণ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: ধর তুই একটা অনলাইন ফুড ডেলিভারি অ্যাপ বানাচ্ছিস।&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;তোর অ্যাপ্লিকেশন:
├── Frontend (React App) → Pod-1, Pod-2
├── Backend API (Node.js) → Pod-3, Pod-4, Pod-5  
├── Database (MongoDB) → Pod-6
└── Redis Cache → Pod-7
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: এগুলো কিভাবে একসাথে কাজ করে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: দেখ:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;User&lt;/strong&gt; ব্রাউজারে তোর সাইট খোলে&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ingress&lt;/strong&gt; রিকুয়েস্ট রিসিভ করে&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend Service&lt;/strong&gt; দিয়ে Frontend Pod এ পাঠায়&lt;/li&gt;
&lt;li&gt;Frontend যদি ডাটা লাগে, &lt;strong&gt;Backend Service&lt;/strong&gt; এ রিকুয়েস্ট করে&lt;/li&gt;
&lt;li&gt;Backend &lt;strong&gt;Database Service&lt;/strong&gt; থেকে ডাটা নেয়&lt;/li&gt;
&lt;li&gt;সব তথ্য ইউজারের কাছে ফিরে যায়&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Kubernetes এর সুবিধা
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ১. Auto-Scaling (অটো-স্কেলিং)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: ধর তোর অ্যাপে হঠাৎ অনেক ট্রাফিক এলো (যেমন ঈদের সময় দারাজে)। কুবারনেটিস দেখবে যে CPU/Memory বেশি ব্যবহার হচ্ছে, আর নিজে নিজেই আরো Pod তৈরি করবে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: আবার ট্রাফিক কমলে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: তখন আবার অতিরিক্ত Pod বন্ধ করে দেবে। একদম যেমন অ্যাপার্টমেন্ট কমপ্লেক্সে চাহিদা অনুযায়ী নতুন ফ্ল্যাট খোলা বা বন্ধ করা হয়।&lt;/p&gt;

&lt;h3&gt;
  
  
  ২. Self-Healing (নিজে নিজে ঠিক হওয়া)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: কোনো Pod ক্র্যাশ করলে বা বন্ধ হয়ে গেলে, কুবারনেটিস নিজে নিজেই নতুন Pod তৈরি করে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: এটা কিভাবে সম্ভব?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: যেমন অ্যাপার্টমেন্টে কোনো ভাড়াটে চলে গেলে ম্যানেজার নতুন ভাড়াটে খোঁজে, কুবারনেটিসও তেমনি কাজ করে।&lt;/p&gt;

&lt;h3&gt;
  
  
  ৩. Load Distribution (লোড বন্টন)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: কুবারনেটিস বুঝে নেয় কোন Node এ কম কাজ আছে, আর সেখানে নতুন Pod বসায়। যেমন ভাল ম্যানেজার জানে কোন বিল্ডিংয়ে জায়গা খালি আছে।&lt;/p&gt;

&lt;h3&gt;
  
  
  ৪. Rolling Updates (ধীরে ধীরে আপডেট)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: তোর অ্যাপে নতুন ফিচার যোগ করতে চাস? কুবারনেটিস একটা একটা করে Pod আপডেট করবে। পুরো সিস্টেম বন্ধ করার দরকার নেই।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: মানে ইউজাররা কোনো সমস্যাই টের পাবে না?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: একদম! যেমন অ্যাপার্টমেন্ট কমপ্লেক্সে একটা একটা করে ফ্ল্যাট রিনোভেশন করা হয়, পুরো বিল্ডিং বন্ধ করে না।&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes কোথায় ব্যবহার হয়?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: কোন কোন কোম্পানি ব্যবহার করে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: প্রায় সব বড় টেক কোম্পানি! যেমন:&lt;/p&gt;

&lt;h3&gt;
  
  
  ১. Google
&lt;/h3&gt;

&lt;p&gt;সব Google সার্ভিস (YouTube, Gmail, Search) কুবারনেটিসে চলে&lt;/p&gt;

&lt;h3&gt;
  
  
  ২. Netflix
&lt;/h3&gt;

&lt;p&gt;লাখো মানুষ একসাথে মুভি দেখে - কুবারনেটিসেই সামলায়&lt;/p&gt;

&lt;h3&gt;
  
  
  ৩. Uber
&lt;/h3&gt;

&lt;p&gt;লাখো রাইড একসাথে ট্র্যাক করা&lt;/p&gt;

&lt;h3&gt;
  
  
  ৪. Airbnb
&lt;/h3&gt;

&lt;p&gt;কোটি কোটি বুকিং ম্যানেজ করা&lt;/p&gt;

&lt;h3&gt;
  
  
  ৫. বাংলাদেশে
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Pathao&lt;/li&gt;
&lt;li&gt;Foodpanda
&lt;/li&gt;
&lt;li&gt;bKash&lt;/li&gt;
&lt;li&gt;Grameenphone&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Kubernetes শেখার জন্য কি প্রয়োজন?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: আমি শিখতে চাই। কি কি জানতে হবে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: &lt;/p&gt;

&lt;h3&gt;
  
  
  ১. Prerequisites
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Linux Commands&lt;/strong&gt;: কারণ সব সার্ভার Linux এ চলে&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker&lt;/strong&gt;: Container বানানো শিখতে হবে&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;YAML&lt;/strong&gt;: কুবারনেটিসের কনফিগ ফাইল YAML এ লেখা হয়&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Basic Networking&lt;/strong&gt;: TCP/IP, HTTP বুঝতে হবে&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ২. Programming
&lt;/h3&gt;

&lt;p&gt;যেকোনো একটা ভাষা (Python, Java, Go, Node.js) জানলেই চলবে&lt;/p&gt;

&lt;h3&gt;
  
  
  ৩. Cloud Platforms
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AWS&lt;/strong&gt;: EKS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Cloud&lt;/strong&gt;: GKE
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Azure&lt;/strong&gt;: AKS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DigitalOcean&lt;/strong&gt;: DOKS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;এগুলোর যেকোনো একটা&lt;/p&gt;

&lt;h2&gt;
  
  
  হাতে-কলমে শেখার পথ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: &lt;/p&gt;

&lt;h3&gt;
  
  
  ১. Local Setup
&lt;/h3&gt;

&lt;p&gt;প্রথমে নিজের কম্পিউটারে &lt;strong&gt;Minikube&lt;/strong&gt; বা &lt;strong&gt;Kind&lt;/strong&gt; দিয়ে শুরু করো&lt;/p&gt;

&lt;h3&gt;
  
  
  ২. Simple Apps
&lt;/h3&gt;

&lt;p&gt;একটা সিম্পল "Hello World" অ্যাপ Deploy করো&lt;/p&gt;

&lt;h3&gt;
  
  
  ৃ৩. Project Based Learning
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Personal Blog&lt;/li&gt;
&lt;li&gt;Todo App
&lt;/li&gt;
&lt;li&gt;Chat Application&lt;/li&gt;
&lt;li&gt;E-commerce Site&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ৪. Production Skills
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Monitoring (Prometheus, Grafana)&lt;/li&gt;
&lt;li&gt;Logging (ELK Stack)&lt;/li&gt;
&lt;li&gt;CI/CD (Jenkins, GitLab)&lt;/li&gt;
&lt;li&gt;Security (RBAC, Network Policies)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  সাধারণ ভুলভ্রান্তি
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: নতুনরা কি কি ভুল করে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: &lt;/p&gt;

&lt;h3&gt;
  
  
  ১. Resource Limits না দেওয়া
&lt;/h3&gt;

&lt;p&gt;Container এ Memory/CPU লিমিট না দিলে পুরো Node ক্র্যাশ হতে পারে&lt;/p&gt;

&lt;h3&gt;
  
  
  ২. Health Checks না করা
&lt;/h3&gt;

&lt;p&gt;Pod কাজ করছে কিনা চেক না করা&lt;/p&gt;

&lt;h3&gt;
  
  
  ৩. Security Ignore করা
&lt;/h3&gt;

&lt;p&gt;Root user দিয়ে Container চালানো&lt;/p&gt;

&lt;h3&gt;
  
  
  ৪. State সামলানো
&lt;/h3&gt;

&lt;p&gt;Database এর ডাটা Pod রিস্টার্ট হলে হারিয়ে যায় - &lt;strong&gt;Persistent Volume&lt;/strong&gt; ব্যবহার করতে হয়&lt;/p&gt;

&lt;h2&gt;
  
  
  ভবিষ্যৎ ক্যারিয়ার
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: কুবারনেটিস শিখলে কি ধরনের জব পাবো?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: অনেক রকম!&lt;/p&gt;

&lt;h3&gt;
  
  
  ১. DevOps Engineer
&lt;/h3&gt;

&lt;h3&gt;
  
  
  ২. Site Reliability Engineer (SRE)
&lt;/h3&gt;

&lt;h3&gt;
  
  
  ৩. Cloud Architect
&lt;/h3&gt;

&lt;h3&gt;
  
  
  ৪. Platform Engineer
&lt;/h3&gt;

&lt;h2&gt;
  
  
  শেষ কথা
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: কুবারনেটিস শেখা মানে ভবিষ্যতের জন্য নিজেকে প্রস্তুত করা। এটা এখন সফটওয়্যার ইন্ডাস্ট্রির মেরুদণ্ড। &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: শোনো ভাই, তোমার বোঝানোর পর মনে হচ্ছে এটা খুব একটা কঠিন না!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: কঠিন আবার কী? শুধু ধৈর্য আর প্র্যাকটিস লাগে। তুই যদি অ্যাপার্টমেন্ট কমপ্লেক্স ম্যানেজ করতে পারিস, তাহলে কুবারনেটিসও পারবি!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: আজ থেকেই শুরু করি! Docker দিয়ে শুরু করব, তারপর কুবারনেটিস।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: পারফেক্ট! মনে রাখিস, প্রতিদিন একটু একটু করে শিখলে ৬ মাসেই তুই কুবারনেটিস এক্সপার্ট হয়ে যাবি। আর কোনো সমস্যা হলে যোগাযোগ করিস!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রাকিব&lt;/strong&gt;: অনেক ধন্যবাদ ভাই! এত সহজভাবে বুঝানোর জন্য।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;হাসান&lt;/strong&gt;: আরে কোনো ব্যাপার না! শেয়ার করিস বন্ধুদের সাথে। সবাই মিলে শিখি, দেশের টেক ইন্ডাস্ট্রি এগিয়ে নিয়ে যাই!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;আশা করি এই ব্লগ পোস্টটি কুবারনেটিস বুঝতে সাহায্য করেছে। কোনো প্রশ্ন থাকলে কমেন্টে জানাও!&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>কাফকা (Apache Kafka) কি জিনিস? বন্ধুদের আড্ডায় শিখে নিই!</title>
      <dc:creator>Emdadul Islam</dc:creator>
      <pubDate>Fri, 06 Jun 2025 05:13:30 +0000</pubDate>
      <link>https://dev.to/emdadulislam/kaaphkaa-apache-kafka-ki-jinis-bndhuder-aaddddaay-shikhe-nii-1o0o</link>
      <guid>https://dev.to/emdadulislam/kaaphkaa-apache-kafka-ki-jinis-bndhuder-aaddddaay-shikhe-nii-1o0o</guid>
      <description>&lt;h1&gt;
  
  
  কাফকা (Apache Kafka) কি জিনিস? বন্ধুদের আড্ডায় শিখে নিই!
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: ভাই সালাম! শুনলাম তুমি এখন কাফকা নিয়ে কাজ করো। এইটা আবার কি জিনিস?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: ওয়ালাইকুম সালাম! হা ভাই, কাফকা একটা দারুণ জিনিস। তুই কি কখনো ঢাকার গুলিস্তানের বাস কাউন্টারের দিকে খেয়াল করেছিস?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: মানে? বাস কাউন্টার কেন?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: দেখ, গুলিস্তানে যেমন অনেকগুলো বাস কাউন্টার আছে। কিছু বাস যায় চট্টগ্রাম, কিছু যায় সিলেট, কিছু যায় রংপুর। এখন বিভিন্ন যাত্রী এসে টিকিট কাটে, আর বাসগুলো সেই যাত্রীদের নিয়ে যায়। কাফকাও অনেকটা এমনই কাজ করে!&lt;/p&gt;

&lt;h2&gt;
  
  
  কাফকা কি জিনিস?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: কাফকা হলো একটা &lt;strong&gt;Message Streaming Platform&lt;/strong&gt;। সহজ ভাষায় বললে, এটা একটা খুব দ্রুত ডাটা আদান-প্রদানের সিস্টেম। যেমন তোর মোবাইলে হোয়াটসঅ্যাপে মেসেজ আসে, তেমনি কাফকায় বিভিন্ন সিস্টেম একে অপরের সাথে তথ্য আদান-প্রদান করে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: ওহ! মানে কম্পিউটারের জন্য হোয়াটসঅ্যাপ?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: একদম! কিন্তু হোয়াটসঅ্যাপের চেয়ে অনেক বেশি শক্তিশালী। যেমন ধর, ফেসবুকে তুই একটা পোস্ট দিলি। এখন সেই পোস্টের তথ্য যেতে হবে:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;তোর বন্ধুদের নিউজফিডে&lt;/li&gt;
&lt;li&gt;নোটিফিকেশন সিস্টেমে
&lt;/li&gt;
&lt;li&gt;সার্চ ইনডেক্সে&lt;/li&gt;
&lt;li&gt;অ্যানালিটিক্স সিস্টেমে&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;এই সব জায়গায় একসাথে পাঠানোর জন্য কাফকা ব্যবহার করা হয়।&lt;/p&gt;

&lt;h2&gt;
  
  
  কাফকার মূল অংশগুলো
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ১. Producer (প্রযোজক)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: Producer হলো সেই ব্যক্তি যে কাফকায় মেসেজ পাঠায়। আমাদের বাস কাউন্টারের উদাহরণে বললে, যাত্রী হলো Producer। যাত্রী এসে টিকিট কাটে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: আচ্ছা, তাহলে আমার অ্যাপ যদি কোনো ডাটা পাঠায়, সেটা Producer?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: বিল্কুল ঠিক! যেমন ধর, তোর e-commerce সাইটে কেউ একটা অর্ডার দিল। সেই অর্ডারের তথ্য কাফকায় পাঠানোর জন্য তোর অ্যাপ একটা Producer।&lt;/p&gt;

&lt;h3&gt;
  
  
  ২. Consumer (ভোক্তা)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: Consumer হলো যে কাফকা থেকে মেসেজ পড়ে। বাস কাউন্টারের উদাহরণে, বাস হলো Consumer। বাস এসে যাত্রীদের নিয়ে যায়।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: মানে যে সিস্টেম ডাটা রিসিভ করে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: হ্যাঁ! যেমন অর্ডারের তথ্য পেয়ে:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inventory সিস্টেম স্টক কমাবে&lt;/li&gt;
&lt;li&gt;Payment সিস্টেম পেমেন্ট প্রসেস করবে
&lt;/li&gt;
&lt;li&gt;Shipping সিস্টেম ডেলিভারির ব্যবস্থা করবে&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;এরা সবাই Consumer।&lt;/p&gt;

&lt;h3&gt;
  
  
  ৩. Topic (বিষয়)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: Topic হলো কাফকার "চ্যানেল"। যেমন আমাদের টিভিতে BTV, Channel i, ATN এগুলো আলাদা চ্যানেল। কাফকায়ও আলাদা আলাদা Topic আছে।&lt;/p&gt;

&lt;p&gt;বাস কাউন্টারের উদাহরণে বললে:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"চট্টগ্রাম-বাস" একটা Topic&lt;/li&gt;
&lt;li&gt;"সিলেট-বাস" আরেকটা Topic
&lt;/li&gt;
&lt;li&gt;"রংপুর-বাস" আরেকটা Topic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: অর্থাৎ বিভিন্ন ধরনের ডাটার জন্য আলাদা Topic?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: ঠিক! যেমন:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"user-orders" Topic এ অর্ডারের ডাটা&lt;/li&gt;
&lt;li&gt;"user-logins" Topic এ লগইনের ডাটা&lt;/li&gt;
&lt;li&gt;"payment-notifications" Topic এ পেমেন্টের ডাটা&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ৪. Partition (অংশ)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: এখন মজার ব্যাপার হলো Partition। ধর চট্টগ্রামের বাসের জন্য অনেক যাত্রী। একটা কাউন্টার দিয়ে সামলানো যাচ্ছে না। তাহলে কি করবি?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: আরো কাউন্টার খুলব!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: একদম! কাফকায়ও একই কাজ হয়। একটা Topic কে কয়েকটা Partition এ ভাগ করা হয়। যেমন:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Topic: user-orders
├── Partition 0: অর্ডার ১, ৪, ৭, ১০...
├── Partition 1: অর্ডার ২, ৫, ৮, ১১...  
└── Partition 2: অর্ডার ৩, ৬, ৯, ১২...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: এতে কি ফায়দা?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: অনেক ফায়দা! একসাথে অনেক Consumer কাজ করতে পারে। যেমন তিনটা বাস একসাথে তিনটা কাউন্টার থেকে যাত্রী নিতে পারে।&lt;/p&gt;

&lt;h3&gt;
  
  
  ৫. Broker (দালাল)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: Broker হলো কাফকার "সার্ভার"। যেমন আমাদের বাস কাউন্টারের মালিক। সে সব ব্যবস্থা সামলায়।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: একটা Broker দিয়েই সব কাজ হয়?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: না না! সাধারণত কয়েকটা Broker একসাথে কাজ করে। যেমন ঢাকায় গুলিস্তান, কমলাপুর, গাবতলী - এরকম কয়েকটা বাস টার্মিনাল আছে। একটা বন্ধ হলে অন্যটা দিয়ে কাজ চলে।&lt;/p&gt;

&lt;h2&gt;
  
  
  কাফকার বিশেষত্ব
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ১. অসম্ভব দ্রুত
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: কাফকা সেকেন্ডে লাখ লাখ মেসেজ হ্যান্ডল করতে পারে। যেমন বিকাশে প্রতি সেকেন্ডে হাজার হাজার লেনদেন হয়, কাফকা সেসব সামলাতে পারে।&lt;/p&gt;

&lt;h3&gt;
  
  
  ২. ডাটা হারায় না
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: কাফকা একবার মেসেজ নিলে সেটা হারায় না। যেমন ব্যাংকের রেকর্ড যেমন সেভ থাকে, কাফকায়ও সব মেসেজ সেভ থাকে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: কতদিন থাকে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: যতদিন চাও! ৭ দিন, ৩০ দিন, বা চিরকালের জন্যও রাখতে পারো।&lt;/p&gt;

&lt;h3&gt;
  
  
  ৩. স্কেলেবল
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: যেমন বাস টার্মিনালে যাত্রী বেড়ে গেলে আরো কাউন্টার খোলা হয়, কাফকায়ও ট্রাফিক বাড়লে আরো Broker বা Partition যোগ করা যায়।&lt;/p&gt;

&lt;h2&gt;
  
  
  কাফকার ব্যবহার
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: কোথায় কোথায় ব্যবহার হয় এসব?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: অনেক জায়গায়! যেমন:&lt;/p&gt;

&lt;h3&gt;
  
  
  ১. Social Media
&lt;/h3&gt;

&lt;p&gt;ফেসবুকে তুই লাইক দিলি → কাফকা → বন্ধুর নোটিফিকেশন&lt;/p&gt;

&lt;h3&gt;
  
  
  ২. E-commerce
&lt;/h3&gt;

&lt;p&gt;দারাজে অর্ডার দিলি → কাফকা → SMS, Email, Inventory Update&lt;/p&gt;

&lt;h3&gt;
  
  
  ৩. Banking
&lt;/h3&gt;

&lt;p&gt;বিকাশে টাকা পাঠালি → কাফকা → রিসিভারের নোটিফিকেশন, ব্যালেন্স আপডেট&lt;/p&gt;

&lt;h3&gt;
  
  
  ৪. Gaming
&lt;/h3&gt;

&lt;p&gt;PUBG তে কিল করলি → কাফকা → স্কোর আপডেট, ফ্রেন্ডদের নোটিফিকেশন&lt;/p&gt;

&lt;h2&gt;
  
  
  সহজ একটা উদাহরণ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: ধর তুই একটা অনলাইন ফুড অর্ডার অ্যাপ বানাচ্ছিস।&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Customer অর্ডার দেয় → Producer → Kafka → Consumer গুলো:
                                    ├── Restaurant (রান্নার অর্ডার)
                                    ├── Delivery Boy (ডেলিভারি নোটিস)  
                                    ├── Payment (পেমেন্ট প্রসেস)
                                    └── Customer (কনফার্মেশন SMS)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: ওয়াও! একটা অর্ডার একসাথে চারটা জায়গায় গেল!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: হ্যাঁ! আর এটা এত দ্রুত হয় যে কাস্টমার বুঝতেই পারে না। অর্ডার দেওয়ার সাথে সাথেই সব কিছু শুরু হয়ে যায়।&lt;/p&gt;

&lt;h2&gt;
  
  
  কাফকা শেখার জন্য কি করতে হবে?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: এটা শিখতে হলে কি কি জানতে হবে?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: &lt;br&gt;
১. &lt;strong&gt;প্রোগ্রামিং&lt;/strong&gt;: Java, Python, বা JavaScript জানলেই চলবে&lt;br&gt;
২. &lt;strong&gt;Basic Networking&lt;/strong&gt;: TCP/IP এর ধারণা&lt;br&gt;
৩. &lt;strong&gt;Linux Commands&lt;/strong&gt;: কারণ সার্ভারে কাজ করতে হয়&lt;br&gt;
৪. &lt;strong&gt;JSON&lt;/strong&gt;: ডাটা ফরম্যাট হিসেবে JSON ব্যবহার হয়&lt;/p&gt;

&lt;h2&gt;
  
  
  শেষ কথা
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: কাফকা শেখা মানে হলো আধুনিক সফটওয়্যার ডেভেলপমেন্টের একটা গুরুত্বপূর্ণ স্কিল শেখা। Netflix, Uber, LinkedIn সবাই কাফকা ব্যবহার করে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: তাহলে আজকেই শুরু করি! কোথা থেকে শুরু করব?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: প্রথমে কাফকার অফিসিয়াল ডকুমেন্টেশন পড়ো। তারপর একটা সিম্পল প্রজেক্ট দিয়ে হাতে-কলমে শেখো। মনে রেখো, প্র্যাকটিস ছাড়া কিছুই শেখা যায় না!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;রহিম&lt;/strong&gt;: ধন্যবাদ ভাই! খুব সহজভাবে বুঝালে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;করিম&lt;/strong&gt;: কোনো সমস্যা হলে যোগাযোগ করিস। কাফকা শিখে তুইও বড় বড় কোম্পানিতে কাজ করতে পারবি!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;এই ব্লগ পোস্টটি যদি তোমার ভালো লেগে থাকে, তাহলে শেয়ার করো এবং কমেন্টে জানাও তোমার মতামত!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>kafka</category>
      <category>eventdriven</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
