সুচিপত্র
আপনি যদি সফ্টওয়্যার শিল্পে বা আশেপাশে কাজ করেন, আপনি সম্ভবত ভার্চুয়াল মেশিনের কথা শুনেছেন। যদি তা না হয়, আপনি হয়ত ভাবছেন এগুলি কী এবং কীসের জন্য ব্যবহার করা হয়৷
একজন সফ্টওয়্যার ইঞ্জিনিয়ার হিসাবে, আমি প্রতিদিন ভার্চুয়াল মেশিন ব্যবহার করি৷ এগুলি সফ্টওয়্যার বিকাশে শক্তিশালী সরঞ্জাম, তবে তাদের অন্যান্য ব্যবহারও রয়েছে। VM নামেও পরিচিত, অনেক ব্যবসা তাদের নমনীয়তা, নির্ভরযোগ্যতা এবং খরচ-কার্যকারিতার কারণে ব্যবহার করে; তারা পলাতক সফ্টওয়্যার পরীক্ষা থেকে বিপর্যয় প্রতিরোধ করে।
আসুন এক নজরে দেখে নেওয়া যাক ভার্চুয়াল মেশিন কী এবং কেন ব্যবহার করা হয়।
ভার্চুয়াল মেশিন কী?
একটি ভার্চুয়াল মেশিন হল একটি অপারেটিং সিস্টেমের (ওএস) উদাহরণ যেমন উইন্ডোজ, ম্যাক ওএস, বা লিনাক্স একটি কম্পিউটারের প্রধান ওএসের মধ্যে চলছে।
সাধারণত, এটি আপনার ডেস্কটপে একটি অ্যাপ উইন্ডোতে চলে। একটি ভার্চুয়াল মেশিনের সম্পূর্ণ কার্যকারিতা রয়েছে এবং এটি একটি পৃথক কম্পিউটার বা মেশিনের মতো কাজ করে। মোটকথা, ভার্চুয়াল মেশিন হল একটি ভার্চুয়াল কম্পিউটার যা হোস্ট মেশিন নামে পরিচিত অন্য একটি কম্পিউটারের ভিতরে চলে৷
চিত্র 1: ভার্চুয়াল মেশিন একটি ল্যাপটপে চলছে৷
একটি ভার্চুয়াল মেশিন হার্ডওয়্যার (মেমরি, হার্ড ড্রাইভ, কীবোর্ড বা মনিটর) নেই। এটি হোস্ট মেশিন থেকে সিমুলেটেড হার্ডওয়্যার ব্যবহার করে। এই কারণে, একাধিক VM, যাকে "অতিথি" হিসাবেও উল্লেখ করা হয় একটি একক হোস্ট মেশিনে চালানো যেতে পারে৷
চিত্র 2: একাধিক VM চালানো হোস্ট মেশিন৷
হোস্ট এছাড়াও বিভিন্ন অপারেটিং সহ একাধিক VM চালাতে পারেLinux, Mac OS, এবং Windows সহ সিস্টেমগুলি। এই ক্ষমতা হাইপারভাইজার নামক সফ্টওয়্যারের উপর নির্ভর করে (উপরের চিত্র 1 দেখুন)। হাইপারভাইজার হোস্ট মেশিনে চলে এবং আপনাকে ভার্চুয়াল মেশিন তৈরি, কনফিগার, চালানো এবং পরিচালনা করার অনুমতি দেয়।
হাইপারভাইজার ডিস্কের স্থান বরাদ্দ করে, প্রক্রিয়াকরণের সময় নির্ধারণ করে এবং প্রতিটি VM-এর জন্য মেমরি ব্যবহার পরিচালনা করে। ওরাকল ভার্চুয়ালবক্স, ভিএমওয়্যার, প্যারালেলস, জেন, মাইক্রোসফ্ট হাইপার-ভি এবং আরও অনেকের মতো অ্যাপ্লিকেশনগুলি এটি করে: তারা হাইপারভাইজার৷
একটি হাইপারভাইজার একটি ল্যাপটপ, পিসি বা সার্ভারে চলতে পারে৷ এটি স্থানীয় কম্পিউটার বা নেটওয়ার্ক জুড়ে বিতরণ করা ব্যবহারকারীদের কাছে ভার্চুয়াল মেশিন উপলব্ধ করে।
বিভিন্ন ধরনের ভার্চুয়াল মেশিন এবং পরিবেশের জন্য বিভিন্ন ধরনের হাইপারভাইজার প্রয়োজন। চলুন সেগুলোর কয়েকটি দেখে নেওয়া যাক।
ভার্চুয়াল মেশিনের ধরন
সিস্টেম ভার্চুয়াল মেশিন
সিস্টেম ভিএম, যাকে কখনও কখনও সম্পূর্ণ ভার্চুয়ালাইজেশন বলা হয়, একটি হাইপারভাইজার দ্বারা চালিত হয় এবং সরবরাহ করে একটি প্রকৃত কম্পিউটার সিস্টেমের কার্যকারিতা। তারা সিস্টেম সংস্থানগুলি পরিচালনা এবং ভাগ করতে হোস্টের নেটিভ অপারেটিং সিস্টেম ব্যবহার করে৷
সিস্টেম ভার্চুয়াল মেশিনগুলির জন্য প্রায়ই দ্রুত বা একাধিক CPU, প্রচুর পরিমাণে মেমরি এবং প্রচুর পরিমাণে ডিস্ক স্পেস সহ একটি শক্তিশালী হোস্টের প্রয়োজন হয়৷ কিছু, যা ব্যক্তিগত বা ল্যাপটপ কম্পিউটারে চালিত হয়, বড় এন্টারপ্রাইজ ভার্চুয়াল সার্ভারের যে কম্পিউটিং শক্তির প্রয়োজন হয় না; যাইহোক, হোস্ট সিস্টেম পর্যাপ্ত না হলে তারা ধীর গতিতে চলবে।
ভার্চুয়াল প্রক্রিয়ামেশিন
প্রসেস ভার্চুয়াল মেশিনগুলি SVM-এর থেকে বেশ আলাদা—আপনি সেগুলিকে আপনার মেশিনে চালাতে পারেন এবং এমনকি এটি জানেন না। এগুলি অ্যাপ্লিকেশন ভার্চুয়াল মেশিন বা পরিচালিত রানটাইম পরিবেশ (MREs) নামেও পরিচিত। এই ভার্চুয়াল মেশিনগুলি হোস্ট অপারেটিং সিস্টেমের ভিতরে চলে এবং অ্যাপ্লিকেশন বা সিস্টেম প্রক্রিয়াগুলিকে সমর্থন করে৷
কেন একটি PVM ব্যবহার করবেন? তারা নির্দিষ্ট অপারেটিং সিস্টেম বা হার্ডওয়্যারের উপর নির্ভরশীল না হয়ে পরিষেবাগুলি সম্পাদন করে। তাদের নিজস্ব ছোট ওএস আছে শুধুমাত্র প্রয়োজনীয় সম্পদ সহ। এমআরই একটি পৃথক পরিবেশে রয়েছে; এটি উইন্ডোজ, ম্যাক ওএস, লিনাক্স বা অন্য কোন হোস্ট মেশিনে চলে কিনা তা কোন ব্যাপার না।
সবচেয়ে সাধারণ প্রসেস ভার্চুয়াল মেশিনগুলির মধ্যে একটি যা আপনি সম্ভবত শুনেছেন এবং চলতে দেখেছেন তোমার কম্পিউটার. এটি জাভা অ্যাপ্লিকেশন চালানোর জন্য ব্যবহৃত হয় এবং একে জাভা ভার্চুয়াল মেশিন বা সংক্ষেপে JVM বলা হয়।
হাইপারভাইজারের প্রকারগুলি
অধিকাংশ ভার্চুয়াল মেশিনগুলি হাইপারভাইজার ব্যবহার করে কারণ তারা অনুকরণ করে একটি সম্পূর্ণ কম্পিউটার সিস্টেম। দুটি ভিন্ন ধরনের হাইপারভাইজার রয়েছে: বেয়ার মেটাল হাইপারভাইজার এবং হোস্টেড হাইপারভাইজার। চলুন তাদের উভয়ের দিকেই দ্রুত নজর দেওয়া যাক।
বেয়ার মেটাল হাইপারভাইজার
BMH গুলিকে নেটিভ হাইপারভাইজারও বলা যেতে পারে, এবং তারা হোস্টের অপারেটিং সিস্টেমের মধ্যে চলার পরিবর্তে সরাসরি হোস্টের হার্ডওয়্যারে চলে। আসলে, তারা হোস্টের অপারেটিং সিস্টেম, সময়সূচী এবং এর জায়গা নেয়প্রতিটি ভার্চুয়াল মেশিনের দ্বারা হার্ডওয়্যার ব্যবহার পরিচালনা করা, এইভাবে প্রক্রিয়ায় "মিডল ম্যান" (হোস্টের ওএস) কেটে ফেলা হয়৷
নেটিভ হাইপারভাইজারগুলি সাধারণত বড় আকারের এন্টারপ্রাইজ VM-এর জন্য ব্যবহৃত হয়, যেগুলি কোম্পানিগুলি কর্মীদের সরবরাহ করতে ব্যবহার করে সার্ভার সম্পদ। Microsoft Azure বা Amazon Web Services হল এই ধরনের আর্কিটেকচারে হোস্ট করা VM। অন্যান্য উদাহরণ হল KVM, Microsoft Hyper-V, এবং VMware vSphere।
হোস্টেড হাইপারভাইজার
হোস্টেড হাইপারভাইজারগুলি স্ট্যান্ডার্ড অপারেটিং সিস্টেমে চলে—যেমন অন্য যেকোনো অ্যাপ্লিকেশন যা আমরা আমাদের মেশিনে চালাই। তারা সংস্থান পরিচালনা এবং বিতরণ করতে হোস্টের ওএস ব্যবহার করে। এই ধরনের হাইপারভাইজার স্বতন্ত্র ব্যবহারকারীদের জন্য আরও উপযুক্ত যাদের তাদের মেশিনে একাধিক অপারেটিং সিস্টেম চালাতে হবে।
এর মধ্যে রয়েছে ওরাকল ভার্চুয়ালবক্স, ভিএমওয়্যার ওয়ার্কস্টেশন, ভিএমওয়্যার ফিউশন, প্যারালেলস ডেস্কটপ এবং আরও অনেকের মতো অ্যাপ্লিকেশন। আপনি আমাদের নিবন্ধে হোস্ট করা হাইপারভাইজার সম্পর্কে আরও বিশদ তথ্য পেতে পারেন, সেরা ভার্চুয়াল মেশিন সফ্টওয়্যার৷
কেন ভার্চুয়াল মেশিন ব্যবহার করবেন?
এখন যেহেতু ভার্চুয়াল মেশিন কী তা সম্পর্কে আপনার প্রাথমিক ধারণা রয়েছে, আপনি সম্ভবত কিছু দুর্দান্ত অ্যাপ্লিকেশনের কথা ভাবতে পারেন। ভার্চুয়াল মেশিন ব্যবহার করার জন্য এখানে কিছু প্রধান কারণ রয়েছে।
1. খরচ-কার্যকর
ভার্চুয়াল মেশিনগুলি অনেক পরিস্থিতিতে সাশ্রয়ী। কর্পোরেট জগতে অন্যতম বিশিষ্ট। কর্মীদের জন্য সম্পদ প্রদান করতে শারীরিক সার্ভার ব্যবহার করতে পারেনখুব ব্যয়বহুল হতে হার্ডওয়্যার সস্তা নয়, এবং এটি বজায় রাখা আরও বেশি ব্যয়বহুল৷
এন্টারপ্রাইজ সার্ভার হিসাবে ভার্চুয়াল মেশিনের ব্যবহার এখন আদর্শ হয়ে উঠেছে৷ MS Azure-এর মতো একটি প্রদানকারীর VM-এর সাথে, কোনও প্রাথমিক হার্ডওয়্যার কেনাকাটা নেই এবং কোনও রক্ষণাবেক্ষণ ফি নেই। এই VM গুলি সেট আপ, কনফিগার করা এবং মাত্র এক ঘন্টার জন্য ব্যবহার করা যেতে পারে। ব্যবহার না করার সময়ও এগুলি বন্ধ করে দেওয়া যেতে পারে এবং কোনও খরচই করতে হবে না৷
আপনার মেশিনে একটি VM ব্যবহার করাও একটি বিশাল অর্থ সাশ্রয় হতে পারে৷ আপনার যদি একাধিক অপারেটিং সিস্টেম বা বিভিন্ন হার্ডওয়্যার কনফিগারেশনে কাজ করার প্রয়োজন হয়, তাহলে আপনি
একটি হোস্টে একাধিক ভার্চুয়াল মেশিন ব্যবহার করতে পারেন - প্রতিটি কাজের জন্য বাইরে গিয়ে আলাদা কম্পিউটার কেনার প্রয়োজন নেই৷
<0 2. স্কেলযোগ্য এবং নমনীয়সেগুলি এন্টারপ্রাইজ সার্ভার হোক বা আপনার ল্যাপটপে চলমান VM, ভার্চুয়াল মেশিনগুলি মাপযোগ্য। আপনার প্রয়োজনের জন্য সংস্থানগুলি সামঞ্জস্য করা সহজ। আপনার যদি আরও মেমরি বা হার্ড ডিস্কের জায়গার প্রয়োজন হয়, শুধু হাইপারভাইজারে যান এবং আরও বেশি করার জন্য VM পুনরায় কনফিগার করুন। নতুন হার্ডওয়্যার কেনার দরকার নেই, এবং প্রক্রিয়াটি দ্রুত সম্পন্ন করা যেতে পারে।
3. দ্রুত সেটআপ
একটি নতুন VM দ্রুত সেট আপ করা যেতে পারে। আমার এমন কিছু ঘটনা আছে যেখানে আমার একটি নতুন VM সেটআপের প্রয়োজন ছিল, আমার সহকর্মীকে ডাকা হয় যে সেগুলি পরিচালনা করে, এবং সেগুলিকে এক ঘণ্টারও কম সময়ের মধ্যে ব্যবহার করার জন্য প্রস্তুত ছিল৷
4৷ দুর্যোগ পুনরুদ্ধার
আপনি যদি ডেটা ক্ষতি রোধ করার চেষ্টা করেন এবং দুর্যোগ পুনরুদ্ধারের জন্য প্রস্তুত হন, তাহলে VM হতে পারে একটিভয়ঙ্কর টুল। এগুলি ব্যাক আপ করা সহজ এবং প্রয়োজনে বিভিন্ন স্থানে বিতরণ করা যেতে পারে। যদি Microsoft বা Amazon-এর মতো কোনো তৃতীয় পক্ষ ভার্চুয়াল মেশিনগুলি হোস্ট করে, তাহলে সেগুলি অফ-সাইট হবে—যার মানে আপনার অফিস পুড়ে গেলে আপনার ডেটা নিরাপদ।
5. পুনরুত্পাদন করা সহজ
অধিকাংশ হাইপারভাইজার আপনাকে একটি VM এর একটি অনুলিপি বা চিত্র তৈরি করতে দেয়। ইমেজিং আপনাকে যেকোনো পরিস্থিতির জন্য একই বেস VM-এর সঠিক পুনরুত্পাদন সহজে করতে দেয়।
আমি যে পরিবেশে কাজ করি, আমরা প্রত্যেক ডেভেলপারকে ডেভেলপমেন্ট এবং পরীক্ষার জন্য ব্যবহার করার জন্য একটি VM দিই। এই প্রক্রিয়াটি আমাদের সমস্ত প্রয়োজনীয় সরঞ্জাম এবং সফ্টওয়্যার সহ একটি চিত্র কনফিগার করার অনুমতি দেয়। যখন আমরা একজন নতুন ডেভেলপার অনবোর্ডিং করি, তখন আমাদের যা করতে হবে তা হল সেই ছবির একটি অনুলিপি, এবং তাদের কাজ করার জন্য যা প্রয়োজন তা তাদের কাছে আছে।
6. ডেভ/টেস্টের জন্য পারফেক্ট
ভার্চুয়াল মেশিন ব্যবহার করার সবচেয়ে ভালো সুবিধা হল যে এগুলি সফ্টওয়্যার ডেভেলপমেন্ট এবং পরীক্ষার জন্য একটি নিখুঁত টুল। ভিএমগুলি ডেভেলপারদের একটি মেশিনে একাধিক প্ল্যাটফর্ম এবং পরিবেশে বিকাশ করতে দেয়। যদি সেই VM নষ্ট হয়ে যায় বা নষ্ট হয়ে যায়, তাহলে দ্রুত একটি নতুন তৈরি করা যেতে পারে।
তারা একজন পরীক্ষককে প্রতিটি পরীক্ষা চক্রের জন্য একটি পরিষ্কার নতুন পরিবেশের অনুমতি দেয়। আমি এমন প্রকল্পগুলিতে কাজ করেছি যেখানে আমরা স্বয়ংক্রিয় পরীক্ষা স্ক্রিপ্ট সেট আপ করি যা একটি নতুন VM তৈরি করে, সর্বশেষ সফ্টওয়্যার সংস্করণ ইনস্টল করি, সমস্ত প্রয়োজনীয় পরীক্ষা চালায়, তারপর পরীক্ষাগুলি শেষ হয়ে গেলে VM মুছে ফেলি৷
ভিএমগুলি দুর্দান্তভাবে কাজ করেআমরা এখানে SoftwareHow.com এ করি এমন পণ্যের পরীক্ষা এবং পর্যালোচনা। আমি আমার মেশিনে চলমান একটি VM-এ অ্যাপগুলি ইনস্টল করতে পারি এবং আমার প্রাথমিক পরিবেশে বিশৃঙ্খলা না করে সেগুলি পরীক্ষা করতে পারি।
যখন আমার পরীক্ষা করা হয়, আমি সর্বদা ভার্চুয়াল মেশিনটি মুছে ফেলতে পারি, তারপর যখন আমার প্রয়োজন হয় তখন একটি নতুন তৈরি করতে পারি। এই প্রক্রিয়াটি আমাকে একাধিক প্ল্যাটফর্মে পরীক্ষা করার অনুমতি দেয় যদিও আমার কাছে শুধুমাত্র একটি উইন্ডোজ মেশিন আছে।
ফাইনাল ওয়ার্ডস
যেমন আপনি দেখতে পাচ্ছেন, ভার্চুয়াল মেশিন একটি সাশ্রয়ী, বহুমুখী টুল যা অনেক অ্যাপ্লিকেশনের জন্য ব্যবহার করা হবে। পরীক্ষক, বিকাশকারী এবং অন্যদের জন্য সার্ভার অ্যাক্সেস সরবরাহ করার জন্য আমাদের আর ব্যয়বহুল হার্ডওয়্যার ক্রয়, সেটআপ এবং বজায় রাখার দরকার নেই। VM আমাদের প্রয়োজনীয় অপারেটিং সিস্টেম, হার্ডওয়্যার এবং পরিবেশ তৈরি করতে সহজে এবং দ্রুত নমনীয়তা দেয়—যেকোনো সময়ে।