Skip to content

Containerization (Docker)

মাইক্রোসার্ভিস আর্কিটেকচারের সফলতার পেছনে সবচেয়ে বড় হাত হলো Containerization বা কন্টেইনারাইজেশনের। আর এর সমার্থক শব্দ হয়ে উঠেছে Docker

1. কন্টেইনারাইজেশন কি?

সহজ কথায়, আপনার অ্যাপ্লিকেশন চালানোর জন্য প্রয়োজনীয় সব কোড, লাইব্রেরি, কনফিগারেশন এবং ডিপেনডেন্সিগুলোকে একটি প্যাকেজের মধ্যে ভরে ফেলাকেই কন্টেইনারাইজেশন বলে। এটি করার ফলে "আপনার পিসিতে চলে কিন্তু সার্ভারে চলে না" - এই চিরচেনা সমস্যার সমাধান হয়ে যায়।

2. Docker কেন জরুরি?

  • Consistency: একই কোড আপনার লোকাল মেশিন, টেষ্টিং সার্ভার এবং প্রোডাকশন সার্ভারে হুবহু একইভাবে চলবে।
  • Isolation: একটি কন্টেইনারের সমস্যা অন্য কন্টেইনার বা মেইন সার্ভারকে আক্রান্ত করে না।
  • Speed: ভার্চুয়াল মেশিনের তুলনায় ডকার কন্টেইনার অনেক দ্রুত স্টার্ট হয় এবং মেমোরি কম খরচ করে।
  • Portability: আপনি যেকোনো অ্যাপকে ডকারাইজড করে খুব সহজেই যেকোনো ক্লাউড প্রোভাইডারে (AWS, Azure, GCP) মুভ করতে পারেন।

3. ডকার কন্টেইনার বনাম ভার্চুয়াল মেশিন (VM)

বৈশিষ্ট্যVirtual MachineDocker Container
অপারেটিং সিস্টেমপ্রতিটিতে আলাদা OS থাকেমেইন সার্ভারের OS শেয়ার করে
সাইজকয়েক জিবি (GB)কয়েক মেগাবাইট (MB)
পারফরম্যান্সধীরগতিরঅত্যন্ত দ্রুত
রিসোর্সবেশি খরচ হয়খুব কম খরচ হয়

4. ডকার এবং মাইক্রোসার্ভিস

মাইক্রোসার্ভিসে শত শত ছোট ছোট সার্ভিস থাকে। এই সার্ভিসগুলোকে আলাদা করা এবং ম্যানেজ করার জন্য ডকার অপরিহার্য। প্রতিটি মাইক্রোসার্ভিস নিজের কন্টেইনারে চলে, ফলে একটির সাথে অন্যটির ডিপেনডেন্সি কনফ্লিক্ট হয় না।


NOTE

ডকার কন্টেইনার ম্যানেজ করার জন্য আরও একটি শক্তিশালী টুল বর্তমানে ব্যবহৃত হয়, সেটি হলো Kubernetes (K8s)। এটি ডকার কন্টেইনারগুলোকে অটো-স্কেলিং এবং ম্যানেজমেন্টে সাহায্য করে।

Released under the MIT License.