فصل ششم:

 دنیای مجازی – مقدمه ای بر دنیای دیجیتال

آشنایی با دنیای مجازی

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

“مجازی / Virtual” به چه معناست؟

کلمه “مجازی” از کلمه لاتین “virtus” گرفته شده است که به معنای فضیلت یا توانایی است. در فناوری مدرن، به ایجاد یک محیط دیجیتالی تولید شده توسط رایانه ها اشاره دارد. این محیط ها می توانند شامل بازی ها، پلتفرم های اجتماعی، فضاهای آموزشی و غیره باشند. آنها “مجازی” هستند زیرا آنها دنیایی مصنوعی را نشان می دهند که در واقعیت فیزیکی وجود ندارد.

واقعیت مجازی / Virtual Reality

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

واقعیت افزوده / Augmented Reality

یک مفهوم مرتبط واقعیت افزوده (AR) است که اطلاعات دیجیتال یا اشیاء را در دنیای واقعی پوشش می دهد. یک مثال شناخته شده در این مورد، بازی Pokémon Go است که در آن بازیکنان پوکمون هایی را می گیرند که در محیط واقعی خود ظاهر می شوند و از طریق تلفن هوشمند قابل مشاهده هستند.

دنیای مجازی در زندگی روزمره

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

“مجازی” یک جهان یا واقعیت ایجاد شده توسط رایانه را توصیف می کند. این جهان های مجازی فرصت های جدیدی را برای یادگیری، سرگرمی و تعامل با دیگران، مستقل از مرزهای فیزیکی دنیای واقعی به ما می دهند. اگرچه این دنیاها به معنای سنتی «واقعی» نیستند، تجربیات و تعاملات درون این محیط‌های مجازی تأثیرات واقعی بر دانش، مهارت‌ها و روابط اجتماعی ما دارد.

جادوی مجازی سازی – چگونه فناوری بر مرزها غلبه می کند

حالا بیایید از دنیای مجازی به یک مفهوم کمی فنی تر برویم: مجازی سازی در علوم کامپیوتر و فناوری اطلاعات از اهمیت بالایی برخوردار است زیرا روش کار ما با رایانه ها و سرورها را به طور اساسی تغییر داده است.

مجازی سازی / Virtualization چیست؟

مجازی سازی تکنیک ایجاد چندین کامپیوتر “مجازی” از یک کامپیوتر فیزیکی (مانند لپ تاپ شما یا سرور مرکز داده) است. هر یک از این رایانه های مجازی می توانند سیستم عامل و برنامه های خود را به گونه ای اجرا کنند که گویی یک رایانه فیزیکی مستقل هستند. این امکان استفاده کارآمدتر از منابع و اجرای برنامه های مختلف را جدا از یکدیگر فراهم می کند.

چرا مجازی سازی مهم است؟

کارایی: به جای نیاز به یک سرور فیزیکی جداگانه برای هر برنامه، می توانید چندین ماشین مجازی را روی یک سرور واحد اجرا کنید. این باعث صرفه جویی در فضا، برق و پول می شود.

انعطاف پذیری: ماشین های مجازی را می توان به سرعت ایجاد، کپی، جابجا و حذف کرد. این امر آزمایش برنامه های جدید یا به روز رسانی سیستم های موجود را آسان تر می کند.

جداسازی: از آنجایی که هر ماشین مجازی در محیط خود اجرا می شود، برنامه ها از یکدیگر جدا می شوند. این بدان معنی است که مشکل در یک ماشین مجازی روی بقیه تأثیر نمی گذارد.

انواع مجازی سازی

مجازی سازی سرور / Server Virtualization: یک سرور فیزیکی را به چندین سرور مجازی مستقل تقسیم می کند.

مثال عملی: یک کسب و کار کوچک دارای چندین سرور برای ایمیل، میزبانی وب و پایگاه داده است. این شرکت به جای استفاده از یک سرور فیزیکی برای هر سرویس، از مجازی سازی سرور برای اجرای هر سه سرویس بر روی یک سرور فیزیکی استفاده می کند. هر سرویس در ماشین مجازی ( Virtual Machine) مخصوص به خود اجرا می شود که از سایرین جدا شده است و هزینه های سخت افزاری را کاهش می دهد و مدیریت را ساده می کند.
نرم افزار مجازی سازی  سرورها: VMware vSphere، Microsoft Hyper-V، Oracle VM VirtualBox

مجازی سازی دسکتاپ / Desktop Virtualization: به کاربران این امکان را می دهد تا به دسکتاپ و برنامه های کاربردی خود از دستگاه های مختلف دسترسی داشته باشند، انگار که مستقیماً در مقابل رایانه فیزیکی نشسته اند.

مثال عملی: یک دانشگاه می خواهد به دانشجویان خود دسترسی به نرم افزارهای تخصصی را ارائه دهد که فقط روی ویندوز اجرا می شود، در حالی که بسیاری از دانشجویان از مک بوک استفاده می کنند. مجازی سازی دسکتاپ به دانشگاه این امکان را می دهد که دسکتاپ های ویندوز مجازی را فراهم کند که دانشجویان بتوانند از مک بوک های خود به آنها دسترسی داشته باشند تا از نرم افزار مورد نیاز خود استفاده کنند، گویی مستقیماً روی رایانه شخصی ویندوز کار می کنند.

نرم افزار مجازی سازی دسکتاپ: Citrix Virtual Apps and Desktop, VMware Horizon

مجازی سازی شبکه / Network Virtualization: کل شبکه را شبیه سازی می کند تا سرویس های مختلف شبکه بتوانند روی یک شبکه فیزیکی اجرا شوند.

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

نرم افزار مجازی سازی شبکه: VMware NSX، Cisco ACI

مجازی سازی فضای ذخیره سازی / Storage Virtualization: ذخیره سازی فیزیکی را از چندین دستگاه ذخیره سازی شبکه در یک استخر ذخیره سازی که می تواند توسط چندین سرور به اشتراک گذاشته شود، ترکیب می کند.

مثال عملی: یک استودیوی عکاسی حجم عظیمی از فایل های تصویری را ذخیره می کند و به فضای ذخیره سازی انعطاف پذیر و قابل ارتقا نیاز دارد. مجازی سازی فضای ذخیره سازی به استودیو اجازه می دهد تا فضای ذخیره سازی فیزیکی را از دستگاه های مختلف (مانند دستگاه های NAS و سرورها) در یک استخر ذخیره سازی واحد ترکیب کند. این اجازه می دهد تا مدیریت ذخیره سازی و مقیاس بندی آسان تر بسته به تعداد تصاویری که باید ذخیره شوند.

نرم افزار مجازی سازی ذخیره سازی: IBM SAN Volume Controller، DataCore SANsymphony

مجازی سازی کانتینر/ Container-Virtualization: فناوری کانتینر در بحث مجازی سازی و زیرساخت های مدرن فناوری اطلاعات بسیار مهم است. کانتینرها جایگزین سبکی برای مجازی سازی سنتی هستند و در سال های اخیر محبوبیت زیادی پیدا کرده اند، به ویژه در توسعه و بهره برداری از برنامه های کاربردی نرم افزار. بیایید نگاهی دقیق تر به این بیندازیم.

Container / کانتینر چیست؟

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

مثال عملی: یک تیم توسعه نرم افزار روی برنامه ای کار می کند که باید در محیط های مختلف (توسعه، آزمایش، تولید) اجرا شود. استفاده از کانتینرها به تیم اجازه می دهد تا برنامه و وابستگی های خاص آن (کتابخانه ها، ابزارها و غیره) را در یک ظرف بسته بندی کند. این تضمین می کند که برنامه می تواند به طور مداوم و روان در هر محیطی اجرا شود زیرا ظرف حاوی تمام اجزای لازم است. این امر توسعه و استقرار را بسیار ساده می کند و مشکل “این روی ماشین من کار می کند” را کاهش می دهد.

نرم افزار مجازی سازی کانتینر:

Docker: احتمالاً شناخته شده ترین پلت فرم برای ساخت، راه اندازی و مدیریت کانتینرها. Docker توسعه، ارسال و اجرای برنامه ها را آسان تر می کند.

Kubernetes: یک ابزار هماهنگ‌سازی کانتینر که استقرار، مقیاس‌بندی و مدیریت برنامه‌های کاربردی کانتینری را خودکار می‌کند. در ابتدا توسط گوگل توسعه داده شد و اکنون یک پروژه منبع باز توسط بنیاد محاسبات بومی ابری است.

OpenShift: توزیع Kubernetes از Red Hat که ابزارها و خدمات اضافی را برای توسعه و استقرار سازمانی ارائه می دهد.

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

هایپروایزرها / Hypervisors

فناوری مجازی سازی به سنگ بنای محاسبات مدرن تبدیل شده است و انعطاف پذیری و کارایی بی نظیری را در مدیریت منابع سخت افزاری ارائه می دهد. با این حال، قهرمان گمنامی که این انقلاب را قادر می سازد، که اغلب تحت الشعاع مفهوم گسترده تر خود مجازی سازی قرار می گیرد، هایپروایزر است. این بخش حیاتی از فناوری زیربنای فرآیند مجازی سازی است، اما همیشه به آن توجهی که شایسته آن است، نمی رسد.

هایپروایزرها در دو نوع اصلی تولید می شوند: نوع 1 و نوع 2. هر کدام هدف منحصر به فردی را دنبال می کنند و مزایای مشخصی را ارائه می دهند. قبل از پرداختن به تفاوت های آنها، اجازه دهید ابتدا بفهمیم که هایپروایزر چیست و نقش محوری آنها در مجازی سازی چیست.

هایپروایزر چیست؟

هایپروایزر به عنوان میانجی بین سخت افزار فیزیکی کامپیوتر و محیط های مجازی که به عنوان ماشین های مجازی (VMs) شناخته می شوند، عمل می کند. با انتزاع سیستم عامل و برنامه های کاربردی از سخت افزار زیربنایی، هایپروایزرها یک ماشین فیزیکی را قادر می سازند تا چندین ماشین مجازی را اجرا کند. این قابلیت استفاده از منابع محاسباتی مانند حافظه و پهنای باند شبکه را بهینه می‌کند و به هر ماشین مجازی اجازه می‌دهد به طور مستقل عمل کند در حالی که میزبان فیزیکی یکسانی را به اشتراک می‌گذارد.

ماهیت مجازی سازی عمیقاً با فناوری Hypervisor در هم آمیخته است. هایپروایزرها که در اصل مانیتورهای ماشین مجازی (VMM) نامیده می شدند، یک لایه بین سخت افزار فیزیکی (ماشین میزبان) و محیط های مجازی (ماشین های مهمان) ایجاد می کنند. این لایه تمام تعاملات بین این دو را مدیریت می کند و از تخصیص و جداسازی کارآمد منابع اطمینان حاصل می کند.

انواع هایپروایزر

هایپروایزر نوع 1 (Bare Metal Hypervisor): این هایپروایزرها مستقیماً روی سخت افزار میزبان اجرا می شوند، بدون اینکه سیستم عاملی در بین آنها وجود داشته باشد. آنها عملکرد و کارایی بالایی دارند زیرا دسترسی مستقیم به منابع فیزیکی دارند. هایپروایزر نوع 1 برای محیط های سازمانی و سرورها ایده آل هستند.

مثال‌ها: VMware ESXi، Microsoft Hyper-V (در صورت نصب مستقیم روی سخت‌افزار), Citrix.

این هایپروایزرها نه تنها کارآمد و با کارایی بالا هستند بلکه ایمن نیز هستند. با حذف سیستم عامل اصلی، سطح حمله را کاهش می دهند، زیرا بسیاری از آسیب پذیری های موجود در سیستم عامل ها وجود ندارد. هر VM به طور موثر ایزوله شده است و از آنها در برابر تهدیدات بالقوه محافظت می کند.

هایپروایزرهای نوع 1 از فناوری های ( hardware acceleration) برای مدیریت موثر منابع مجازی ( virtual resources) استفاده می کنند.

Hypervisor نوع 2 (Hosted Hypervisor): این هایپروایزرها مانند هر برنامه دیگری در یک سیستم عامل سنتی اجرا می شوند. نصب و استفاده از آن‌ها آسان‌تر است، اما ممکن است عملکرد و کارایی مشابه هایپروایزرهای نوع 1 را نداشته باشند، زیرا نیاز به دسترسی به سخت‌افزار از طریق سیستم عامل میزبان دارند.

مثال‌ها: Oracle VM VirtualBox، VMware Workstation، Parallels Desktop.

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

کاربرد عملی هایپروایزرها

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

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

https://www.youtube.com/watch?v=UBVVq-xz5i0