همه چیز درباره رایانش ابری (محاسبات ابری)

همه چیز درباره رایانش ابری (محاسبات ابری)
محاسبات ابری، تحول مهمی را در صنعت IT رقم زده است. یکی از تعاریف رسمی رایانش ابری توسط NIST ارائه شده است: “رایانش ابری مدلی برای امکان دسترسی همه جانبه، راحت و درخواستی شبکه به مجموعه مشترکی از منابع محاسباتی قابل تنظیم (به عنوان مثال شبکهها، سرورها، فضای ذخیره سازی، برنامهها و خدمات) است که میتواند با کمترین تلاش مدیریتی یا خدمات به سرعت تهیه و منتشر شود. این مدل ابری از پنج ویژگی اساسی، سه مدل سرویس و چهار مدل استقرار تشکیل شده است.”
بنابراین محاسبات ابری راهی برای رقابت سازمانهای کوچک با سازمانهای بزرگتر است. همچنین یک روش برای صرفه جویی در هزینههای زیاد و استفاده بهینه از انرژی است. کاربران در استفاده از این تکنولوژی، فقط باید نگران اتصال پهنای باند خود باشند و بقیه امور به عهده ابر ارائه دهنده سرویس خواهد بود وکاربران با توجه به دریافتی مبلغی را پرداخت میکنند.
تکامل Cloud computing
رایانش ابری مفهوم جدیدی نیست. این ایده برای اولین بار توسط جان مک کارتی در دهه 1960 هنگامی که او مفهوم “”Utility Computing را مطرح کرد، پیشنهاد شد. مانند محاسبات سودمند، در ابتداییترین سطح خود، ابر با محاسبات به عنوان یک ابزار به جای یک محصول یا فناوری خاص رفتار میکند.
قبلا به عنوان یک پکیجی از منابع محاسباتی مانند محاسبه ، ذخیره سازی و دستگاه ها به عنوان یک سرویس اندازه گیری شده مانند سایر خدمات عادی خانگی مانند آب، برق، گاز و تلفن تعریف میشد. این مدل از هزینه اولیه پایینی برخوردار است، زیرا منابع محاسباتی اساساً بر اساس تقاضا درخواست میشوند، بنابراین از استفاده کم و یا استفاده بیش از حد از منابع جلوگیری میشود.
رایانش ابری پس از محاسبات شبکهای به تدریج تکامل مییابد. رایانش ابری به عنوان نسخه کاربر پسند محاسبات شبکهای تعریف شده است.
در محاسبات شبکهای، یک پروژه بزرگ بین چندین کامپیوتر تقسیم میشود تا از منابع آنها استفاده شود. رایانش ابری برعکس این عمل را انجام میدهد. به طوریکه این اجازه را میدهد تا چندین برنامه کوچکتر به طور همزمان اجرا شوند.
ابرها به دلیل ابزارهای کاربر پسند، مجازی و به طور خودکار مقیاس پذیر، از محبوبیت بیشتری نسبت به شبکهها برخوردار هستند. مدل Pay-as-you-go در مقایسه با مقیاس پرداخت ثابت شبکه، جذابیت ابری را بیشتر میکند.
بر خلاف شبکهها، مقیاسپذیری منابع Cloud امکان تأمین زمان واقعی منابع را برای تأمین نیازهای برنامه در مقابل روش سنتی که نیاز به ذخیره قبلی منابع در شبکههای چند کاربره جهانی دارد، فراهم میکند.
علاوه بر این، هر شبکه پیکربندی متفاوتی دارد که نتیجه آن تلاش بیشتر در هر زمان نیاز به انتقال یک برنامه به سایت جدید است. اما در ماشینهای مجازی ابری به توسعه دهنده برنامه اجازه داده میشود تا یک محیط اجرای قابل حمل سفارشی و پیکربندی شده مخصوص برنامه خود ایجاد کند.
بنابراین ابر مفهومی بسیار بزرگتری از شبکه و رایانههای سودمند است و فقط به یک شبکه خاص محدود نمیشود. دو فناوری کلیدی در پشت صحنه ابر، مجازی سازی و خوشه بندی است.
مجازی سازی به برداشت منابع منطقی به دور از منابع فیزیکی زیربنایی آنها برای دستیابی به چابکی، انعطاف پذیری و استفاده بهینه از منابع انرژی اشاره دارد.
مجازی سازی در ابر انواع مختلفی دارد مانند سرور، ذخیره سازی و مجازی سازی شبکه. مجازی سازی سرور، نقشه برداری از منابع فیزیکی منفرد به چندین نمایش منطقی یا پارتیشن است.
مجازی سازی ذخیره سازی، تلاش میکند تا کارایی دستگاههای ذخیره سازی را به حداکثر برساند. با مجازی سازی شبکه، چندین شبکه میتوانند در یک شبکه واحد ترکیب شوند، یا یک شبکه واحد به طور منطقی به چند قسمت جدا شود. بنابراین مجازی سازی برای یک زیرساخت ابر پویا بسیار مناسب است.
محاسبات خوشه ای را میتوان ادغام بیش از یک رایانه کالا و منابع گنجانیده شده از طریق سخت افزار، شبکه و نرم افزار برای ایجاد یک تصویر سیستم واحد توصیف کرد.
مزیت یک سیستم خوشهای در توانایی مدیریت محاسبات بزرگ و فوق العاده پیچیده (HPC) در بیش از یک رایانه، کاربر روی همان مشکل یا بخشی از آن به طور همزمان است.
به طور کلی میتوان گفت “Cloud نوعی سیستم موازی و توزیع شده است که متشکل از مجموعه ای از رایانه های متصل و مجازی است که به صورت پویا تهیه و به عنوان یک یا چند منبع محاسباتی واحد بر اساس توافقنامههای سطح خدمات که از طریق مذاکره بین ارائه دهنده خدمات و مصرف کنندگان ایجاد شده است، ارائه میشود.”
مؤلفههای Cloud computing
رایانش ابری سه مؤلفه اصلی دارد که عبارتند از : کلاینت، مرکز داده و سرورهای توزیع شده. در ادامه به توضیح هریک میپردازیم.
کلاینت: دستگاه هایی هستند که کاربران با آنها ارتباط برقرار میکنند تا اطلاعات خود را بر روی ابر مدیریت کنند. کلاینت میتواند تلفن هوشمند یا رایانههای فاقد دیسک سخت (Thin Client) یا رایانه معمولی (Thick Client) باشد. کلاینت لاغر یا Thin Client معمولاً یک مرورگر وب مانند Mozilla Firefox یا Microsoft Internet Explorer یا Google’s Chrome است.
مرکز داده: مجموعه ای از سرورها است که حاوی برنامه مشترک کلاینتهایی است که می توانند از طریق اینترنت به آن دسترسی داشته باشند. بسیاری از ماشینهای مجازی میتوانند همزمان بر روی یک سرور فیزیکی اجرا شوند که به عنوان میزبان (Host) نیز شناخته میشود.
سرورهای توزیع شده: برای ارائه قابلیت اطمینان و در دسترس بودن بیشتر، سرورها در مکانهای پراکنده از نظر جغرافیایی قرار میگیرند. بنابراین اگر یک سرور از کار بیفتد، عمل سرویس دهی میتواند توسط سرور دیگر ادامه یابد. همچنین مقیاس پذیری را افزایش میدهند. به طوریکه اگر ابر به سخت افزار بیشتری نیاز دارد، استقرار سرورهای بیشتر فقط در مرکز داده ضروری نیست. در اینصورت آنها را میتوان در سایت دیگری اضافه کرد و به سادگی آنها را بخشی از ابر کرد.
مشخصات اساسی رایانش ابر
در تعریف NIST، پنج ویژگی اساسی برای رایانش ابری توصیف شده است:
انعطاف پذیری سریع (Rapid Elasticity): ميتوان منابع را به سرعت و با انعطاف، در بعضي موارد بهصورت خودکار، بهدست آورد تا به سرعت گسترش دادهشده (از ديد مقياس) يا در جا آزاد شوند و خيلي سريع به مقياس کوچکتری دست يابند.
خدمات اندازه گیری شده (Measured Service): سرویسهای ابری توسط ارائه دهنده ابر کنترل میشوند. این امر برای صدور صورت حساب، کنترل دسترسی، بهینه سازی منابع، برنامه ریزی ظرفیت و سایر کارها بسیار مهم است.
سلف سرویس برحسب تقاضا (On-Demand Self-Service): به این معنی است که مصرف کننده میتواند در صورت لزوم و بدون تعامل انسان، از خدمات ابری استفاده کند.
دسترسی همه جانبه به شبکه (Ubiquitous Network Access): این ویژگی بدان معناست که قابلیتهای ارائه دهنده ابر از طریق شبکه در دسترس است و از طریق مکانیزم استاندارد توسط کلاینتهای ضخیم و نازک قابل دسترسی است.
پیوند منابع (Resource Pooling): به یک ارائه دهنده ابر امکان میدهد تا از طریق مدل چند مستاجر به مصرف کنندگان خود خدمات ارائه دهد. منابع فیزیکی و مجازی با توجه به تقاضای مصرف کننده تخصیص داده میشوند. مشتری معمولا کنترل یا دانشی درباره محل دقیق منابع فراهم شده ندارد ولی ممکن است در سطوح بالاتر انتزاعی بتواند محل را تعیین کند (مثل: کشور، استان یا مرکز داده).
مدلهای سرویس رایانش ابر
در تعریف NIST از رایانش ابر، سه مدل سرویس تعریف شده است:
نرم افزار به عنوان سرویس (Software as a Service (SAAS)): در این مدل به عنوان سرویس به مشتری، یک اپلیکیشن کامل ارایه میشود، که این سرویس، همان سرویسی است که مشتری تقاضا کرده است. برخی از این برنامهها عبارتند از: مدیریت ارتباط با مشتری(ارائه شده توسط Salesforce.com)، کنفرانس ویدئویی، سرویسهای پستی و اشتراک دادهها، اسناد گوگل، حسابداری، تجزیه و تحلیل وب، مدیریت محتوای وب.
پلت فرم به عنوان سرویس (Platform as a Service (PAAS)): تمام منابع مورد نیاز برای ساخت برنامهها را تأمین میکند و شامل نرمافزار و سرویسهایی است که به کاربران اجازه میدهد با استفاده از ابزارهای عرضه شده توسط ارائهدهنده، اپلیکیشن و نرمافزار ایجاد کنند. خدمات ارائه شده توسط PAAS طراحی، توسعه، آزمایش، استقرار و میزبانی برنامه است. Google AppEngine و Microsoft Azure دو نمونه در این گروه هستند.
زیرساخت به عنوان سرویس (Infrastructure as a Service (IAAS)): این مدل اساسیترین بخش سرویسهای رایانش ابری است. IAAS سخت افزاری را فراهم می کند که برنامه ارائه شده توسط SAAS و PAAS می تواند روی آن کار کند. زیرساختهای ارائه شده توسط IAAS عبارتند از فضای ذخیره سازی، تجهیزات شبکه و توان محاسباتی. وب سرویس Amazon EC2 یا Elastic Compute Cloud آمازون که عملیات پردازش را انجام میدهد، و یا سرویس ذخیرهسازی Amazon 3S یا Simple Storage Service آمازون از سرویسهای مدل IaaS هستند.
مدل استقرار رایانش ابر
در تعریف NIST از رایانش ابر، چهار مدل استقرار تعریف شده است:
ابر عمومی: خدمات ابر عمومی از طریق ارائه دهنده خدمات شخص ثالث از طریق اینترنت در دسترس مشتریان است. ارائه دهندگان ابر عمومی معمولاً مکانیسم کنترل دسترسی را برای کاربران خود فراهم میکنند و مشتریان از طریق اینترنت به خدماتی که میخواهند دسترسی پیدا میکنند. به عنوان مثال گوگل و آمازون، خدمات خود را از طریق اینترنت در معرض شرکتها و مصرف کنندگان قرار می دهند.
ابر خصوصی: ابر خصوصی هم مشابه ابر عمومی است؛ با این تفاوت که در داخل سازمان و با استفاده از سرویس ابر خصوصی و بدون محدودیت در پهنای باند مدیریت میشود. علاوه بر این، سرویسهای ابری خصوصی با کنترل بیشتر زیرساختهای ابر، امنیت و انعطاف پذیری را به ارائه دهنده و کاربر میدهند.
ابر گروهی: توسط گروهی از سازمانها که دارای منافع مشترک هستند، مانند شرایط خاص امنیتی یا مأموریت مشترک، کنترل و استفاده میشود.
ابر ترکیبی: ترکیبی از یک ابر عمومی و خصوصی است. در این مدل، کاربران معمولاً اطلاعات و پردازشهای غیر تجاری را به ابر عمومی برون سپاری می کنند، در حالی که خدمات و دادههای مهم تجاری را در کنترل خود دارند. این موضوع ممکن است در مورد توزیع برنامهها در محیطهای مختلف، نظارت بر زیرساختهای داخلی و خارجی، امنیت و حریم خصوصی پیچیدگی ایجاد کند، بنابراین ممکن است برای برنامههایی که به پایگاه داده پیچیده یا همگام سازی نیاز دارند مناسب نباشد.
در این مقاله به تاریخچه مختصری از محاسبات ابری، اجزای ابر، مشخصات آن، مدلهای سرویس و مدلهای استقرار ابر پرداختیم. روشن است که در طولانی مدت ارائه دهندگان با موفقیت از چالشهای رایانش ابری عبور کرده و به موفقیتهای بیشتر میرسند.
