همراهی در کانال تلگرام

سلام دوستان عزیز

ما را در کانال تلگرام همراهی کنید. 

کانال Cloud & Cloudsim : آموزش مباحث مربوط به رایانش ابری و شبیه ساز Cloudsim 

https://telegram.me/cloud_cloudsim

 

cloud computing - قسمت دوم

با سلام 

تو پست قبلی در مورد تکنولوژی های محاسباتی از گذشته ی نه چندان دور تا امروز بحث کردیم. الان میخوایم وارد مبحث cloud computing بشیم. خب رایانش ابری یا cloud computing یک سبک جدید محاسباتی هستش که منابع مقیاس پذیر به صورت پویا و مجازی سازی شده رو اغلب به صورت سرویس هایی روی وب در اختیار کاربران قرار میده. سه مزیت اصلی واسه کلود معرفی شده : 1- صرفه جویی در هزینه 2- دسترسی پذیری بالا(یعنی سیستم در اکثر موارد بالاست و روشن و خاموش شدن اون خیلی کم اتفاق میوفته) 3- مقیاس پذیری(یعنی وقتی تعداد کاربران زیاد میشه، ابر کارایی شو از دست نمیده). 

اما همگرایی تکنولوژی های مختلف باعث ظهور cloud computing شد. به تصویر زیر دقت کنین، این تصویر داره جنبه های مختلف cloud computing رو نشون میده:

 یکی از جنبه های cloud، بحث Grid هستش، یعنی یک سیستم خیلی بزرگ با کلی منابع. در پست گذشته راجب Grid صحبت کردیم. گفتیم که به علت وجود مسائلی از جمله ناهمگونی، این تکنولوژی چندان موفقیتی کسب نکرد و اینکه سه جنبه ی دیگه یعنی مجازی سازی، سرویس گرایی و خودمختاری بهش اضافه شد، تا زمینه برای ظهور cloud computing ایجاد بشه.

 همچنین بحث Utility computing که اشاره داره به فروش محاسبات، یعنی در ازای محاسبات، هزینه دریافت بشه. یا اگه بخوایم بهتر تعریف کنیم، میتونیم بگیم یه مدل کسب و کار که براساس اون یه شرکت پشتیبانی میاد تمامی یا بخشی از منابع محاسباتی(رایانه ای) خودش رو در اختیار افراد یا شرکتهای دیگه به عنوان مصرف کننده قرار میده و براساس میزان استفاده از این خدمات، مصرف کنندگان هزینه ای رو به شرکت پشتیبانی پرداخت میکنن.

جنبه ی دیگه ای از cloud computing بحث Hardware Virtualization هستش. قبلا گفتیم که Grid فقط براساس منابع فیزیکی سخت افزار کار میکرد. به این صورت که اگه شما یه سخت افزار داشته باشید، فقط میتونید روی این سخت افزار یه سیستم عامل داشته باشید و مسلما فقط برنامه هایی که روی این سیستم عامل میتونن اجرا بشن رو خواهید داشت. البته بحث مجازی سازی اختصاص به cloud نداره و خودش به صورت مجزا از قبل بوده. پس اگه بخواییم یه تعریف از مجازی سازی داشته باشیم، میتونیم بگیم که : مجازی سازی در سیستمهای کامپیوتری به معنی پیاده سازی یک طرح واقعی با شبیه سازی هستش و به طور کلی مجازی سازی امکان تخصیص منابع سخت افزاری را برای چندین سیستم عامل مختلف فرآهم می کنه. ما مجازی سازی رو در حوزه های مختلف داریم، مثل مجازیسازی شبکه، دسکتاپ، تجهیزات شبکه، سرور، دستگاههای ذخیره سازی و ... 

 بحث  Internet Technologies به سرویس گرایی اشاره داره، یعنی وقتی application ها روی وب قرار میگیرن، میشن سرویس. یعنی خدمات cloud به صورت سرویس در اختیار کاربران قرار میگیره. خب حالا SOA، web 2.0، web service و Mashups چیه؟ SOA مخفف عبارت service oriented architecture هستش، یعنی از یه نرم افزاری بدون دانستن جزیئات مربوط به پلت فرمش، زبانش، سخت افزاری که روش قرار داره، سیستم عاملی که داره روش اجرا میشه، استفاده کنیم. مثل زمانی که از سرویس ترجمه ی گوگل تو برنامه تون استفاده میکنین، نمیدونید این سرویس به چه زبانی نوشته شده، پلت فرمش چیه؟ روی چه سخت افزاری قرار داره و ... ولی دارید ازش استفاده میکنید.

خب web 2.0 هم نسخه ی ارتقاء یافته ی web 1.0 هستش، در نسخه ی اول، صفحات وب به صورت استاتیک در دسترس قرار داره، مثل صفحات فقط خواندنی، اما web 2.0 اومد و صفحات وب داینامیک رو معرفی کرد،به صورتی که کاربر بتونه با این صفحات ارتباط برقرار کنه، امکان نوشتن در این صفحات رو داشته باشه، مثل ویکی پدیا، فیسبوک و ....

web service هم مجموعه ای از متدها در زمان اجراست که متدهای اون از طریق شبکه، نه الزاما اینترنت در دسترس باشن. مثل وب سرویس گوگل.

و Mashups هم ترکیب وب سرویس ها باهم دیگه رو درنظر میگیره. 

یکی دیگه از جنبه های cloud computing، بحث خودمختاری یا Autonomic computing هستش، که از زندگی موجودات زنده الهام گرفته شده، چون سیستم عصبی اونا به طور مداوم از محیط اطرافشون اطلاعات میگیرن، این اطلاعات رو تجزیه و تحلیل میکنن و براساس آن تصمیم میگیرن. خب مشابه این رفتار در محاسبات هم وارد شده و  شرکت IBM اومده یک پلت فرم به نام MAPK رو معرفی کرده که یه سری سنسور هستن که از محیط اطلاعات رو دریافت میکنن، این اطلاعات رو تجزیه و تحلیل میکنن و براساس این یه طرحی داده میشه تا محاسبات طبق شرایط محیط سازگار بشن. به این مدل سیستم ها اصطلاحا self-* هم میگن، این * میتونه هر چیزی باشه، مثل self-configuration یا self-organization یا self-Health و ..... 

cloud computing - قسمت اول

با سلام 

در این پست و ان شاءالله پست های آینده قصد دارم مباحث مربوط به رایانش ابری رو مرور کنم. امیدوارم مفید واقع بشه. 

 خب قبل از اینکه بحث رو شروع کنیم، خوبه یه سری اسلاید و کتاب در زمینه ی رایانش ابری بهتون معرفی کنم، یکی از نویسندگان معروف در زمینه ی cloud computing آقای rajkumar buyya هستند، با کتاب "CLOUD COMPUTING Principles and Paradigms" که زیرساخت متن باز Manjrasoft هم از ابداعات ایشون هست. اگه کتاب "Mastering Cloud Computing" ویرایش 2013 رو هم از ایشون بتونید تهیه کنید خیلی خوبه (من نتونستم تهیه اش کنم ). کتاب فارسی هم اگه بخواین، کتاب "شبیه سازی محاسبات ابری" از سید رضا پاکیزه رو بهتون معرفی میکنم. 

خب بریم سراغ بحث رایانش ابری، به شکل زیر دقت کنید:

 

فازهای مربوط به تکنولوژی محاسباتی

 اون قدیم ندیما یه Mainframe بود که توان پردازشیش مثلا اندازه لب تاپ های امروزی (البته نه اون جدیدا) بود، چندتا Terminal هم بهش متصل میشد، این ترمینال ها منبع محاسباتی نداشتن، یعنی مثلا یه صفحه کلید و یه موس و یه مانیتور بودن. 

بعد از Mainframe ها کامپیوترهای شخصی اومد، آخه Mainframe ها هزینه ی بالایی واسه نگه داری داشتن، بنابراین فناوری به سمت PC ها گرایش پیدا کرد. 

بعد از مدتی دیدن میشه PC ها کنار همدیگه به شکل یه شبکه ی کامپیوتری دربیان، پس بحث Network computing مطرح شد. 

کم کم این شبکه های کامپیوتری بزرگ و بزرگ تر شدن تا Internet ظهور پیدا کرد. شبکه ها به شکل client/server در اومدن، یعنی یه سری server روی اینترنت داریم که خدمات ارائه میدن و کامپیوترهای دیگه که نقش client رو بازی میکنن، این خدمات را دریافت میکنن. 

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

به نوعی میشه گفت دیدگاه cloud با توسعه و پیشرفته کردن گرید به وجود اومد. یعنی یه سری جنبه به گرید اضافه شد تا cloud ظهور پیدا کرد. در کلود مثل گرید، ما تعدادی کامپیوتر داریم که بهم متصل شدن، (توزیع شدن)، اگه قراره به کلود متصل بشیم، نیازی نیس حتما از یه PC قویی استفاده کنیم، بلکه میتونیم با گوشی هوشمند یا تبلت بهش متصل بشیم، و از این کل به صورت یه سرویس استفاده کنیم. یعنی device ایی که من باهاش به کلود متصل شدم، خودش جزئی از کلود نمیشه بلکه داره از خدمات و سرویس هایی که ابر ارائه میده استفاده میکنه. پس عملا داریم به سمت فناوری اول یا مدل Mainframe برمیگردیم، (قبول دارین؟) حالا چرا اسم ابر رو براش گذاشتن؟ چرا توی شکل به صورت یه ابره؟ در شکل، ابر به صورت دیتاسنتر در اومده (یک کامپیوتر خیلی بزرگ با کلی منابع) و از دید بیرون، کاربران فقط دارن از اون به عنوان سرویس استفاده میکنن. معلوم نیس کدوم یکی از این کامپیوترها قراره پردازش رو انجام بده، واسه همین از دید ما به شکل یه ابره.