مجازیسازی بهعنوان یک الگوی استاندارد
مجازیسازی بهعنوان یک مفهوم سازمانی تقریباً به اندازه محاسبات تجاری قدمت دارد. ارزش انتزاع محاسبات از سختافزار فیزیکی خیلی زود شناخته شد و تقریباً به محض اینکه رایانهها قدرت مدیریت فرآیند انتزاع را داشتند، کار در پیادهسازی مجازیسازی مشابه آنچه امروزه میشناسیم آغاز شد.
اولین کارهای عمومی پذیرفتهشده روی مجازیسازی در سال ۱۹۶۴ با توسعهدهندگان سیستم عامل IBM CP-40 برای مینفریم IBM System/360 آغاز شد. این اولین ورود واقعی به مجازیسازی تجاری بود و کد و طراحی این پلتفرم مجازیسازی اولیه امروزه به پلتفرم IBM VM تبدیل شده که از سال ۱۹۷۲ بهطور مداوم بهعنوان لایه مجازیسازی برای خانوادههای مینفریم IBM استفاده شده است. از زمانی که IBM مجازیسازی را معرفی کرد، سیستمهای سازمانی تقریباً بهطور جهانی این الگوی انتزاع سختافزاری را پذیرفتهاند. بسیاری از سیستمهای محاسباتی در مقیاس بزرگ، مینیکامپیوترها و مینفریمها در دهه ۱۹۷۰ به مجازیسازی روی آوردند و اکثر سیستمهای سازمانی باقیمانده در دهههای ۱۹۸۰ و ۱۹۹۰ با در دسترس بودن قدرت و فناوری این کار را کردند.
تنها استثنا قابلتوجه برای مجازیسازی در محاسبات سازمانی، پلتفرم Intel IA32 (معروف به x86) بود که فاقد منابع سختافزاری پیشرفته لازم برای پیادهسازی مجازیسازی مؤثر تا ظهور پلتفرم ۶۴ بیتی AMD64 گسترشیافته بود و حتی آنگاه فقط با فناوری جدید خاصی. پس از معرفی این فناوری، همان مجازیسازی با عملکرد بالا و امنیت بالا در تمام پلتفرمهای اصلی برای محاسبات تجاری در دسترس بود.
از آنجایی که پلتفرمهای ارزانقیمت x86 فاقد مجازیسازی معنادار (بهجز مجازیسازی نرمافزاری با عملکرد کمتر و پلتفرمهای paravirtualization با عملکرد بالا در بازارهای خاص) تا اواسط دهه ۲۰۰۰ بودند، این موضوع مجازیسازی را تقریباً کاملاً از دسترس اکثریت کسبوکارهای کوچک و متوسط خارج کرد. این امر باعث شده بسیاری از کسانی که به فضای SMB اختصاص دارند از اینکه مجازیسازی یک مجموعه فناوری بالغ و تثبیتشده است که مدتهاست بهعنوان الگوی پیشفرض برای محاسبات سرور تجاری تثبیت شده، آگاه نباشند. استفاده از انتزاع سختافزاری در محاسبات سازمانی تقریباً فراگیر است و بسیاری از بزرگترین و پایدارترین پلتفرمها هیچ گزینهای، حداقل هیچ گزینه پشتیبانیشده رسمی، برای اجرای سیستمها بهصورت «bare metal» ندارند.
موارد خاصی وجود دارد که در آنها نیاز به اجتناب از انتزاع سختافزاری از طریق مجازیسازی توصیه نمیشود اما اینها بسیار نادر هستند، بهخصوص در بازار SMB. سیستمهای معمولی که نباید مجازی شوند شامل سیستمهای حساس به تأخیر (مانند پلتفرمهای معاملاتی با تأخیر کم) و بارهای کاری ترکیبی چند-سروری مانند کلاسترهای محاسبات با عملکرد بالا هستند که هدف اصلی آنها عملکرد بالاتر از پایداری و کاربردپذیری است. هیچکدام از اینها در SMB رایج نیستند.
مجازیسازی مزایای زیادی دارد. اغلب، در SMB که مجازیسازی کمتر مورد انتظار است، فرض میشود که هدف مجازیسازی تجمیع است که در آن صرفهجویی هزینه در مقیاس عظیم میتواند اتفاق بیفتد یا ارائه روشهای جدید برای تأمین دسترسیپذیری بالا. هر دوی اینها گزینههای عالی هستند که میتوانند به سازمانها و موقعیتهای خاص کمک کنند اما هیچکدام توجیه اساسی مجازیسازی نیستند. در صورت لزوم میتوانیم از طریق روشهای دیگر تجمیع کنیم و به HA برسیم. مجازیسازی بهسادگی گزینههای عالی در آن حوزههای خاص برای ما فراهم میکند.
بسیاری از کاربردهای مجازیسازی آثار اکوسیستم هستند مانند کاهش احتمالی هزینههای مجوز. این نوع مزایا مزایای ذاتی مجازیسازی نیستند اما وجود دارند و نمیتوان آنها را در یک ارزیابی واقعی نادیده گرفت. همه مزایا برای همه هایپروایزرها یا پلتفرمهای مجازیسازی اعمال نمیشود اما تقریباً همهشان بهطور کلی اعمال میشوند. انتزاع سختافزاری یک مفهوم است نه یک پیادهسازی، بنابراین نحوه بهرهبرداری از آن متفاوت خواهد بود. از لحاظ مفهومی، انتزاع سختافزاری چه در لایه ذخیرهسازی، چه در لایه محاسبات و غیره بسیار مهم است زیرا مدیریت را آسان میکند، قابلیت اطمینان را بهبود میبخشد و توسعه را تسریع میکند.
در اینجا برخی از مزایای مجازیسازی آورده شده است. مهم است توجه شود که بهجز موارد خاصی مانند تجمیع و دسترسیپذیری بالا، تقریباً همه این مزایا نه فقط برای مجازیسازی روی یک گره سختافزاری واحد بلکه برای یک بار کاری واحد روی آن گره نیز اعمال میشوند.
- کاهش تلاش انسانی و تأثیر مرتبط با تغییرات سختافزاری، خرابیها، تغییرات، توسعه و غیره
- 캡سولهسازی ذخیرهسازی برای فرآیند سادهشده پشتیبانگیری / بازیابی، حتی با اهداف سختافزاری متفاوت
- گرفتن اسنپشات از کل سیستم برای محافظت از مدیریت تغییر
- سهولت آرشیو در هنگام بازنشستگی یا از رده خارج کردن
- قابلیتهای نظارتی بهتر، افزودن مدیریت خارج از باند حتی در پلتفرمهای سختافزاری که این را بهطور بومی ارائه نمیدهند
- بیطرفی سختافزاری وابستگی به فروشنده را حذف میکند زیرا سیستمهای عامل باور دارند که هایپروایزر همان سختافزار است نه خود سختافزار
- تقسیمبندی آسان بار کاری
- تجمیع آسان در حین حفظ تقسیمبندی بار کاری
- بهبود چشمگیر استفاده از منابع
- انتزاع سختافزاری فرصت قابلتوجهی برای بهبود عملکرد و پایداری سیستم ایجاد میکند در حالی که خواستهها روی سیستم عامل و نویسندگان درایور برای سیستمهای عامل کلاینت را کاهش میدهد
- استقرار سادهشده بارهای کاری جدید و متنوع
- انتقال ساده از محیطهای میزبانی تکپلتفرمی به چند-پلتفرمی که سپس اضافه کردن گزینههایی مانند استقرارهای ابری یا سیستمهای پلتفرم دسترسیپذیری بالا را امکانپذیر میکند
- استقرار مجدد بارهای کاری برای امکان مقیاسبندی فیزیکی آسان
در محیطهای محاسباتی امروزی، بارهای کاری سمت سرور باید بهطور جهانی برای این دلایل مجازی شوند. مزایای مجازیسازی بسیار زیاد است در حالی که معایب آن اندک و جزئی هستند. دو سناریوی رایجی که مجازیسازی هنوز باید در آنها اجتناب شود در موقعیتهایی است که سختافزار تخصصی وجود دارد که باید مستقیماً روی سرور استفاده شود (این امروزه بسیار نادر شده اما هنوز گاهی وجود دارد) و سیستمهایی با تأخیر بسیار کم که تأخیرهای زیر میلیثانیه حیاتی هستند. دومی فقط در موقعیتهای تجاری بسیار خاص مانند سیستمهای معاملاتی سرمایهگذاری با تأخیر کم رایج است. سیستمهایی با این الزامات همچنین نیازمندیهای شبکهای و موقعیت جغرافیایی فوقالعادهای دارند مانند Infiniband با تأخیر کم با فیبر به طبقه معاملاتی با کمتر از پنج مایل فاصله.
برخی افراد اشاره میکنند که کلاسترهای محاسبات با عملکرد بالا از مجازیسازی استفاده نمیکنند، اما این یک منطقه خاکستری است زیرا هر نوع خوشهبندی در واقع نوعی مجازیسازی است. فقط این است که این یک سطح «ابرسیستمی» از مجازیسازی است نه اینکه بهطور مستقیم در سطح سیستم باشد.
با اطمینان میتوان فرض کرد که در هر سناریویی که ممکن است در آن قرار بگیرید و در آن نباید از مجازیسازی استفاده کنید، این را بیتردید خواهید دانست و میتوانید بهطور تجربی نشان دهید که چرا مجازیسازی از نظر فیزیکی یا عملی غیرممکن است. برای تمام موارد دیگر، مجازی کنید. اگر فقط یک سرور فیزیکی و یک بار کاری فیزیکی و فقط یک کاربر دارید، مجازی کنید. اگر شرکت Fortune 100 با سختترین بارهای کاری هستید، مجازی کنید. و اگر هر کسی بین این دو هستید، مجازی کنید. اندازه عاملی در مجازیسازی نیست؛ ما مجازی میکنیم زیرا میخواهیم محیط محاسباتی مؤثرتر و پایدارتری داشته باشیم هم امروز و هم در آینده.
