Thursday, October 22, 2020

ডকার কি ও কেন ?




 ডকার নিয়ে কিছু আলোচনাঃ 

 
অনেকেই আমার কাছে জানতে চাচ্ছেন যে ডকার কেন শিখবো এবং এর উপকারিতা। তো আমি নিজে এটা নিয়ে লিখতে বসে ভাবলাম যে অলরেডি ইন্টারনেট এর দুনিয়া তে অনেক সুন্দর সুন্দর উদাহরণ আছে এর। তাই আমি তাদের লেখা আর আমার লেখা কে একসাথে করে নতুন কিছু করার চিন্তা করলাম। প্রথমেই বলতে হবে ডকার কি জিনিষ? এতদিনে অনেকেই ডকার নামটা শুনেছি। কিন্তু এটা কি জিনিস সেটা দশ জনকে জিজ্ঞেস করলে হয়তো বারো-ষোলো রকমের উত্তর পাওয়া যাবে! অনেকেই “ডকার কি জিনিস বা এটা কেন দরকার" যদিও কিছুটা বুঝি, অন্য কাউকে বোঝাতে গেলে আটকে যাই। তাই কথা খুব বেশি না বাড়িয়ে, অন্তত চায়ের টং-এ বা কফির দোকানে গল্প-আড্ডায় ডকার শব্দটা চলে আসলে কি বলতে হবে সেটা জেনে নেই চলুন!
 
ডকার কি ও কেন ?
মাইক্রোসার্ভিস ডেভেলপার বা ডেভ-অপস যারা আছেন তাদের কাছে ডকার নামটা বেশ পরিচিত।একটু গভীরে গিয়ে ডকারের ব্যাপারে জানতে হলে অপারেটিং সিস্টেম লেভেল ভার্চুয়ালাইজেসন (Operating System Level Virtualization) কি জিনিস সেটা বুঝতে হবে। আপাতত নিচের সংজ্ঞাটা দেখে নেই, বিস্তারিত পরে আসছে।
একটি কার্নেলের ওপর একাধিক isolated ইউসার স্পেইসের অস্তিত্বকে অপারেটিং সিস্টেম লেভেল ভার্চুয়ালাইজেসন বলে [সোর্স: Wikipedia]
 
আচ্ছা ভার্চুয়াল বক্সের বা ভিএমওয়্যার এর নাম শুনসেন? যেটা দিয়া উইন্ডোজের ভিতর লিনাক্স চালানো যাইতো? ডকার ওইটা না, কিন্তু ভার্চুয়াল জিনিসটা কি জিনিস তা বুঝা দরকার।
এইটা ভয়ানক লেভেলের জটিল কারণ এইটাকে কেউ সহজভাবে উপস্থাপন করে না। সবাই শুরুতেই কি ভার্চুয়ালাইজেশন সহ কি কি বলে মাথার উপর দিয়ে যায়।
ধরেন একটা অফিসে নতুন জয়েন করসেন। আর একটা এপ বানাইতে দিসে আপনারে, তো আপনি পিএইচপি, ডট নেট, জাভা ইত্যাদি সব মিলায়া একটা সেই লেভেলের এপ বানায়ে ফেললেন। কোডটাও ধরেন গিটহাবে পুশ করে দিলেন। কিন্তু যেদিন এইটা প্রেজেন্ট করতে যাবেন, ওইদিন আপনার ল্যাপটপ ক্র্যাশ করলো।
জলদি কোড নামায়া আরেকজনের পিসিতে নিয়া গেলেন এইটা রান করার জন্য, কিন্তু ওইখানে এরর দিলো এক বস্তা, ভার্সন নাকি মিলে না। এইবার ভার্সন কই পাবেন? মিটিং কবে হবে? কেমনে কি?
 
তো আপনার তমুক ভাই কোনমতে অফিসের বসকে একটু ঠান্ডা করলো, আর আপনারে দুইটা দিন হাতে সময় দিলো। আপনি এইবার চিন্তা করতে থাকলেন, কিভাবে আপনার কোডটাকে সব জায়গায় রান করা যায়, ভার্সন নিয়াও যেন হাতাহাতি না করা লাগে।
তো সবার আগে করলেন কি, কি কি ভার্সন লাগবে, ওই সব জিনিস একটা কাগজে লেখলেন। পিএইচপি ৮, ডট নেট ৫, জাভা ৯ ইত্যাদি ভার্সন ছাড়া এইটা নাকি চলবেই না। আবার খালি ইন্সটল দিলে হবে না, একটু কনফিগারও করে নিতে হবে।
কিন্তু আবার ভাবলেন, এত কিছু কনফিগার করতে ত অনেক সময় লাগবে, বারবার এইটা কনফিগার করাও ত ঝামেলা। তো কি করলেন, সবকিছু আপনার ল্যাপটপে ঠিকমত ইন্সটল দিয়া পুরা পিসির একটা ব্যাকআপ নিয়া ফেললেন পেন ড্রাইভে, যেন পেন ড্রাইভ হতেই সরাসরি কাজ করতে পারেন।
কিন্তু পেন ড্রাইভে ফাইল বারবার এডিট করে ফেললেও ত সমস্যা। তাই প্রতিবার দেখানোর সময় জাস্ট পেন ড্রাইভের ফাইলগুলার কপি পিসিতে নিয়া ওটাতে কাজ করবেন।
কি বিশাল গল্প! সামান্য একটা এপপ দেখাইতে গিয়া পেন ড্রাইভ আর কত কিছুর কাহিনী!!!
 
আচ্ছা তো ডকার হইলো এই জিনিসটা সহজ করে দিবে। এইটা হইলো এক রকম কনটেইনার টেকনোলোজি। এইসব জটিল ইংরেজি আমিও বুঝিনা, তাও আরকি লিখতেসি। এইটা উইন্ডোজ, লিনাক্স, ম্যাক সবগুলাতেই চলে।
 
 
আরেকটু টেকনিকাল উদাহরন দিই,
 
ডকারকে আপনে ভাড়া বাসার সাথে তুলনা করতে পারেন। একটা বিল্ডিংয়ে অনেকজন ভাড়া থাকে, কিন্তু পানির লাইন কিংবা গ্যাসের মেইন লাইন মোটামুটি একটাই হয়। যেটা আবার একটু এদিক ওদিক করে সবাইকে ভাগ করে দেয়া হয়। আবার কিছু কিছু অংশ যেমন মিটার কারো কারো জন্য আলাদা হয়, একজন আরেকজনের বাসায় চাইলেই দরজা দিয়া নক দিতে পারে কিন্তু সবাই নিজের নিজের বাসায় থাকে একই বিল্ডিংয়ে। আবার ধরেন গ্যারেজটাও কারো একার না, সবাই একত্রে ওইটা ব্যবহার করতে পারে। ভিতরের রুমগুলাও এইরকম, সবাই আলাদা রুমে থাকে, কিন্তু ডায়নিং রুম বা ওয়াশরুম, বা রান্নাঘর ইত্যাদি আবার শেয়ার করে। আপনার রুমে আপনার শান্তি। মাঝে মাঝে মনে চায় যেন যদি রুমটাকে সাথে নিয়া যাইতে পারতেন কোথাও।
এই জিনিসটাই মূলত ডকার করে। কন্টেইনার, ইমেইজ এইগুলা নিয়ে কাজ করার সময় কিছু না বুঝলে বাসার সাথে তুলনা করবেন, মোটামুটি ধরতে পারবেন।
ব্যাপার হলো ডকার কি জিনিস সেইটা বুঝা আর বুঝে কাজে লাগানো এক জিনিস না, সবাই ত ইন্সটল করতে গেলেই ভয় পায় যে কি না কি। আর তাদের দোষ নাই, এত জটিল কিওয়ার্ডগুলা ব্যবহার করে মানুষ ত ভয় পাবেই!
 
আধুনিক সফটওয়্যার কোম্পানি তে এর ব্যবহার
 
পরিশেষে বলতে চাই যে ডকার হলো আজকের আধুনিক যুগের সকল সফটওয়্যার বা আইটি কোম্পানি গুলোতে অটোমেশন এর জন্যে আজকাল সবচেয়ে বেশি ব্যবহার হচ্ছে ডকার। কনটেইনার এবং মাইক্রোসার্ভিসের জগতে বর্তমানে ডকার এর জয়জয়কার। আসলে আরো আধুনিক এবং অ্যাডভান্সড কোন্টাইনেরাইজেশন এবং অর্কেস্ট্রেশন নিয়ে কাজ করতে হলে আপনাকে বেসিক ডকার দিয়েই শুরু করতে হবে। কারণ এটার বেসিক টাই আপনাকে অনেক বেশি সাহায্য করবে অ্যাডভান্সড কাজ গুলোতে।
 

No comments:

Post a Comment