View
9
Download
0
Category
Preview:
Citation preview
2فصل ای بر محاسبات ابریمقدمه
پ%%ذیری را جهتس%%ازی مقیاسهای پردازش%%ی و ذخیرهکند که سرویساین فصل مفاهیم اصلی محاسبات ابری را معرفی می های محاسبات اب%%ری را تعری%%ف ک%رده و م%%دل1-2کنند. بخش استفاده برای استخراج دانش از مخازن بزرگ داده فراهم می
ده%%د. همچ%%نین این بخشاند را م%%ورد بحث ق%%رار میکنندگان ابری اتخاذ ش%%دهاصلی سرویس و استقراری که توسط فراهم هایی برای تحلی%%لهای کاربردی و چارچوبسازی برنامهتوانند برای پیادهدهد که میتعدادی از بسترهای ابری را توضیح می
های محاس%%بات اب%%ری در در مورد چگونگی به کارگیری تکنولوژی2-2های توزیع شده مورد استفاده قرار گیرند. بخش داده کند که باید بهکند. این بخش ابتدا نیازهای اساسی را تعریف میهای توزیع شده بحث میهای تحلیل دادهسازی سیستمپیاده
توان%%دهای توزیع شده پاسخ داده شوند، و سپس به بررسی اینکه چگونه یک بستر اب%%ری میی یک سیستم تحلیل دادهوسیلهپردازد. برای پاسخ به چنین نیازهایی مورد استفاده قرار گیرد می
هاها و معماری محاسبات ابری: تعریف، مدل2-1 ه%ا درهمانطور که در فصل قبل مورد بحث قرار گرفت، یک راه حل موثر برای استخراج دانش مفید از مخ%%ازن ب%زرگ داده
ه%ای تحلی%ل داده ک%هکاوی موازی و توزیع شده است. همچنین کار با محیطهای دادهمدت زمان معقولی به کارگیری روش دهند نیز ضروری و مفید است. به عن%%وان مث%%ال،کاوی موثر و کارآمد چنین مخازنی را میی دسترسی، مدیریت و دادهاجازه
ها، و مقایسهکاوی، اعتبار سنجی مدلی دادههای پیچیدهتواند از یک محیط تحلیل داده برای اجرای الگوریتمیک دانشمند میگذاری نتایج با همکارانش در سراسر جهان استفاده کند. و به اشتراک
ه%%ای بازی%%ابی اطالع%%ات ازدر چند سال اخیر، ابرها به عنوان بسترهای محاسباتی موثری برای روبرو شدن ب%%ا چالش اند. ازها ظهور کردهی مناسب و کارا برای محققان و شرکتهای تحلیل دادهمخازن بزرگ داده، همچنین فراهم آوردن محیط
پذیر و دوردست اس%%ت. ازنهایت مقیاسسازی و محاسباتی بیدیدگاه یک کاربر، ابر در واقع مفهومی انتزاعی از منایع ذخیره اند که در جاییی بزرگی از منابع کامپیوتری شکل گرفتهی مجموعههای ابری بر پایهسازی این دیدگاه، سیستمنقطه نظر پیاده
(. 2011 و همکارانش، سال Bargaشوند )های کاربردی اختصاص داده میاند و براساس تقاضا به برنامهاز ابر قرار گرفته تواند به عنوان یک الگوی توزیع شده تعریف ش%%ود ک%%ه در آن تم%%ام من%%ابع ب%%ه ص%%ورتبنابراین محاسبات ابری می
س%ازی روش%یش%وند. مجازیاند و به عنوان سرویس بر روی اینترنت عرض%ه میسازی شدهپذیر پویا و اغلب مجازیمقیاس دهد من%%ابع مج%%ازی مختلفی رویکند و اجازه میسازی میافزاری است که تفکیک زیرساخت محاسباتی فیزیکی را پیادهنرم
سازد تا بر روی یک سرورای است که محاسبات ابری را قادر میسازی یک روش پایهافزار ایجاد شود. مجازیهمان سخت های ک%%اربردی متع%%ددی را اج%%را کنن%%د. ب%%رخالف دیگ%%ر الگوه%%ایهای عملیاتی متفاوت و برنامهبه صورت همزمان محیط
1
محاسباتی توزیع شده، کاربران در محاسبات ابری نیازی به داشتن دانش و تخصص یا کنترل زیرساختی ک%%ه در اب%%ر از آنه%%اکنند:ها و زیرساخت ابر را تعریف میها، دادههایی که کاربردها، سرویسکند، ندارند. تعدادی از ویژگیپشتیبانی می
شوند.ها در زیرساختی که در دوردست قرار دارد میزبانی میها و/یا داده: سرویسمیزبانی از راه دورها از هر جایی در دسترس هستند.ها یا داده: سرویسجا حاضرهمهگیری است که مشابه ابزارهای سنتی مانند گاز و برق،: محاسبات ابری، ابزاری قابل اندازهپرداخت به ازای استفاده
شود.ی مقدار مصرفی پرداخت میتنها هزینه ( از محاس%%بات اب%%ری ب%%رایNIST1ی ملی استانداردها و تکنول%%وژی )توانیم از تعریف عمومی موسسههمچنین ما می محاسبات ابری م%%دلی اس%%ت ب%%رای"(:%% 2011، در سال Grance و Mellهای اصلی آن استفاده کنیم )برجسته نمودن ویژگی
دسترسی راحت و در زمان تقاضا از طریق شبکه به استخری از منابع قابل پیکربندی و به اشتراک گذاش%%ته ش%%ده )ب%%ه های کاربردی و خدمات( که به س%%رعت و ب%%ا کم%%ترین تالش م%%دیریتی ی%%اها، سرورها، مخازن، برنامهعنوان مثال شبکه
ت%%وانیم پنج، میNIST بر اساس تعریف ارائه شده توس%%ط ".توانند تهیه و توزیع شوندکننده میدخالت فراهم ای، اس%%تخریی شبکههای محاسبات ابری را به صورت در زمان تقاضا، خود-سرویس، دسترسی گستردهویژگی اساسی سیستم
گیری تعریف کنیم.اندازهپذیری سریع و سرویس قابلاز منابع، انعطاف و4، بستر به عنوان س%%رویس3افزار به عنوان سرویس )نرم2های سرویستوانند بر اساس مدلهای ابری میسیستم
بندی شوند. ( طبقه9 و ابر آمیخته8، ابر خصوصی7 )ابر عمومی6های استقرار ( و مدل5زیرساخت به عنوان سرویس
محاسبات ابریهای سرویس در مدل 2-1-1 (،SaaSافزار به عنوان س%%رویس )کنند: نرمهای خود را بر طبق سه مدل اصلی فراهم میسرویسفروشندگان محاسبات ابری
(. IaaS( و زیرساخت به عنوان سرویس )PaaSبستر به عنوان سرویس ) های آم%%ادهها به عنوان سرویسافزار و دادهکند که در آن نرم، یک مدل تحویل تعریف میافزار به عنوان سرویسنرم
کنن%%دگان میزب%%انیی فراهمهای مرتبط بوس%%یلهافزار و دادهگیرند. نرمبرای استفاده از طریق اینترنت در اختیار مشتری قرار می توانند ب%%ه آنه%%ا دسترس%%ی داش%%ته باش%%ند. عالوه ب%%ر این،افزار اضافی میافزار یا نرمها بدون نیاز به سختشوند و مشتریمی
ای رای ماهیان%%ه/س%%االنهاف%%زاری اض%%افی، ه%%زینهها در حالت عادی بدون نیاز به خرید زیرساخت یا حق مالکیت نرممشتری
1 National Institute of Standards and Technology (NIST)2 Service Models3 Software as a Service4 Platform as a Service5 Infrastructure as a Service6 Deployment Models7 Public Cloud8 Private Cloud9 Hybrid Cloud
2
Microsoft )2(، م%دیریت س%ند1ه%ا )تق%ویم ی%اهو(، تقویمGmail )مانن%د Webmailهای کنند. از سیس%تمپرداخت می
Office 365( دستکاری در عکس ،)Photoshop Express( مدیریت ارتباط مشتری ،)Salesforceهای( و غیره نمونه هستند.SaaSهای رایجی از کاربرد ه%%ا،داده، فروش%%ندگان اب%%ر ی%%ک بس%%تر محاس%%باتی را ک%%ه معم%%وال ش%%امل پایگاهبستر ب%%ه عن%%وان س%%رویسدر مدل
های کاربردی به مش%%تریانهای کاربردی و محیط توسعه است را برای ایجاد، آزمایش و اجرای برنامهدهندگان برنامهسرویس کنن%%دگان اب%%رهای کاربردی تمرکز کنند چ%%را ک%%ه فراهمتوانند تنها بر روی استقرار برنامهدهندگان میکنند. توسعهعرضه می
ه%%ای ک%%اربردی ازی برنامهسازی محیط و زیرساخت هستند. از این رو، مشتریان در راستای توس%%عهمسئول نگهداری و بهینه توانند براحتی با یکدیگر یکپارچه شوند. به طورکنند که ماجوالر هستند و میهای محیطی استفاده میای از سرویسمجموعه
Googleش%%وند. ی اس%%تفاده توس%%عه داده می و آم%%ادهSaaSهای ک%%اربردی ب%%ه عن%%وان معمول، برنامه App Engine، Microsoft Azure و Salesforce.comهای ابری هایی از محیط نمونهPaas.هستند
ها یا، دیسکCPU است که در آن مشتریان منابعی مانند 3سپاری یک مدل برونزیرساخت به عنوان سرویسدر نهایت، کنن%%د )ب%%ههای عامل را برای پشتیبانی از عملیاتشان اج%%اره میتر مانند سرورهای مجازی شده یا سیستممنابع پیچیده های سیستمی و مدیریت شبکه دارای مهارتIaaS(. معموال کاربران مدل RackSpaceCloud و Amazon EC2عنوان مثال
باشند، چنانکه آنها باید با پیکربندی، عملیات و نگهداری وظایف سروکار داش%%ته باش%%ند. در مقایس%%ه ب%%ا رویک%%ردمیPaaS مدل ،IaaSهای مدیریت سیستمی باالیی را برای کاربران دارد؛ از سوی دیگر هزینهIaaSسازی محیط قابلیت سفارشی
های مج%%ازی در مقی%%استوانند با اف%%زودن ی%%ا کاس%%تن ماش%%یندهندگان میسازد. توسعهاجرایی را به طور کامل امکان میهای خود تغییر ایجاد کنند.سرویس
پذیری، قابلیت حمل، امنیت، نگهداری و هزین%%ه ب%%اپذیری، مقیاس، سه مدل سرویس از لحاظ انعطاف1-2در جدول یکدیگر مقایسه شده است.
کنند. دهندگان و کاربران نهایی را برآورده می نیازهای توسعهIaaS و SaaS، PaaS: چگونه 1-2جدول SaaSPaaSIaaSنیازها
توانند واسطکاربران میپذیریانعطاف های کاربردی رابرنامه
سازی کرده و رفتارشخصی آن را کنترل کنند ولی
توانند تصمیم بگیرندنمی افزاریکه چه اجزای سخت
دهندگان با استفادهتوسعه ها و ابزاراز کتابخانه
پشتیبانی سازگار با بستر، های کاربردی خود رابرنامه
سازینوشته، سفارشی کنند.نموده و آزمایش می
دهندگان مجبورندتوسعه سرورهایی را که قرار است
های کاربردی آنها رابرنامه میزبانی کنند، ایجاد نموده
عامل وو پیکربندی سیستم افزاری کههای نرمماژول
قرار است بر روی این
1 Yahoo Calendar2 Document management3 Outsourcing
3
افزاری برای پشتیبانیو نرم ها مورداز اجرای این برنامهاستفاده قرار گیرند.
توانند نوع منابعکاربران می سازیمحاسباتی و ذخیره
مجازی را انتخاب کنند که هایبرای اجرای برنامه
کاربردی آنها مورد استفادهگیرند.قرار می
سرورها اجرا شوند را خودبرعهده بگیرند.
منابع محاسباتی وپذیریمقیاس سازی زیربنا، معموالذخیره
به طور اتوماتیک برای یمطابقت با برنامه
کاربردی مورد تقاضا یابند، بنابراینمقیاس می
کاربران مجبور نیستند منابع را دستی اختصاص دهند.
ینتیجه تنها به درجه ارتجاعی که سیستم ابر
کند بستگی دارد.فراهم می
، منابعSaaSمشابه مدل سازیمحاسباتی و ذخیره
زیربنا معموال به طورپذیرند.اتوماتیک مقیاس می
تواننددهندگان میتوسعه منابع محاسباتی و
سازی جدیدی راذخیره هایاستفاده کنند ولی برنامه
کاربردی آنها باید یپذیر باشد و اجازهمقیاس ی پویا از منابعاستفاده
جدید را بدهد.
هایدر اینجا انتقال برنامهقابلیت حمل کاربردی به دیگر
تواندکنندگان ابر میفراهم مشکالتی را ایجاد کند به
این دلیل که تعدادی از افزارها و ابزارها بر روینرم
های مختلفسیستم توانند کار کنند. بهنمی
هایعنوان مثال، داده ی کاربردی ممکنبرنامه
است در فرمتی باشد که ی دیگر نتواندکنندهفراهم
آنرا بخواند.
های کاربردی تنها دربرنامه توانند بهصورتی می
ی دیگری انتقالکنندهفراهم یکنندهیابند که فراهم
ها وجدید، سرویس ابزارهای بستر موردنیاز را
ی قبلی بهکنندهبا فراهماشتراک بگذارد.
در صورتی که یک ی دانلودکننده اجازهفراهم
یک ماشین مجازی را در دهد، درفرمت استاندارد می
این صورت ممکن است که بتوان در این مدل به یک
ی دیگر انتقالکنندهفراهمیافت.
توانند تنهاکاربران میامنیت تعدادی از تنظیمات امنیتی
های کاربردی خود رابرنامه
مسئولیت امنیت کدها و هایی که برایکتابخانه
های کاربردیایجاد برنامه
دهندگان باید خودتوسعه مراقب مسائل امنیتی در
ها، ازی قسمتهمه
4
کنترل کنند )به عنوان مثال، به جایhttpsاستفاده از
httpدر دسترسی به برخی هایصفحات وب(. الیه
امنیتی اضافی )به عنوان ها( ازمثال، تکرار داده
کاربران مخفی است و ی سیستممستقیما بوسیله
شوند.مدیریت می
یاند بر عهدهاستفاده شدهباشد.دهنده میخود توسعه
عامل گرفته تاسیستم هایهای برنامهالیه
کاربردی باشند.
کاربران مجبور نیستندنگهداری وظایف نگهداری را بر
عهده بگیرند. دهندگان فقط مسئولتوسعه
هاینگهداری از برنامه کاربردی خود هستند؛ دیگر
افزاری واجزای نرم یافزاری بوسیلهسخت کننده نگهداریفراهم
شوند.می
دهندگان مسئولتوسعه نگهداری از تمام اجزای
افزاری هستند که شاملنرم شود؛عامل نیز میسیستم
یسخت افزار بوسیله کننده نگهداریفراهم
شود.می یکاربران معموال هزینههزینه
ای را در قبالماهیانه/سالیانه افزارهااستفاده از نرم کنند و هیچپرداخت می
ی اضافی را برایهزینهپردازند.زیرساخت نمی
دهندگان برای منابعتوسعه سازی،محاسباتی و ذخیره
ها وهمچنین مجوز کتابخانه هایابزاری که توسط برنامه
کاربردی آنها مورد استفاده گیرند، هزینهقرار می
کنند.پرداخت می
یدهندگان برای همهتوسعه افزاری ومنابعی نرم
افزاری که استفادهسخت کنند هزینه پرداختمیکنند.می
های استقرار در محاسبات ابریمدل 2-1-2شوند. ارائه می1های محاسبات ابری مطابق سه مدل استقرار اصلی: عمومی، خصوصی و آمیختهسرویس
کند. کاربران ی%%ک اب%%رهای خود را به عموم مردم از طریق اینترنت عرضه می، سرویسابر عمومیی کنندهیک فراهم توانند ب%%هها میعمومی، کنترل کمی بر روی تکنولوژی زیرساخت دارند و یا فاقد چنین کنترلی هستند. در این مدل، سرویس
،Googleکنندگان عم%ومی اص%لی از قبی%ل صورت رایگان و یا بر طبق سیاست پرداخت به ازای مصرف ارائه شوند. فراهم
1 Hybrid
5
Microsoft و Amazonهای خ%%ود را ب%%ر روی اینی س%%رویس اختصاصی بوده و مدیریت و عرضه1ی دارای مراکز داده دهند. مراکز انجام می
یکنن%%د ک%%ه ب%%ر روی ش%%بکههایی را به عنوان سرویس عرضه می، عملیات و قابلیتابر خصوصیی کنندهیک فراهم ایهای امنیتی پیشرفته و کن%%ترل دادهحلشوند. به دلیل راهی دور دست میزبانی میاینترانت یک شرکت یا در یک مرکز داده
کوچک و متوس%طITهای ها در مدل ابر عمومی وجود ندارد اغلب شرکتحلدهد و این راهکه مدل ابر خصوصی ارائه میدهند.مدل ابر خصوصی را ترجیح می
در واقع ترکیبی از دو یا چندین ابر )عمومی یا خصوصی( است که اج%%زاء مختل%%ف ب%%اقیابر آمیختهدر نهایت، یک توانند ابره%%ای اختصاص%ی خ%ود را ب%%ا اس%%تفاده از ابره%ای خصوص%یها میاند. شرکتمانند ولی به یکدیگر وصل شدهمی
های همکار یا ابرهای عمومی گسترش دهند. به ویژه اینکه، با گسترش زیرساخت خصوصی ب%%ا من%%ابع اب%%ر عم%%ومی،شرکت های ب%%ا ح%%داکثرس%%ازی اس%%تراتژیدهی بهتر به درخواست ک%%اربران و پیادهها، سرویسسرویس دادن به بیشترین درخواست
سازد. قابلیت دسترسی را ممکن می (.2010 و همکارانش، در سال Liکشد ) معماری کلی یک ابر عمومی و اجزای اصلی آن را به تصویر می1-2شکل
ه%%ای هوش%%مندها و تلفنهای محاسبات ابری با استفاده از تجهیزات کاربران از قبیل کامپیوترهای رومیزی، لپ تاپسرویس توانن%%د ب%%ههای کاربردی رومیزی/هم%%راه میشوند. کاربران از طریق این تجهیزات و با استفاده از مرورگرها یا برنامهارائه می های کاربران بر روی سرورهایی اجراافزار تجاری و دادهها تعامل داشته باشند. نرمهای مبتنی بر ابر دسترسی و با آنسرویس
کنند. من%%ابع ش%%امل ه%%زارانی ابری میزبانی شده و منابع محاسباتی و ذخائر را فراهم میشوند که در مراکز دادهو ذخیره می اند. تبادل داده بین کاربران و مراکز به یکدیگر متصل شده2ی داخل ابرشبکهسازی هستند که از طریق سرور و وسایل ذخیره
است. 3 ی گستردهشبکهداده با استفاده از
1 Data Centers2 Intracloud Network3 Wide-area Network
6
: معماری کلی یک ابر عمومی.1-2شکل ی اجزای مختلف موجود در معماری مورد استفاده قرار گیرند.توانند بوسیلهها و استانداردهای متعددی میتکنولوژی
ها ی%%ا دیگ%%ر وب س%%رویسSOAPی های برپ%%ایههای ابر از طریق وب سرویستوانند با سرویسبه عنوان مثال، کاربران می های وب ب%%ه واسطAjax و HTML5ه%%ای (. تکنولوژی2007، در س%%ال Ruby و Richardsonتعامل داشته باش%%ند )
واس%%طافزارهای کاربردی رومیزی داش%%ته باش%%ند. های ابری مانند دیگر نرمدهند تا دید و تعامل معادلی با سرویساجازه می ایتوانند منابع محاسباتی، داده و ش%%بکهکنندگان ابر چگونه میکند که فراهم( مشخص میOCCI )1محاسباتی ابری باز
بندی( است که برای بستهOVF )2سازی بازفرمت مجازیی دیگر های استاندارد عرضه کنند. نمونهخود را از طریق واسطهای مجازی است.های مجازی( برای اجرا شدن در ماشینافزارهای مجازی )به عنوان مثال سیستم عاملو توزیع وسایل یا نرم
های ابری محیط2-1-3 ای به عنوان نمونهMicrosoft Azureشود که های ابری معرفی میای از محیطدر این بخش چهار نمونه به عنوان نماینده
OpenStack و OpenNebula عمومی، IaaS به عنوان مشهورترین Amazon Web Service عمومی، PaaSاز
ه%%ایهای کاربردی و چارچوبسازی برنامهتوانند برای پیادهها می این محیط. خصوصی هستندIaaSهایی از به عنوان نمونهها در ابر مورد استفاده قرار گیرند.کاری برای تحلیل داده
1 Open Cloud Computing Interface2 Open Virtualization Format
7
2-1-3-1 Microsoft AzureAzure می تواند برای توسعه ی برنامه های کاربردی مبتنی بر اب%%ر ی%%ا یک محیط و مجموعه ای از سرویس های ابری است که
برای ارتقای برنامه های کاربردی موجود با قابلیت های مبتنی بر ابر مورد استفاده قرار گیرد. من%ابع محاس%باتی و ذخیره س%ازی مبتنی بر تقاضا که این بستر فراهم می کن%%د ب%%ا اس%%تفاده از ب%%ه ک%%ارگیری ق%%درت محاس%%باتی و ذخیره س%%ازی مراک%%ز داده ی
Microsoft .است Azureبرای پشتیبانی از دسترس پذیری باال و سرویس های با مقیاس پذیری پویا طراحی شده است ک%%ه با مدلی که کاربران در آن هزینه ای به ازای آنچه استفاده نموده اند پرداخت می کنند، تطابقت دارد.
یه%ای ب%زرگ، اج%رای حجم ب%%زرگی از محاس%بات اج%رایی و توس%عهدادهس%ازی پایگاه برای ذخیرهAzureبستر تواند مورد استفاده قرار گیرد.دهد، می که کاربران نهایی را هدف قرار میSaaSهای کاربردی برنامه
Microsoft Azure نشان داده شده است. 2-2 شامل سه سرویس/قسمت است که در شکل ی کاربردی ب%%ر اس%%اسهای کاربردی ابری است. هر برنامهقسمت محاسبه: محیط محاسباتی که برای اجرای برنامه
ه%%ای، ب%%رای برنامهنقش ک%%ارگره%%ای ک%%اربردی مبت%%نی ب%%ر وب؛ ، برای برنامهنقش وبیها ساخت یافته است: نقشهای ماشین مجازی.image، برای نقش ماشین مجازیکاربردی اجرایی؛
کند که برای مدیریت دادهپذیر فراهم میسازی مقیاسقسمت دخیره: منابع ذخیره( ه%%ای مت%%نی و ب%%اینریBlobs،) ( و دیس%%کهایQueuesهایی که ب%%رای ارتب%%اط ناهمزم%%ان بین اج%%زاء )(، صفTablesای )های غیررابطهجدول
(. Disksمجازی )های فیزیکی یک مرکزای بهم متصل از نودها در ماشینی اجزاء: هدف این قسمت ایجاد شبکهقسمت کنترل کننده
شوند. سازی بر روی این جزء ساخته میهای محاسباتی و ذخیرهداده است. سرویس
.Microsoft Azure: 2-2 شکل
8
Microsoft Azureهایشی تعامل با سرویسدهندگان اجازهکند که به توسعههای استانداردی را فراهم می واسط Microsoft( مانن%د IDE )1ی مجتمعه%ای توس%عهتوانن%د از محیطدهندگان میدهد. عالوه بر این، توسعهرا می Visual
Studio و Eclipseهای کاربردی برای طراحی و انتشار آسانتر برنامهAzure .استفاده کنند
(Amazon Web Services) های وب آمازون سرویس2-1-3-2Amazonزیرساخت سازی منابع محاسباتی و ذخیرهITدهندگان ق%%رارهای وب در اختیار توسعه خود را به شکل سرویس
2Amazonهای وب دهد. سرویسمی (AWS)توانن%دهای اب%ری اس%ت ک%ه میی ب%زرگی از س%رویس در واقع مجم%وعه های ابری تشکیل ش%%وندافزارهای معمولی با قابلیت یا ادغام نرمSaaSهای کاربردی ی کاربران برای ایجاد برنامهبوسیله ه%ا و بس%ترهای مختل%ف )ب%ه عن%واننویسی با زبانهایی را برای اهداف برنامهAmazon، SDK3(. از آنجایی که 3-2)شکل
ساده است. Amazonهای ( فراهم کرده است، تعامل با سرویسAndroid و Java، .Net، PHPمثال
.Amazon Web Services :3-2شکل AWSهای اصلی زیر است: شامل سرویس( محاسباتی: ابر محاسباتی ارتجاعیEC24اجازه )ده%%د؛ ی ایجاد و اجرای سرورهای مجازی را میAmazon Elastic
MapReduceهای کاربردی برای ایجاد و اجرای برنامهMapReduce.هستند 5سازی سادهسازی: سرویس ذخیرهذخیره( S3که اجازه )ه%ا را از طری%ق این%ترنتس%ازی و بازی%ابی دادهی ذخیره
دهد. می
1 Integrated Development Environment2 Amazon Web Services3 Software development kit4 Elastic Compute Cloud5 Simple Storage Service
9
1ایی رابطهداده: سرویس پایگاه دادهپایگاه( RDSب%%رای ج%%دول )ای؛ های رابطهDynamoDBهای ب%%رای ج%دول ها. برای کش نمودن داده2های کوچک؛ کش ارتجاعیداده برای مدیریت پایگاهSimpleDBای؛ غیررابطه
:شبکهRoute DNS که یک 53 Web Serviceسازی ی%%ک ش%%بکه است؛ ابر خصوصی مجازی که برای پیاده باشد. مجازی می
:استقرار و مدیریتCloudFormationی اس%%تفاده ب%%ه هم%%راههای مجازی آمادهای از ماشین برای ایجاد مجموعه برای نظارت ب%%ر من%%ابعCloudWatchهای کاربردی وب(؛ افزارهای از پیش نصب شده )به عنوان مثال برنامهنرم
AWS ؛Elastic Beanstalkهای های کاربردی مشتری که به زبان برای استقرار و اجرای برنامهJava، PHPو .AWSهای اند؛ مدیریت هویت و دسترسی برای کنترل امنیتی دسترسی به منابع و سرویسها نوشته شدهدیگر زبان
:تحویل محتواAmazon CloudFrontسازد. ی عمومی آسان می توزیع محتوا را از طریق شبکهایهای کاربردی: سرویس پست الکترونیکی ساده که یک سرویس ارسال پست الکترونیک پ%%ایههای برنامهسرویس
رسانی ساده که برای اعالم به کاربران است؛ س%%رویس ص%%ف س%اده ک%%ه ص%فی ازکند. سرویس اطالعرا فراهم می های کاربردی مبت%%نی ب%%ر گ%%ردشسازی برنامهکند؛ سرویس گردش کار ساده که برای پیادهسازی میها را پیادهپیام
کاری است. شناخته می شود )ب%%ر اس%اس س%%رویس های مبت%نی ب%%رIaaS به عنوان اولین فراهم کننده ی Amazonبا وجود اینکه
EC2و S3 آن(، ولی امروزه با سرویس هایی مانند Elastic Beanstalk ب%%ه عن%%وان فراهم کنن%%ده ی PaaSن%%یز فع%%الیت می کند.
2-1-3-3 OpenNebulaOpenNebula( Sotomayor در واقع یک چارچوب اصلی متن باز است که برای ایجاد2009 و همکارانش، در سال )
، هسته اس%%ت ک%%ه ماش%%ین هایOpenNebulaابرهای خصوصی و آمیخته مورد استفاده قرار می گیرد. جزء اصلی معماری (. عالوه ب%%ر این، را ببینید4-2مجازی را بوسیله ی اتصال آنها با یک محیط شبکه ی مجازی ایجاد و کن%%ترل می کن%%د )ش%%کل
که درایور نامیده می ش%%وند، تعام%%ل3هسته برای انجام عملیات ذخیره سازی، شبکه و مجازی سازی با اجزاء قابل اتصالی از زیرساخت اساسی مستقل است و یک محیط یکنواخت مدیریتی را عرضه می کند.OpenNebulaدارد. به این ترتیب،
1 Relational Database Services2 Elastic Cache3 Pluggable
10
.OpenNebula معماری :4-2 شکل ای از اجزای بهم متص%%ل )ب%%ه عن%%وان مث%%ال وبکند که مجموعهها نیز پشتیبانی میهمچنین هسته از استقرار سرویس
بند است که مسئول تخصیصهای مجازی متعددی هستند. جزء دیگر زمانسرور، پایگاه داده( و در حال اجرا بر روی ماشین ی مناس%%بی ب%%ابند از طریق دستورات تعبی%%ه ش%%دههای مجازی بر روی سرورهای فیزیکی است. برای این منظور، زمانماشین
هسته تعامل دارد. OpenNebulaسازی شود که با ابرهایتواند با استفاده از درایورهای مخصوصی به عنوان یک ابر آمیخته پیاده می
سازی ابرهای عم%%ومی الح%%اقتواند با منابع محاسباتی و ذخیرهبیرونی تعامل داشته باشد. به این ترتیب، زیرساخت محلی می و دیگر چارچوب کاریAmazon EC2 شامل درایورهایی برای استفاده از منابع OpenNebulaشود. در حال حاضر،
(.2009 و همکارانش، در سال Nurmi است )Eucalyptusباز به نام متن
2-1-3-4 OpenStack1openStackس%ازی وی ب%%زرگی از من%ابع پردازش%ی، ذخیرهعامل ابری است ک%ه م%دیریت مجم%وعه در واقع یک سیستم
آورد. سیستم موردنظر برای چهار هدف اصلی طراحی،های مبتنی بر وب فراهم میای را در یک مرکز داده از طریق واسطشبکهتوسعه و توزیع شده است:
:منبع بازOpenStack تحت قوانین Apache.منتشر شده است ها و تعریف مشخصات فنی جدی%%دآوری نیازمندیطراحی باز: هر شش ماه، یک نشست طراحی برای جمع
شود.های بعدی برگزار میبرای نسخهشود.ی باز: مخزنی از منابع کد در درسترس عموم قرار دارد که برای مراحل توسعه نگهداری میتوسعهی ها توسط ج%امعهی باز: اکثر تصمیمجامعهOpenStackاتخ%اذ2 و ب%ا اس%تفاده از م%دل کنف%رانس تنبل
شود. می نش%%ان داده ش%%ده5-2ی چهار جزء اصلی تشکیل شده است ک%%ه در ش%%کل بوسیلهOpenStackمعماری ماژوالر
است.1 OpenStack, http://www.openstack.org/2 Lazy Consensus Model
11
.OpenStack: 5-2 شکل کن%%د.، سرورهای مجازی بر حسب تقاضا را با مدیریت منابع پردازشی موجود در مرکز داده فراهم میمحاسبهقسمت
،VMwareتواند توسط این سیستم پشتیبانی شود )به عنوان مثال های مختلفی میتکنولوژی KVMو ب%ه ص%ورت افقی ) کند.پذیر و اضافی را فراهم میسازی مقیاس، یک سیستم ذخیرهOpenStack در سازیذخیرهتواند مقیاس یابد. قسمت می
س%%ازی و بازی%%ابی اش%%یاء وی ذخیرهسازی اش%%یاء اج%%ازهکند که ذخیره را پشتیبانی میسازی اشیاء و بلوکاین قسمت ذخیره ده%%د.سازی بلوک امکان ایجاد، اتصال و جداسازی تجهیزات بلوکی س%%رورها را میدهد و ذخیرهها را در مرکزداده میفایل
های به اش%%تراک گذاش%%تهسرویسکند. در نهایت، را مدیریت میIPهای ها و آدرس، شبکهOpenStack در شبکهقسمت اند. ب%%ه عن%%وان مث%%ال،های اضافی هستند که برای راحتی استفاده از مرکزداده ف%%راهم ش%%ده، سرویسOpenStack در شده
سرویس هویت برای این است که کاربران و سرورها را بهم نگاشت کند، سرویس تصویری برای مدیریت سرورهای تصاویرکند.ای را فراهم میی رابطهدادهداده نیز یک پایگاهو سرویس پایگاه
های ک''اربردیهای محاسبات ابری برای برنامه سیستم2-2ه مبتنی بر داد
های متمرکز به کار گرفته شود چ%%را ک%%ههای کاربردی دادهتوانند به طور موثری برای پشتیبانی از برنامههای ابری میسیستم ه%%ایاف%%زاری ب%%رای توس%%عه دادن و اج%%رای محیطهای پردازشی را به خوبی بسترهای نرمپذیر و سرویسآنها ذخائر انعطاف
ش%%ود ک%%هه%%ای اب%%ری بحث میکنند. در این قسمت در م%%ورد تکنولوژیهایی فراهم میتحلیل داده را بر فراز چنین سرویس به کار گرفته شود. ابتداKDD های متمرکز دادههای کاربردیهای تحلیل داده برای برنامهسازی سیستمتوانند جهت پیادهمی
ی که یک سیستم نحلیل دادهKDDی کاربردی شود که باید هر برنامههای کاربردی و غیر کاربردی مشخص میتعریف نیاز های سیستم باید تامین شود وکنند که کدام ویژگیتوزیع شده باید این نیازها را برآورده کند. نیازهای کاربردی مشخص می
شود. نیازهای غیر کاربردی به معیارهای کیفی اشاره دارد که بیشتر به کارایی سیستم مربوط می
12
نیازهای کاربردی 2-2-1 ش%%ود:ی اص%%لی تقس%%یم میی توزیع شده باید برآورده شود به دو دس%%تهنیازهای کاربردی که توسط یک سیستم تحلیل داده
های کاربردی. نیازهای مدیریت منابع به نیازهایی اشاره دارد که به م%%دیریتنیازهای مدیریت منابع و نیازهای مدیریت برنامه را نیز شامل ش%%ود؛ نیازه%%ایKDDی کاربردی ها، ابزار، نتایج( که ممکن است یک برنامهشود )دادهی منابع مربوط میهمه
شود.های کاربردی مربوط میهای کاربردی به طراحی و اجرای خود برنامهمدیریت برنامه
مدیریت منابع 2-2-1-1 باش%%ند. هستند شامل منابع داده، ابزار کشف دانش و نتایج کشف دانش میKDDهای کاربردی منابعی که مورد توجه برنامه
شوند بپردازد:ی توزیع شده باید به نیازهای مدیریت منابعی که در ادامه ذکر میبنابراین، یک سیستم تحلیل دادهه%%ای س%%اده، ی%%اای، فایلی رابطهه%%ای دادههای متفاوتی از قبی%%ل پایگاهتوانند در قالبمدیریت داده: منابع داده می
هایی را برای ذخیره ک%%ردن و( باشند. سیستم باید روشXMLهای ساختار یافته )به عنوان مثال فایلسندهای نیمه ه%%ا بای%%د ب%%ه ص%%ورتای را مستقل از قالب مخصوصشان فراهم آورد.به عالوه، ابردادهدسترسی به چنین منابع داده
رسمی و فرمولی تعریف شوند و باید توصیف اطالعات مرتبط در رابطه با منابع داده مورد استفاده قرار گ%%یرد )ب%%ه پذیری، نمایش در دسترس( تا بتوان دسترسی و به کارگیری موثر آنها راعنوان مثال مکان قرارگیری، قالب، دسترس
قادر ساخت. ها ب%%رای انتخ%%اب داده، پیش پ%%ردازش، تب%%دیل،ها و س%%رویسمدیریت ابزار: ابزار کشف دانش که شامل الگوریتم
ی چ%%نین اب%%زاری مس%%تقل ازهایی را برای دسترس%%ی و اس%%تفادهکاوی و ارزیابی نتایج است. سیستم باید روشداده )مانن%%دKDDه%%ای اب%%زار سازی مخصوصشان را فراهم آورد. ابر داده باید ب%%رای توص%%یف مهم%%ترین ویژگیپیاده
ی استفاده( مورد استفاده قرار گیرد. عملکردشان، مکان قرارگیری، نحوهک%%اوی(ی یک مدل دانش )یا مدل دادهی کشف دانش به وسیلهمدیریت نتیجه: دانش به دست آمده از نتایج مرحله
هایی مس%%تقل از س%%اختار وسازی و دسترسی چنین م%%دلهایی را برای ذخیرهشود. سیستم باید روشنشان داده می ی ابر داده توضیحکاوی نیز نیاز دارند که محتوایشان به وسیلههای دادهقالبشان فراهم آورد. مانند داده و ابزار، مدل
و تفسیر شوند تا بازیابی موثرشان را قادر سازد.
های کاربردیمدیریت برنامه 2-2-1-2 KDDه%%ای متمرک%%ز های ک%%اربردی دادههای موثری را برای طراحی برنامهی توزیع شده باید روشیک سیستم تحلیل داده
)مدیریت طراحی( و کنترل اجرای آنها )مدیریت اجرا( را فراهم آورد. کاوی گرفت%%هی دادهی توزیع شده از وظایف سادههای کاربردی تحلیل دادهی برنامهمدیریت طراحی: تمام محدوده
ی اص%لیشوند. از دی%د ط%راحی، س%ه دس%ته بیان می1های کاریکاوی با عنوان گردشی دادهتا الگوهای پیچیده
1 Workflows
13
، که در آن کش%%ف مانن%%دایهای کاربردی تک وظیفهبرنامهتواند تعریف شود: های کاربردی کشف دانش میبرنامه ،های کاربردی پارامتر گس%%تردهبرنامهشود؛ بندی یا قوانین انجمنی بر روی یک منبع داده انجام میبندی، خوشهدسته
کاوی یکسان ولی ب%%ا پارامتره%%ایهای متعددی از یک الگوریتم دادهداده با استفاده از نمونهکه در آن یک مجموعه ه%ای، ک%%ه در آن برنامههای کاربردی بر اس%%اس گ%ردش ک%%اریبرنامهگیرد. مختلف مورد تحلیل و بررسی قرار می ه%%ایکنن%%د، الگوریتمهایی که منابع داده را به یکدیگر متص%%ل میای با گرافکاربردی کشف دانش احتماال پیچیده
هایی را ب%%رای ط%%راحیشوند. یک سیستم کلی باید محیطکاوی و ابزارهای تصویرسازی و بصری مشخص میدادههای کاربردی تحلیل داده فراهم کند. الذکر در برنامههای فوقی دستهموثر همه
های کاربردی تحلی%%لمدیریت اجرا: سیستم باید یک محیط اجرای توزیع شده را فراهم آورد که اجرای موثر برنامه های ک%%اربردی از ت%%کی برنامهاند. از آنجایی که محدودهی کاربران طراحی شدهداده را پشتیبانی کند که به وسیله
ی اجرای چ%%نینهای کاری کشف دانش پیچیده است بنابراین محیط اجرایی باید از عهدهای گرفته تا گردشوظیفه های زی%%ر را ف%%راهم کن%%د ک%%ه ب%%ههای کاربردی را داشته باشد. به ویژه، محیط اجرایی باید قابلیتتنوعی در برنامه
کاوی قرار گرفت%%های که مورد دادهی کاربردی مربوط است: دسترسی به منابع دادهمراحل مختلف اجرای یک برنامه ها بر اساس مشخصاتی که کاربر تع%%یینها، اجرای برنامهاست، اختصاص دادن منابع محاسباتی مورد نیاز این برنامه
کرده است، که ممکن است به عنوان یک گردش کاری بیان شود؛ نتایج را به کاربر نمایش دهد. همچنین، سیس%%تمهای کاربردی را بدهد.ی نظارت بر اجرای برنامهباید به کاربران اجازه
نیازهای غیرکاربردی 2-2-2 کنند ک%%هتوانند در سه سطح تعریف شوند: کاربر، معماری و زیرساخت. نیازهای کاربر مشخص مینیازهای غیرکاربردی می
کنند که کدام قواعد و قوانین در الهام بخش%%یدنکاربر چگونه باید با سیستم تعامل داشته باشد؛ نیازهای معماری مشخص می ه%%ای غیرک%%ارکردی را درگیرن%%د؛ در نه%%ایت، نیازه%%ای زیرس%%اختی ویژگیطراحی معماری سیستم مورد اس%%تفاده ق%%رار می
کنند.زیرساخت محاسباتی توصیف می
نیازهای کاربر2-2-2-1از نقطه نظر یک کاربر، نیازهای غیرکاربردی زیر باید برآورده شود:
قابلیت استفاده: سیستم باید به سادگی توسط کاربران انتهایی مورد استفاده قرار گیرد بدون اینک%%ه نی%%از ب%%ه س%%پری های آموزشی خاصی داشته باشند.کردن دوره
های اس%%تاندارددسترسی از همه جا: کاربران باید توانایی دسترسی به سیستم را از هر جایی با استفاده از تکنولوژی های موبای%%لها( را چه از طریق کامپیوترهای رومیزی و چ%%ه از طری%%ق دس%%تگاهای )به عنوان مثال وب سایتشبکه
داشته باشند.
14
ه%%ای را ک%%ه م%%وردحفاظت از داده: داده یک نقش کلیدی و با ارزشی برای کاربران دارد بنابراین سیستم باید داده های عم%%دی و تص%%ادفی راگیرند محافظت کند و دانش پی بردن به دسترسی غیرمجاز و تخریبکاوی قرار میداده
داشته باشد.
نیازهای معماری2-2-2-2شوند:ی زیر تقسیم مینیازهای غیرکاربردی اصلی در سطح معماری به سه دسته
ها( برایافزاری تحت شبکه )سرویسای از اجزاء نرمجهت دهی سرویس: معماری باید به صورت مجموعه ی مجدد، ترکیب و قابلیت همک%%اریهای عملیاتی مختلف سیستم طراحی شود تا استفادهسازی قابلیتپیاده
آنها را به طور موثری قادر ساخت. های کشف دانش جدید باز باش%%د. عالوهپذیر بودن: معماری باید برای ادغام با ابزار و سرویسباز و توسعه
ها، باید برای توسعه باز ولی برای اص%%الحهای موجود طبق اصل باز و بسته بودن سرویسبر این، سرویسبسته باشد.
،مستقل از زیرساخت بودن: معماری باید تا حد ممکن مستقل از زیر ساخت طراحی شود؛ به عبارت دیگ%%ر های مختل%فهای اساسی باشد که توسط زیرس%%اختبرداری از قابلیتهای سیستم باید قادر به بهرهسرویس
شوند. فراهم می
نیازهای زیرساخت2-2-2-3در نهایت، از دیدگاه زیرساخت، نیازهای غیرکاربردی زیر باید برآورده شود:
های وب(های استاندارد )مانن%%د س%%رویسهایش را برای تکنولوژیدستیابی استاندارد شده: زیرساخت باید سرویس ه%ای ک%ابردی قاب%%لهای سطح باال یا برنامههای ساختمانی برای ایجاد سرویسباز بگذارد تا آنها را به عنوان بلوک
استفاده کند. های خیلی بزرگ با ابعاددادههای توزیع شده و ناهمگون: زیرساخت باید قادر به پشتیبانی از پایگاهپشتیبانی از داده
های زی%%ادی از نظ%%راند ی%%ا ب%%ر روی س%%ایتهای مختلفی در یک مرک%%ز داده ذخ%یره ش%%دهبزرگ باشد که با فرمتاند. جغرافیایی توزیع شده
ای از من%%ابعهایی رخ دهد که مجموعهپذیری: زیرساخت باید در یک شرایط عملکرد باشد حتی اگر خرابیدسترس س%%ازیهای موثری )مانند افزونگی( بای%%د پیادهافزاری را تحت تاثیر قرار دهد. بدین ترتیب، روشافزاری/نرمسخت
های کاربردی تضمین کند. های کاربر و برنامهشود تا دسترسی قابل اعتمادی را برای منابع حساسی مانند دادهه%ای ب%زرگ ب%%رای در ح%ال رش%د )ناش%%ی از داده1پذیری: زیرساخت باید توانایی پشتیبانی از یک بارکاریمقیاس
ی تخصیص پویای منابع مورد نی%%از )پردازش%%گرها، به وسیلههای سنگین برای اجرا( راپردازش یا الگوریتم به طور موثر و کارایی داشته باشد. عالوه بر این، به محض اینک%%ه بارک%%اریای( سازی و شبکهمنابع ذخیره
کاهش یافت، زیرساخت باید منابعی که الزم نیستند را آزاد کند.1 workload
15
کارایی: زیرساخت باید مصرف منابع را ب%%رای اج%%را ش%%دن ی%ک وظیف%%ه ب%%ه ح%داقل برس%%اند. در م%%ورد وظ%ایف های پردازشی باید تضمین شود. عالوه بر این، زیرساخت بای%%د بیش%%ترینموازی/توزیع شده، تخصیص کارآمد گره
های موثری را فراهم آورد. وری را داشته باشد تا سرویسبهرهها، مدیریت هویت و حریم خصوصیهای امنیتی موثری را فراهم آورد تا حفاظت دادهامنیت: زیرساخت باید روش
را تضمین کند.
های توزیع شدههای ابری برای تحلیل داده مدل2-2-3 بن%%دیی اص%%لی طبقههای خود را به س%%ه دس%%تهکنندگان ابری سرویس بحث شده است، فراهم1-1-2همانطور که در بخش
ها ب%%هی کاربردی اجرا شده از طریق اینترنت به مشتریافزار یا برنامه، که هر نرم(SaaSافزار به عنوان سرویس )کنند: نرممی هایی(، فراهم نمودن بس%%تر س%%رویسPaaSهای آماده برای استفاده فراهم شده است. بستر به عنوان سرویس )عنوان سرویس ه%ای ک%اربردیهای ب%رای س%اخت، آزم%ایش و اج%رای برنامههای کاربردی، یا محیطها، سرورهای برنامهدادهاز قبیل پایگاه
س%%ازی، ب%%رای اج%%رایها، حافظ%%ه، و ذخیرهCPU(، فراهم نمودن منابعی مانند IaaSمشتری؛ زیرساخت به عنوان سرویس )های مجازی شده بر روی ابر.سیستم
ممکن به صورت یکی از روشی که در زیر حساس به دادهKDDهای کاربردی های تحلیل داده برای برنامهسرویسسازی شوند: اند پیادهبندی شدهطبقهKDD به عنوان SaaSکاوی یا یک ابزار کشفی داده: در این مورد یک الگوریتم واضح و به خوبی تعریف شده
دانش آماده برای استفاده به عنوان یک سرویس اینترنتی فراهم شده است برای ک%%اربران انته%%ایی ک%%ه ممکن اس%%تمستقیما از طریق یک مرورگر وب از این سرویس استفاده کنند.
KDD به عنوان PaaSدهندگانی فراهم شده است ک%%ه قص%%د دارن%%د: در این مورد یک بستر پشتیبانی برای توسعه های موجود را گسترش دهند.های کاربردی خود را ایجاد یا برنامهبرنامه های اساسی یا مسائل محاسبات توزیع شده، تنها بر روی تعری%%فدهندگان بدون نگرانی در مورد زیرساختتوسعه خود تمرکز دارند.KDDهای کاربردی برنامه
KDD به عن%%وان IaaSای از من%%ابع مج%%ازی ب%%ه عن%%وان زیرس%%اخت محاس%%باتی ب%%رای: در این م%%ورد مجم%%وعه KDDهای کاوی خود را اجرا کنند یا از ابتدا سیس%%تمهای کاربردی دادهدهندگان فراهم شده است تا برنامهتوسعه
سازی کنند.خود را پیاده الیه ه%%ایPaaS و SaaSدر هر سه سناریوی باال، ابر نقش فراهم کننده ی زیرساخت را بازی می کند حتی در موارد
زیرساخت می تواند برای کاربران انتهایی شفاف باشد. Microsoftدهد از اینکه چگونه اج%%زای ای را ارائه می خالصه2-2، جدول PaaS به عنوان مثالی برای رویکرد
Azureتوانند به طور موثری برای رفع نیازهای کاربردی یک سیستم معرفی شد، می1-3-1-2های آن که در بخش و روش اند، مورد استفاده قرار گیرند. مطرح شده1-2-2ی توزیع شده که در بخش تحلیل داده
16
ی توزیع شده برای رفع نیازهای کاربردی یک سیستم تحلیل دادهMicrosoft Azure: استفاده از 2-2جدول Microsoft Azureاجزای نیازهای کاربردی
مدیریت منابع
هاداده
های(؛ جدولBlobs: اشیاء بزرگ دودویی )هاهای مختلف دادهفرمت (؛Queuesها )هایی برای ارتباط داده(، صفTablesای )غیررابطه
(.SQL Databaseای )های رابطههای دادهپایگاه یای برای ذخیرههای رابطهها/ پایگاه داده: جدول1پشتیبانی از فراداده
ها؛ فیلدهایی که قابل تعریف توسط مشتری هستندتشریح دادهها هستند، اضافه شود.Blobایی که شامل تواند به منابع دادهمی
ابزار
توانند به عنوان وب سرویس: ابزاری که میسازیدسترسی مستقل از پیادهظاهر شوند.
یای برای ذخیرههای رابطهها/ پایگاه داده: جدولپشتیبانی از فراداده تواند بهها؛ فیلدهایی که قابل تعریف توسط مشتری هستند میتشریح داده
WSDLها هستند، اضافه شود؛ توصیفات Blobایی که شامل منابع داده
ها.برای وب سرویس
نتایج
ی نتایج هم به صورت متنی وها برای ذخیرهBlob: هاسازی مدلذخیرههم به صورت تصویری.
یای برای ذخیرههای رابطهها/ پایگاه داده: جدولپشتیبانی از فراداده تواند بهها؛ فیلدهایی که قابل تعریف توسط مشتری هستند میتشریح داده
ها هستند، اضافه شود.Blobایی که شامل منابع دادههای کاربردیمدیریت برنامه
طراحی
ریزی اجرای یک وب: برنامههای کاربردی با تنها یک وظیفهبرنامهی نقش کارگر.سرویس یا ابزار دودویی بر روی یک نمونه
ریزی اجرای همزمان: برنامههای کاربردی با پارامترهای فراگیربرنامه ای ازها یا ابزارهای دودویی بر روی مجموعهای از وب سرویسمجموعه
های نقش کارگر.نمونه ریزی اجرای هماهنگ: برنامههای کاربردی مبتنی بر گردش کاربرنامه
ای ازها یا ابزارهای دودویی بر روی مجموعهای از وب سرویسمجموعههای نقش کارگر.نمونه
شود.سازی مدیریت میی ذخیره: توسط الیهسازیدسترسی منابع ذخیرهاجراشود.ی محاسباتی مدیریت می: توسط الیهتخصیص منابع محاسباتی
1 Metadata
17
های نقش کارگر/ وب: نمونههای کاربردینظارت و اجرای برنامه ها برای ذخیره کردنها برای اجرای وظایف منفرد؛ جدولسرویس
ی نقش وب برای نمایش اطالعات نظارتی.اطالعات وظایف؛ نمونه هایکردن/تفسیر مدلها برای ذخیرهBlobها/ : جدولنمایش نتایج
ی نقش وب برای نمایش نتایج.استنباطی؛ نمونه
خالصه2-3 توانند برای استخراج دانش از مخازن بزرگکنند که میپذیری را فراهم میسازی مقیاسهای پردازشی و ذخیرهابرها سرویس
هایی م%%ورد اس%%تفادههای تحلیل داده بر روی چنین سرویسافزاری برای توسعه و اجرای محیطداده و همچنین بسترهای نرم افزار بههای اصلی سرویس )نرمهای ابری با استفاده از تشریح مدلقرار بگیرند. در این فصل مروری کلی بر روی تکنولوژی
های استقرار )ابرهای عمومی، خصوصی، ی%%اعنوان سرویس، بستر به عنوان سرویس، و زیرساخت به عنوان سرویس( و مدل Microsoftه%%ای اب%%ری )ه%%ایی از محیطاند، ارائه نمودیم. همچنین نمونهکنندگان ابری اتخاذ شدهآمیخته( که توسط فراهم
Azure، Amazon Web Services، OpenNebula و ،OpenStackسازیتوانند برای پیاده( را شرح دادیم که می در نهایت، پس از شناس%ایی نیازه%ایهایی برای تحلیل داده در ابر مورد استفاده قرار گیرند.های کاربردی و چارچوببرنامه
ی توزیع شده برآورده شوند، به عنوان مثالی به شرح این م%%ورد پرداخ%%تیم ک%%هاصلی که باید توسط یک سیستم تحلیل داده توانند برای برآورده نمودن این نیازها مورد استفاده قرار بگیرند. های آن می و روشMicrosoft Azureچگونه اجزای
مراجعR. Barga, D. Gannon, and D. Reed, "The client and the cloud: Democratizing research computing," IEEE Internet Computing, 15(1):72–75, 2011.Li, A., Yang, X., Kandula, S., Zhang, M., 2010. CloudCmp: comparing public cloud providers. Tenth ACM SIGCOMM Conference on Internet Measurement (IMC’10), New York, USA.Mell, P., Grance, T., 2011. The NIST Definition of Cloud Computing. NIST Special Publication 800-145.Nurmi, D., Wolski, R., Grzegorczyk, C., Obertelli, G., Soman, S., Youseff, L., Zagorodnov, D., 2009. The eucalyptus open-source cloud computing system. In: Proceedings of the Ninth IEEE/ ACM International Symposium on Cluster Computing and the Grid (CCGRID’09), Washington, USA.Richardson, L., Ruby, S., 2007. RESTful Web Services. O’Reilly & Associates, California.Sotomayor, B., Montero, R.S., Llorente, I.M., Foster, I., 2009. Virtual infrastructure
18
management in private and hybrid clouds. IEEE Internet Comput. 13, 14–22.
19
Recommended