1-2 سیر تکاملی سیستم های محاسباتی
اما هنوز منابع بسیار زیاد دیگری در سازمان ها و مراکز داده اینترنتی وجود داشت که تمام ظرفیت آنها بطور کامل بکار گرفته نشده بود. این منابع نمی توانستند در شبکه محاسباتی گرید بصورت اختصاصی بکار گرفته شوند , زیرا برای آنها وظیفه دیگری تعریف شده بود . در عین حال امکان استفاده از آنها در شبکه داوطلبانه هم وجود نداشت, چون فلسفه وجودی آنها , کاربردهای تجاری بود. به این ترتیب رویکرد جدیدی شکل گرفت که بتوان با استفاده از فناوری های مجازی سازی این منابع را بصورت قابل انعطاف و پویا برای کاربردهای مختلف مورد استفاده قرار داد و از تمام ظرفیت آن ها بطور موثر استفاده کرد. این فناوری محاسبات ابر در لایه زیرساخت نام داشت که امکان استفاد از منابع محاسبات و ذخیره سازی را بصورت یک سرویس بر حسب نوع نیاز فراهم می آورد. در حقیقت با ایجاد یک لایه انتزاعی11 بر روی کلیه منابع فیزیکی خود(به کمک مجازی سازی) امکان مدیریت پویای منابع فیزیکی حاصل می شود[9].(شکل 1-3).
شکل 1-3 نمایی از انواع مراکز داده الف) بدون مجازی سازی یا مرکز داده معمولی ب) با مجازی سازی یا مرکز داده پویا
بنابراین محاسبات ابری از دید زیرساخت , به گونه ای سیستم های توزیع شده و موازی اطلاق می گردد که مجموعه ای از رایانه های مجازی را که به یکدیگر متصل هستند شامل می شود. این رایانه ها بطور پویا عرضه شده و به عنوان یک یا چند منبع محاسباتی یکپارچه براساس توافقات سطح سرویس ارائه می شوند . این توافقات در طول انجام مذاکرات سرویس دهندگان و مصرف کنندگان برقرار می گردند. محاسبات ابری سعی دارد نسل جدیدی از مراکز داده ای را , با ارائه کردن سرویس ها و خدمات در ماشین های مجازی شبکه شده به صورت پویا , به گونه ای ممکن سازد که ارائه دهندگان خدمات کاربردی بتوانند سرویس ها و برنامه های کاربردی را با انعطاف پذیری و سهولت بیشتری ارائه کنند و کاربران نیز بتوانند از هر جایی از دنیا به برنامه های کاربردی دسترسی داشته باشند.
در تکنولوژی محاسبات ابر, کاربران می توانند از طریق ابزارهای مختلف (نظیر رایانه های شخصی , رایانه های همراه , تلفن همراه و PDA) به برنامه ها , فضاهای ذخیره سازی , پردازش و حتی سکوهای توسعه برنامه های کاربردی در اینترنت , از طریق سرویس های ارائه شده توسط محاسبات ابر , دسترسی داشته باشند . به این ترتیب منابع به جای قرارگیری در سمت کاربر, در سمت سرورها قرار می گیرد. خدمات فراهم شده از طریق محاسبات ابر از نوع محاسبات همگانی 12است و به این معناست که خدمات مورد استفاده مشتریان در سرورها عرضه می شود و پرداخت در آن ها همانند سایر خدمات عمومی (برق , آب , تلفن و ..) براساس سطح استفاده افراد انجام می شود.
یک مثال معمولی و ساده برای محاسبات ابر مربوط به محاسبه و پرداخت هزینه های آب , برق و تلفن است.شرکتی برای محاسبه و صدور صورت حساب و دریافت آن از مشتریان , ممکن است از نرم افزارهای خاصی استفاده کند. مثلا نرم افزاری را تهیه و روی سیستم خود نصب کند و همراه آن , سخت افزارهای لازم را نیز تهیه کرده و هزینه های نگهداری و ارتقا را بپردازد. اما روش دیگر می تواند به این صورت باشد که یک شرکت دیگر این نرم افزارها را روی سرور خود قرار دهد و نسبت به نگهداری و توسعه آن اقدام کرده و همواره سعی در بهره برداری از فناوری روز دنیا برای نگهداری و توسعه نرم افزارهایش داشته باشد.در این شرایط تمام سازمان هایی که نیاز به صدور صورت حساب و دریافت مبلغ از مشتریان دارند , از طریق ارتباط با این نرم افزار و استفاده از منابع موجود روی سرورهای ارائه شده , عملیات خود را انجام می دهند.واضح است که سازمان های استفاده کننده از این امکانات, هیچ مسئولیتی در قبال نگهداری سخت افزار و نرم افزار و منابع مربوط به این سیستم را نخواهند داشت و تنها از سرویس دهنده (سرور) خود انتظار دارند که بهترین خدمات را بصورتی کاملا مطمئن ارائه کند و در قبال استفاده از این خدمات مبلغی را به او پرداخت می کنند. این یک نمونه کاملا کاربردی از تکنولوژی محاسبات ابری است. حضور گسترده و روزافزون شرکت های بزرگی نظیر Microsoft ,Google,Amazon, sun و … در عرصه رقابتی محاسبات ابر , نشان از توسعه سریع و تسلط این گونه از محاسبات در دنیای فناوری اطلاعات دارد [8].
1-2-1 بررسی انواع مختلف توده های ابر, کاربردها, مزایا و معایب
اگر چه هنوز تعریف استانداردی از محاسبات ابری وجود ندارد , اما می توان گفت که ابرها, منابع و خدمات را برحسب تقاضا در یک شبکه (خصوصا اینترنت) فراهم می آورند .
برای شناخت بهتر ابرها و محاسبات ابری , ما باید ابتدا دونوع مختلف از ابرها را بشناسیم [10].
– توده های ابری که نمونه های محاسباتی را فراهم می کنند و به گونه ای طراحی شده اند که با افزایش تعداد نمونه های محاسباتی , قابلیت مقیاس پذیری دارند.
– توده های ابری که ظرفیت محاسباتی را فراهم می آورند و با ایجاد مقیاس پذیری در ظرفیت, برای پشتیبانی از برنامه های کاربردی استفاده می شوند.
خدمات EC2 آمازون نمونه هایی از گروه اول می باشد . یک نمونه محاسباتی EC2 هزینه ای در حدود 0.1 دلار در ساعت دارد و توان محاسباتی در حدود 1 to 1.2GHz پردازشگر Opteron یا Xeon با 1.7Gbytes حافظه و 160Gbytes دیسک سخت و امکان مدیریت عملکرد I/O را فراهم می آورد. از نمونه های کدمتن باز هم می توان به Eucalyptus اشاره کرد که نمونه های محاسباتی برحسب تقاضا را فراهم می کند و واسط API مشابه توده ابری EC2 آمازون دارد.
از نمونه سیتم های گروه دوم می توان به Googles MapReduce اشاره کرد. سیستم MapReduce که شمایی از عملکرد آن در شکل 1-4 زیر نشان داده شده است , یک چارچوب نرم افزاری برای پشتیبانی از محاسبات توزیع شده بر روی مجموعه های عظیم داده موجود در کلاسترهای رایانه ای می باشد. سیستم Hadoop از محصولات کدمتن بازی است که MapReduce را پیاده سازی کرده است.
شکل 1-4 نمایی از چگونگی عملکرد MapReduce
از توده های ابری که نمونه های محاسباتی را برحسب تقاضا فراهم می کنند می توان برای عرضه خدماتی نظیر SaaS یا PaaS استفاده کرد, که از نمونه اول خدمات salesforce.com و از نمونه دوم خدمات Amazon, s EC2 قابل ذکر است.
جهت گیری هایی که امروزه بر روی محاسبات ابری انجام می شود بخاطر سه ویژگی اصلی و متمایز آن است [11].
1- مقیاس: که امکان توسعه زیرساخت را در سطح چندین مرکز داده فراهم می کند.
2- سادگی: برخلاف روش های توزیع شده قبلی که نوشتن کد برای بازدهی بالا پیچیدگی زیادی بهمراه داشت , در محاسبات ابری از یکسری API استفاده می شود که این کار را نسبتا ساده تر کرده است.
3- قیمت گذاری: در ابر از مدل Pay as you go استفاده می شود. یعنی همانطور که قبلا نیز اشاره شد , فقط برای سرویس های مورد نیاز پرداخت انجام می شود. مثلا می توانیم 1000 نمونه محاسباتی را برای مدت یک ساعت خریداری کنیم و هزینه استفاده از این 1000 نمونه را فقط به ازای همان یک ساعت پرداخت کنیم.
جدول 1-1 نمونه ای خدمات برحسب تقاضای ارائه شده از طریق محاسبات ابری
1-2-2 برخی مزایا و معایب محاسبات ابری
آنچه که از محاسبات ابری به عنوان مزایا و معایب یاد می شود , تقریبا در همه مقالات یکسان است. مواردی نظیر کاهش هزینه های اولیه , موانع کمتر برای ورود به بازار و یا استفاده از خدمات ,مقیاس پذیری برحسب تقاضا, فراهم کردن خدمات در مقیاس مراکز داده , تضمین بهتر تداوم کسب وکار, امنیت نسبی بیشتر و مدیریت بهتر حجم بالای داده به عنوان مزایای اصلی آن یاد می شود.برخی از معایب آن نیز شامل مشکلات دسترسی راه دور, مشکلات ناشی از محدودیت پهنای باند , تاخیر , برخی مسائل امنیتی و فنی بخاطر اشتراک منابع یکسان بین مشتریان مختلف , دسترسی فراهم آورندگان خدمات ابری به داده ها و مسائلی از این قبیل را شامل می شود [10].
1-2-3 معماری سیستم های محاسبات ابری
سوال این است که چه چیزی محاسبات ابری را از مدل های قبلی متمایز می کند؟در یک تعریف ساده می توان گفت که محاسبات ابری قصد دارد که فن آوری اطلاعات را بعنوان یک سرویس در شبکه ارائه دهد. ما آنرا بصورت سرویسی تعریف می کنیم که با استفاده از API ها از طریق شبکه در دسترس قرار گرفته است. این تعریف مشتمل بر استفاده از هردونوع منابع محاسباتی و منابع ذخیره سازی به صورت سرویس می باشد.محاسبات ابری براساس اصل کارایی بالاتر از همه سیستم های محاسباتی قرار دارد بطوری که می تواند ابزارهای سطح بالا برای انجام حدود 80 درصد موارد مختلف را فراهم کند. این در حالتی است که برنامه های کاربردی می توانند به سرعت خیره کننده ای در ابر ایجاد شده و بکار گرفته شوند.
محاسبات ابری می تواند باعث افزایش سرعت تولید و استقرار برنامه های کاربردی و نیز ارائه کارهای خلاقانه با هزینه کم بشود. شرکت های مختلف دیدگاه های گسترده ای به محاسبات ابری دارند و از جنبه های مختلف آن پشتیبانی می کنند که از آن جمله می توان به سرورها, تجهیزات ذخیره سازی, شبکه و فناوری مجازی سازی اشاره کرد. می توان یک سرور یا هزاران سرور را کرایه کرد و یک برنامه مدل سازی ژئوفیزیک راروی قویترین سیستم هایی که موجود هستند اجرا نمود.یا اینکه می توان یک سرور مجازی کرایه کرد , نرم افزار را روی آن قرار داد, هر موقع که بخواهید آن را روشن و خاموش کنید یا اینکه آن را دهها بار تکثیر کنید تا تقاضای شمارا برآورده کند. این امکان وجود دارد که حجم عظیمی از داده را روی آن ذخیره کرد و امن نگه داشت بطوری که تنها توسط افراد و برنامه های کاربردی مجاز قابل دسترس باشند. سرویس دهنده ابری می تواند پلت فرمی را فراهم کند که شامل سیستم عامل , سرور وب(نظیر Apache) و پایگاه داده(مانند MySQL) و قابلیت های دیگر (Perl, Python و PHP و …) باشد و امکان مقیاس پذیری آن بطور خودکار متناسب با حجم درخواست ها وجود داشته باشد.محاسبات ابری می تواند از برنامه های کاربردی موجود در اینترنت برای ذخیره سازی و محافظت از داده در زمان ارائه سرویس ها پشتیبانی کند. هرچیزی نظیر ایمیل , برنامه های تجاری و … می تواند در آن وجود داشته باشد. همچنین از آن می توان به عنوان یک ابر ذخیره سازی برای نگهداری داده های شخصی , تجاری و برنامه های کاربردی استفاده نمود.
محاسبات ابری می تواند با استفاده از سرورهای مرکز داده یک سازمان یا از طریق سرویس دهنده های ابری فراهم شود و تصوری که می شود این است که منابع نامحدود هستند . در حالی که این مدل در مراحل اولیه خود است , اما به سرعت بسیار زیادی در حال توسعه در دنیای فناوری اطلاعات می باشد. مدل غالب محاسبات ابری , سرویس های زیرساخت است.
1-2-4 ماهیت محاسبات ابری
محاسبات ابری در یک جمله , زمان طراحی معماری یک برنامه را تا نصب و استقرار آن کوتاه می کند. محاسبات ابری ترکیبی از مجازی سازی , استقرار برحسب تقاضا , ارائه اینترنتی سرویس ها, و نرم افزارهای کدمتن باز را بکار گرفته است. از یک جهت , محاسبات ابری چیز جدیدی نیست, زیرا رویکردها و مفاهیمی که قبلا وجود داشته است را بکار گرفته است. از جهت دیگر , همه چیز جدید است, زیرا محاسبات ابری شیوه ساخت, توسعه , نصب , مقیاس پذیری, به روز رسانی , نگهداری و پرداخت برای برنامه های کاربری و زیرساختی که روی آن اجرا می شوند را تغییر داده است [12].
1-3 مجازی سازی
تعاریف زیادی از مجازی سازی وجود دارد.در یک تعریف کلی , مجازی سازی به معنای ایجاد یک سطح انتزاعی از منابع محاسباتی است که در سطو

مطلب مشابه :  پایان نامه با کلید واژه هایمکان کنترل
دسته بندی : No category

دیدگاهتان را بنویسید