درآمدی بر رایانش ابری و مجازی‌سازی: دو مقولهٔ مرتبط اما کاملا متفاوت!

درآمدی بر رایانش ابری و مجازی‌سازی: دو مقولهٔ مرتبط اما کاملا متفاوت!

اگر با تفاوت‌های کلود کامپیوتینگ و ویرچوالیزیشن آشنایی ندارید، اصلا جای نگرانی نیست چرا که اکثر افراد -حتی برخی از کسانی که جزو متخصصین به شمار می‌آیند- نیز فرقی بین این دو قائل نمی‌شوند؛ به عبارت دیگر، تلفیقی از دو مفهوم را در یک مفهوم کلی مد نظر قرار می‌دهند. با این تفاسیر، نمی‌توانیم انتظار داشته باشیم اصطلاح Cloud که امروزه به وفور و به صورت شعار مورد استفاده قرار می‌گیرد، کلماتی مانند فضای ذخیره‌سازی کلود یا مفاهیم دیگر را توضیح داده یا تفسیر نماید. حال تفاوت این دو چیست؟ و اصلا چه اهمیتی دارد که با این تفاوت‌ها آشنا شویم؟ این‌طور‌ که به نظر می‌رسد، اگر که شما با این دو آشنا باشید و مزایای هر یک را بدانید، در مواردی که به هر کدام از آن‌ها نیاز دارید، به کارتان می‌آیند. بنابراین در این مقاله سعی کرده‌ایم به زبانی شیوا و غیرفنی، تفاوت‌های اصلی رایانش‌ابری و مجازی‌سازی را بازگو کنیم. با سکان آکادمی همراه باشید.

مجازی‌سازی
Virtualization (ویرچوالیزیشن یا مجازی‌سازی) زمانی اتفاق می‌افتد که بخواهید یک نمای مجازی از یک چیز حقیقی را ایجاد کنید. برای مثال، VR یا واقعیت مجازی، یک نمای مجازی از یک واقعیت فیزیکی است که تنها در یکسری حوزه‌ها با واقعیت فیزیکی تفاوت دارد. اما در زمینهٔ علوم کامپیوتری، مجازی‌سازی کمی پیچیده‌تر است. به عبارت دیگر، مجازی‌سازی یعنی زمانی که شما یک منبع فیزیکی واحد دارید و می‌خواهید (سی‌پی‌یو، رم و …) آن‌را به چند قسمت مجزا تقسیم کنید، که هر یک از این قسمت‌ها از نظر فنی، یک قسمت جدا به نظر می‌رسند به طوری که هر قسمت می‌تواند به یک کاربر خاص اختصاص داده شود و به این دلیل که قسمت‌ها از یکدیگر مجزا هستند، هر کاربر فقط می‌تواند به منابع اختصاص داده شده به خود استفاده کند و به منابع سایر کاربران دسترسی نخواهد داشت.

یک مثال از ویرچوال ماشین
Virtual Machine (ویرچوال ماشین یا ماشین مجازی) برنامه‌ای است که امکان مجازی‌سازی را بر روی سیستم شما فراهم می‌کند، و این در حالی است که این ماشین‌مجازی از سیستم‌عاملی غیر از سیستم‌عاملی که بر روی سیستم شما نصب است استفاده می‌کند و کاملا از آن جدا است. در چنین شرایطی، سیستم‌عامل اصلی نصب شده روی پی‌سی یا لپ‌تاپ شما Host یا «میزبان» و به ماشین‌مجازی نصب شده بر روی آن، اصطلاحا Guest یا «مهمان» گفته می‌شود.

برای روشن‌تر شدن این مسئله، اجازه دهید یک مثال از دنیای واقعی بزنیم. اگر شما بر روی سیستم‌تان یک نسخه از سیستم‌عامل ویندوز داشته باشید، آن سیستم‌عامل Host شما است؛ اکنون با استفاده از یکی از نرم‌افزار‌های مجازی‌سازی مانند Virtualbox یا Vmware می‌توانید یک نسخه از سیستم عامل گنو/لینوکس توزیع اوبونتو را نصب کرده و اجرا کنید البته بر روی سیستم‌عامل ویندوزی که در حال اجرا است. جالب نیست؟ این سیستم‌عامل مجازی همانند سایر نرم‌افزار‌هایی که در ویندوز اجرا می‌شوند اجرا شده البته باید توجه داشته باشید که این سیستم‌عامل مجازی با منابع محدود‌تری -که هنگام ایجاد آن سیستم‌عامل در ماشین مجازی اختصاص می‌دهید- اجرا می‌شود لذا نمی‌توانید هرگز این انتظار را داشته باشید اوبونتویی که در ماشین‌مجازی رو سیستم‌عامل ویندوز بالا می‌آید همان پرفورمنسی را داشته باشد که یک اوبونتوی نصب شده به صورت مستقل دارا است!

ماشین‌مجازی بهترین روش برای اجرای چندین سیستم‌عامل بر روی یک کامپیوتر است (البته این در حالی است که باید منابع سخت‌افزاری برای سرویس‌دهی به چندین ماشین‌مجازی را داشته باشید.) نکتهٔ بسیار خوبی که در این رابطه وجود دارد این است که سیستم‌عامل‌های مجازی طوری اجرا می‌شوند که اصطلاحا یک Sandbox کوچک دارند که باعث می‌شود ویروس ها و سایر بدافزارها امکان آلوده کردن سیستم‌عامل Host یا سایر سیستم‌عامل‌ها را نداشته باشد. همچنین ماشین‌های مجازی بهترین بستر برای اجرای برنامه‌های جدید و همچنین سیستم‌عامل‌های جدید می‌باشد (مثلا اگر بخواهید بدانید که ظاهر لینوکس توزیع Mint به چه شکل است، در عوض به جان خریدن دردسرهای پاک کردن سیستم‌عامل فعلی‌تان و نصب یک سیستم‌عامل جدید، به سادگی می‌توانید توزیع مینت را در ماشین‌مجازی اجرا و تست کرده و پس از تست هم آن را به سادگی حذف نمایید.)

مثالی از سرور‌مجازی
به عنوان کاربر عادی شاید تاکنون بیشتر از ۲ سیستم‌عامل همزمان بر روی کامپیوتر خانگی‌تان اجرا نکرده باشید، یکی به عنوان Host و دیگری به عنوان Guest. ولی در کاربردهای تجاری قضیه کمی فرق می‌کند. در‌واقع، این احتمال وجود دارد که کامپیوترهای زیادی را مشاهده کنید که چندین ماشین‌مجازی در کنار یکدیگر روی آن‌ها نصب است؛ به عبارت دیگر، در کاربردهای تجاری معمولا چندین یا حتی صدها ماشین‌مجازی به صورت همزمان بر روی یک سرور فیزیکی نصب می‌شوند.

زمانی که کاری بدین صورت اتفاق می‌افتد، به آن Virtual Sever (سرور‌مجازی) گفته می‌شود که قطعا برای انجام چنین کاری، سرور فیزیکی بسیار قدرتمندی نیاز است. در صورتی که منابع کمی در دسترس باشد، نمی‌توان منابع را بین چندین ماشین‌مجازی تقسیم نمود به طوری که هر کدام از سرعت و پرفورمنس قابل قبولی برخوردار باشند. دلیل این‌که سرورهای مجازی فقط برای کارهای تجاری مورد استفاده قرار می‌گیرد این است که کامپیوترهای قدرتمند مورد استفاده قرار گرفته برای این‌کار، بسیار گران‌قیمت هستند. حال سوالی که پیش می‌آید این است که چرا شرکت‌ها باید به سراغ سرور‌مجازی بروند؟ سوال خوبی است و همین سوال ما را به سمت Cloud Computing (کلود کامپیوتینگ یا رایانش ابری) می‌برد.

کلاود کامپیوتینگ
اولین سوالی که ممکن است پیش بیاید این است که کلود کامپیوتینگ یا رایانش ابری چیست؟ می‌توان تصور کرد که یک مجموعه از سرورها در مکانی دور دست قرار گرفته‌اند که وظیفهٔ آن‌ها ارائهٔ سرویسی خاص می‌باشد. به عبارت دیگر، مجموعه‌ای از کامپیوترهای به هم متصل (کلاستری از سرورها) که تا زمانی که شما دسترسی به اینترنت دارید، می‌توانید از هر کجای دنیا به سرویس‌های آن‌ها دسترسی پیدا کنید که این سرویس‌ها خواه رایگان هستند و خواه در ازای دریافت‌شان باید پول پرداخت کرد.

زمانی از واژهٔ رایانش ابری استفاده می‌شود که شما بخواهید به جای ذخیره یا پردازش اطلاعات بر روی کامپیوتر خود، آن را بر روی کامپیوترهای کلود پردازش یا ذخیره کنید بنابراین هیچ کدام از منابع سیستم شما -مثل رم یا سی‌پی‌یو- استفاده نخواهد شد (نکته‌ای که وجود دارد این است که بعضی از سرویس‌های کلود از مجازی‌سازی استفاده می‌کنند ولی بیشتر آن‌ها این‌گونه نیستند.)

یک مثال ساده از سرویس‌های کلود
اگر شما از سرویس Gmail استفاده می‌کنید در واقع شما دارید از سرویسی بهره می‌گیرد که بر پایهٔ کلود است. در این مورد، داده‌های مربوط به ایمیل‌های شما بر روی شبکه‌ای از سرورهای گوگل ذخیره می‌شوند و عملیات سنگین ذخیره‌سازی، ارسال، دریافت، و پردازش ایمیل‌ها بر روی سرورهای گوگل انجام می‌شود. به عبارت دیگر، کلیهٔ این کارها بر بستر کلود انجام می‌شود نه بر روی کامپیوتر شخصی شما. این مورد برای اکثر سرویس‌های تحت وب صادق است. سرویس‌هایی همچون تقویم، لیست کارهایی که باید انجام دهید، شبکه‌های اجتماعی، تلفن اینترنتی، فضای ذخیره‌سازی، ویرایشگرهای آنلاین تصاویر و ...

مثالی از سرویس‌های پیشرفتهٔ کلود
بعضی از سرویس‌های کلود، پیشرفته‌تر از سایرین هستند؛ برای مثال سرویس‌هایی همچون Gmail یا Outlook به مراتب ساده‌تر از سرویس‌های مدیریت اسناد آنلاین همچون Google Docs یا هر سرویس مدیریت سند آنلاین دیگری هستند. در سرویس Google Docs، هر فایل نوشتاری یا فایل جداول بر روی سرورهای شرکت گوگل ذخیره شده است؛ هنگامی که شما یک فایل را برای ویرایش باز می‌کنید و شروع به ویرایش آن می‌کنید، در واقع درحال تعامل با فایلی هستید که هزاران کیلومتر با آن فاصله دارید و این در حالی است که در آن واحد، فرد دیگری هم می‌تواند همزمان با شما به آن فایل دسترسی داشته باشد و آن را ویرایش نماید. سرورهای گوگل بدون هیچ‌گونه وقفه‌ای -اصطلاحا Real Time- شروع به پردازش متن وارد شده توسط شما می‌کنند.

مثالی از فضای میزبانی مجازی
توجه کنید که در مثال‌های فوق هیچ اشاره‌ای به بحث مجازی‌سازی نشده است، این مثال نیز یکی از آن‌ها است. زمانی که شما یکی از سرویس‌های میزبانی وب اشتراکی را سفارش می‌دهید، معمولا آن فضا بر روی یک ماشین و بدون هیچ گونه عمل مجازی‌سازی قرار گرفته است و تعداد زیادی از وب سایت‌ها نیز توسط همان سرور میزبانی می‌شوند. اگر یکی از کاربران به اشتباه یا به عمد، در کار سی‌پی‌یو سرور مد نظر اختلال ایجاد کند، کلیهٔ سایت‌های موجود بر روی آن سرور از دسترس خارج می‌شوند تا زمانی که سرور درست شود.

اما زمانی که شما یک Virtual Private Server به معنی «سرور‌مجازی اختصاصی» که به اختصار VPS خوانده می‌شود سفارش می‌دهید، همچنان شما بر روی یک سرور واحد وبسایت خود را میزبانی می‌کنید ولی با این تفاوت که منابع سخت‌افزاری برای شما مجازی‌سازی شده است (به عبارت دیگر، رم، سی‌پی‌یو و ... به اندازه‌‌ٔ خاصی -همان‌قدر که پولش را پرداخت کرده‌اید- به وبسایت شما به صورت کامل اختصاص می‌یابد.) اگر یکی از کاربران اشتباهی انجام دهد، فقط منابع اختصاص داده شده به وی قفل می‌شود و تنها وبسایت او از دسترسی خارج می‌شود و این‌بار وبسایت شما به خوبی به کار خود ادامه می‌دهد (این مزیت سرور‌مجازی بر هاست‌های اشتراکی است.)

امیدوارم که با توضیحات بالا، تفاوت بین این دو را متوجه شده باشید؛ معمولا خیلی از کاربران از این‌که تا این حد از کلود کامپیوتینگ در زندگی روزمرهٔ خود استفاده می‌کنند متعجب می‌شوند و شاید شما نیز چنین حسی دارید! حال وقت آن رسید که شما نیز نظرات و تجربیات خود را در این زمینه با ما به اشتراک بگذارید؛ همچنین اگر سوالی یا ابهامی در مورد مفاهیم مجازی‌سازی و رایانش ابری برای شما بوجود آمده است، آن را در قسمت نظرات بپرسید تا ما و سایر کاربران سکان آکادمی بتوانیم در صورت امکان پاسخ شما را بدهیم.

منبع