ডকার কম্পোজ বনাম ডকার ঝাঁক

Docker Compose Vs Docker Swarm



কনটেইনার দিয়ে 'বিপ্লব' অ্যাপস শুধু একটি ডাটাবেস এবং ফ্রন্টএন্ড হওয়ার চেয়ে অনেক বেশি বেড়েছে। অ্যাপ্লিকেশনগুলি বিভিন্ন মাইক্রোসার্ভিসে বিভক্ত এবং তারা সাধারণত একটি REST API (সাধারণত HTTP এর উপর JSON ফর্ম্যাটেড পেলোড) এর মাধ্যমে একে অপরের সাথে যোগাযোগ করে। ডকার পাত্রে এই ধরনের স্থাপত্যের জন্য আদর্শ। আপনি আপনার ফ্রন্টএন্ড 'মাইক্রোসার্ভিস' কে একটি ডকার কন্টেইনারে প্যাকেজ করতে পারেন, ডাটাবেস অন্যটিতে যায়, এবং আরও অনেক কিছু। প্রতিটি পরিষেবা সফ্টওয়্যারের একক অংশ হিসেবে লেখা একচেটিয়া হওয়ার পরিবর্তে পূর্বনির্ধারিত REST API- এর মাধ্যমে অন্যের সাথে কথা বলে।

যদি আপনি একটি নতুন কার্যকারিতা বা একটি বৈশিষ্ট্য বাস্তবায়ন করতে চান, যেমন, একটি অ্যানালিটিকস ইঞ্জিন, আপনি কেবল তার জন্য একটি নতুন মাইক্রোসার্ভিস লিখতে পারেন এবং এটি আপনার ওয়েব অ্যাপের বিভিন্ন মাইক্রোসার্ভিস দ্বারা প্রকাশিত REST API এর মাধ্যমে ডেটা গ্রাস করবে। এবং সময়ের সাথে সাথে আপনার কার্যকারিতা বৃদ্ধি পাবে, মাইক্রোসার্ভিসের এই তালিকাটিও এর সাথে বাড়বে।







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



ডকার-কম্পোজ একটি সহজ সরঞ্জাম যা আপনাকে মাইক্রোসার্ভিসেসের বিমূর্ত ধারণাটিকে ডকার কন্টেইনারের একটি কার্যকরী সেটে রূপান্তরিত করতে সহায়তা করে।



বিতরণ সিস্টেম

এখন যেহেতু আমরা ওয়েব অ্যাপটিকে একাধিক কন্টেইনারে বিভক্ত করে ফেলেছি, সেগুলিকে একটি একক সার্ভারে (এখনও একটি একক ভার্চুয়াল মেশিনে আরও খারাপ!) সেখানে রাখার অর্থ নেই, যেখানে ডকার সোয়ার্ম এবং কুবেরনেটসের মতো পরিষেবাগুলি কার্যকর হয়।





ডকার ঝাঁক আপনাকে একাধিক সার্ভারে আপনার অ্যাপ্লিকেশনের একাধিক প্রতিরূপ চালানোর অনুমতি দেয়। যদি আপনার মাইক্রোসার্ভিসটি এমনভাবে লেখা হয় যাতে এটি 'অনুভূমিকভাবে' স্কেল করতে পারে তাহলে আপনি ডকার সোয়ার্ম ব্যবহার করে আপনার ওয়েব অ্যাপটি একাধিক ডেটা সেন্টার এবং একাধিক অঞ্চলে স্থাপন করতে পারেন। এটি এক বা একাধিক ডেটা সেন্টার বা নেটওয়ার্ক লিঙ্কগুলির ব্যর্থতার বিরুদ্ধে স্থিতিস্থাপকতা সরবরাহ করে। এটি সাধারণত ডকারের একটি সাবকম্যান্ড ব্যবহার করে করা হয়, অর্থাৎ ডকার স্ট্যাক।

দ্য ডকার স্ট্যাক সাবকম্যান্ড ডকার-কম্পোজ কমান্ডের মতো অনেক বেশি আচরণ করে এবং এটি যে কোনও প্রযুক্তি ব্যবহার করে কারও ভুল ধারণা সৃষ্টি করতে পারে।



বিভ্রান্তির উৎস

ব্যবহার এবং কর্মপ্রবাহের ক্ষেত্রে, উভয় প্রযুক্তিই একে অপরের অনুরূপ কাজ করে এবং এটি বিভ্রান্তির সৃষ্টি করে। ডকার সোয়ার্ম বা ডকার-কম্পোজ ব্যবহার করে আপনি যেভাবে আপনার অ্যাপটি স্থাপন করেন তা খুব অনুরূপ। আপনি একটি YAML ফাইলে আপনার আবেদন সংজ্ঞায়িত করেন, এই ফাইলে ছবির নাম, প্রতিটি ছবির কনফিগারেশন এবং স্কেল (প্রতিলিপির সংখ্যা) থাকবে যা প্রতিটি মাইক্রোসার্ভেসকে স্থাপনার জন্য পূরণ করতে হবে।

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

মিল

ডকার সোয়ার্ম এবং ডকার-কম্পোজ উভয়েরই নিম্নলিখিত মিল রয়েছে:

  1. তারা উভয়ই আপনার অ্যাপ্লিকেশন স্ট্যাকের YAML বিন্যাসিত সংজ্ঞা গ্রহণ করে।
  2. তারা উভয় মাল্টি-ধারক অ্যাপ্লিকেশন (মাইক্রোসার্ভিসেস) মোকাবেলা করার জন্য বোঝানো হয়
  3. তাদের উভয়েরই একটি স্কেল প্যারামিটার রয়েছে যা আপনাকে একই চিত্রের একাধিক পাত্রে চালানোর অনুমতি দেয় যা আপনার মাইক্রো সার্ভিসকে অনুভূমিকভাবে স্কেল করার অনুমতি দেয়।
  4. তারা উভয় একই কোম্পানি দ্বারা রক্ষণাবেক্ষণ করা হয়, যেমন, ডকার, ইনকর্পোরেটেড।

পার্থক্য

ডকার সোয়ার্ম এবং ডকার-কম্পোজের মধ্যে কয়েকটি পার্থক্য:

  1. Docker Swarm এক বা একাধিক সার্ভার জুড়ে আপনার ওয়েব অ্যাপকে স্কেল করতে ব্যবহৃত হয়। যেখানে ডকার-কম্পোজ কেবলমাত্র আপনার ওয়েব অ্যাপটি একটি ডকার হোস্টে চালাবে।
  2. আপনার ওয়েব অ্যাপ ডকার সোয়ার্ম স্কেলিং গুরুতর উচ্চ প্রাপ্যতা এবং ফল্ট সহনশীলতা প্রদান করে। একক হোস্টে ডকার-কম্পোজ ব্যবহার করে আপনার ওয়েব অ্যাপটি স্কেল করা শুধুমাত্র পরীক্ষা এবং বিকাশের জন্য দরকারী।
  3. ডকার সোয়ার্ম এবং ডকার সোয়ার্ম এবং ডকার স্ট্যাকের মতো সম্পর্কিত সাব -কমান্ডগুলি ডকার সিএলআই -তে তৈরি করা হয়েছে। এগুলি সমস্ত ডকার বাইনারির অংশ যা আপনি আপনার টার্মিনালের মাধ্যমে কল করেন। ডকার-কম্পোজ স্বতন্ত্র এবং স্বতন্ত্র বাইনারি।

ডকার-কম্পোজের জন্য একটি ব্যবহার কেস

উপরে বর্ণিত হিসাবে, তারা উভয় সম্পূর্ণ ভিন্ন সরঞ্জাম এবং প্রতিটি একটি সম্পূর্ণ ভিন্ন সমস্যা সমাধান তাই এটি অন্যের জন্য একটি বিকল্প মত নয়। যাইহোক, নতুন ক্রেতাদের আমি যা বলছি তার ধারণা দিতে, এখানে ডকার কম্পোজের জন্য একটি ব্যবহারের কেস রয়েছে।

ধরুন আপনি একটি একক সার্ভারে একটি ওয়ার্ডপ্রেস ব্লগ স্ব-হোস্ট করতে চান। এটি সেট আপ করা বা রক্ষণাবেক্ষণ করা এমন কিছু নয় যা আপনি নিজে করতে চান, তাই আপনি এর পরিবর্তে যা করবেন তা হল আপনার ভিপিএসে ডকার এবং ডকার-কম্পোজ ইনস্টল করুন, আপনার ওয়ার্ডপ্রেস স্ট্যাকের বিভিন্ন দিক নির্ধারণ করে একটি সহজ YAML ফাইল তৈরি করুন, যেমন নীচের, :

দ্রষ্টব্য: যদি আপনি একটি ওয়ার্ডপ্রেস সাইট স্থাপন করতে নিচের ব্যবহার করছেন, তাহলে দয়া করে সমস্ত পাসওয়ার্ড নিরাপদ কিছুতে পরিবর্তন করুন। আরও ভাল, পাসওয়ার্ডের মতো সংবেদনশীল তথ্য সংরক্ষণের জন্য ডকার সিক্রেটস ব্যবহার করুন, এটি একটি সাধারণ পাঠ্য ফাইলে রাখার পরিবর্তে।

সংস্করণ:'3'

সেবা:
ডিবি:
ছবি: মাইএসকিউএল:5.7
ভলিউম:
- db_data:/কোথায়/lib/মাইএসকিউএল
পুনরায় আরম্ভ করুন: সর্বদা
পরিবেশ:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: ওয়ার্ডপ্রেস
MYSQL_USER: ওয়ার্ডপ্রেস
MYSQL_PASSWORD: ওয়ার্ডপ্রেস

ওয়ার্ডপ্রেস:
নির্ভর করে:
- ডিবি
ছবি: ওয়ার্ডপ্রেস: সর্বশেষ
বন্দর:
-'8000: 80'
পুনরায় আরম্ভ করুন: সর্বদা
পরিবেশ:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: ওয়ার্ডপ্রেস
WORDPRESS_DB_PASSWORD: wordpressPassword
WORDPRESS_DB_NAME: ওয়ার্ডপ্রেস
ভলিউম:
db_data:{}

একবার ফাইলটি তৈরি হয়ে গেলে এবং ডকার এবং ডকার-কম্পোজ উভয়ই ইনস্টল হয়ে গেলে, আপনাকে যা করতে হবে তা হল:

$ডকার-কম্পোজ আপ-ডি

এবং আপনার সাইট আপ এবং চলমান হবে। যদি কোন আপডেট থাকে, তাহলে চালান:

$ডকার-কম্পোজ ডাউন

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

ডকার ঝাঁক কখন ব্যবহার করবেন

যদিও ডকার-কম্পোজ একটি অটোমেশন টুল বেশি, ডকারের ঝাঁক বেশি চাহিদাযুক্ত অ্যাপ্লিকেশনের জন্য। শত শত বা হাজার হাজার ব্যবহারকারী বা কাজের চাপ সহ ওয়েব অ্যাপ্লিকেশন যা সমান্তরালভাবে স্কেল করা প্রয়োজন। বড় ব্যবহারকারীর ভিত্তি এবং কঠোর এসএলএ প্রয়োজনীয়তা সহ কোম্পানিগুলি ডকার ঝড়ের মতো একটি বিতরণ ব্যবস্থা ব্যবহার করতে চায়। যদি আপনার অ্যাপ একাধিক সার্ভার এবং একাধিক ডেটা সেন্টার জুড়ে চলতে থাকে তাহলে প্রভাবিত ডিসি বা নেটওয়ার্ক লিঙ্কের কারণে ডাউনটাইম হওয়ার সম্ভাবনা উল্লেখযোগ্যভাবে কমে যায়।

যে বলেন, আমি উত্পাদন ব্যবহারের ক্ষেত্রে ডকার সোয়ার্মের সুপারিশ করতে দ্বিধা করি কারণ কুবেরনেটসের মতো প্রতিযোগী প্রযুক্তিগুলি এই কাজের জন্য যুক্তিযুক্তভাবে আরও উপযুক্ত। Kubernetes অনেক ক্লাউড প্রোভাইডার জুড়ে নেটিভভাবে সমর্থিত এবং এটি ডকার কনটেইনারগুলির সাথে বেশ ভালভাবে কাজ করে যাতে কুবেরনেটসের সুবিধা নিতে আপনাকে আপনার অ্যাপটি পুনর্নির্মাণ করতে না হয়।

উপসংহার

আমি আশা করি যে ডকার এবং এর স্যাটেলাইট প্রকল্পগুলিতে এই দৌড়ঝাঁপ তথ্যপূর্ণ ছিল এবং আপনি ডকার ইকোসিস্টেমের জন্য আরও প্রস্তুত।