رایانش ابری چیست همراه با مثالهایی از آن
رایانش ابری در دنیای امروزی تبدیل به یکی از بهترین راهکارهای موجود برای کاهش هزینهها، افزایش امنیت اسناد، افزایش قدرت پردازش، کاهش نیرو و انرژی مصرفی شده است. با این سیستم در دسترس میتوان محدودیتهای مکانی را کاملا حذف کرد و تجربه کاربری بسیار خوبی برای استفادهکنندگان از سرویسها ارائه نمود.
اگر اولین بار است که با این نام مواجه میشوید و یا علاقهمند به کسب اطلاعات بیشتر درباره نحوه عملکرد cloud computing هستید، پیشنهاد میکنیم تا با ادامه مقاله همراه باشید. سعی شده است تا با ارائه مثالهایی ساده و روان در کنار تعریفهایی عمیق، شما را در رسیدن به درک درستی از سیستم ابری یاری نماییم.
فهرست عناوین مقاله
ماهیت رایانش ابری و هدف از توسعه آن
برای پیبردن به ماهیت رایانش ابری بهتر است ابتدا به نام آن توجه کنیم (Cloud computing)، این واژه از دو قسمت cloud یعنی ابر و computing یعنی محاسبه ساخته شده است. با ترکیب این دوکلمه میتوان به این نتیجه رسید که سیستم پردازش ابری بهمنظور انجام محاسبات در فضایی خارج از کامپیوتر خصوصی خلق شده است.
برای درک بهتر با مثالی همراه باشید. فرض کنید قصد طراحی و توسعه سایتی را در سر میپرورانید. یکی از لازمههای شروع به کار سایت، استفاده از سرور یا منبعی برای محاسبات کدهای ارسالی و دریافتی است. یعنی زمانی که فردی یک صفحه از سایت شما را در اینترنت باز میکند بایستی محاسباتی انجام شود تا ظاهر طراحی شده توسط شما برای آن فرد نیز نمایش داده شود. فرض شود سایت را بر روی کامپیوتر شخصی خود سوار کرده و به دنیای اینترنت معرفی کردید.اگر روزانه (حداقل) 200 نفر وارد سایت شما شوند که کمترین میزان ورودی یک سایت است، سیستم شما باید عملیات زیر را 200 بار تکرار کند:
- درخواستهای بازدیدکننده را بررسی و بر روی سیستم شما دانلود کند.
- بر اساس درخواستها، کدهای سایت را محاسبه و نتیجه دقیق را به دست آورد.
- نتیجه را همراه با عکس، ویدئو، پادکست و یا هر رسانه دیگر برای کاربر آپلود کند.
این سه درخواست و عملیات (بهصورت کاملا ساده مثال زده شد و عملیات بارگذاری سایت بسیار پیچیدهتر است) برای یک صفحه از سایت شما است. یعنی اگر هر بازدیدکننده مثلا 3 صفحه از سایت شما را باز کند و این عمل توسط 199 نفر دیگر نیز انجام شود، نیاز به مقدار زیادی انرژی (برای تامین نیروی سیستم)، سیستمی واقعا قدرتمند (برای انجام هرچه سریعتر محاسبات)، اینترنتی با حجم بالا و سرعت فراتر از قابلقبول (برای بارگذاری هرچه سریعتر فایلها) دارید.
هدف اصلی رایانش ابری کاهش هزینههای یاد شده و مصرف نیرو بود، اما امروزه باعث رفع مشکلات زیادی در شبکههای کامپیوتری که، یادآور کابوسهای بزرگی در کمپانیها میشود، شده است.
افزایش امنیت اسناد، دسترسی سریعتر به منابع موجود، بهرهوری بهتر، کارایی بیشتر و… از جمله مزیتهای سرویس ابری است.
معماری رایانش ابری و معرفی ساختار کلی آن
برای خلق سرویسی که بتوان با استفاده از آن بسیاری از مشکلات و محدودیتهای موجود مانند بارگذاری، دانلود، محاسبه، مصرف نیرو و انرژی را حل کرد، نیاز بود تا تمامی این عملیاتها و نیازها به مکانهای مخصوص به این کار انتقال داده شود. ازاینرو شرکتهایی مانند آمازون و اپل شروع به ایجاد و توسعه پروژهای بر این مبنا کردند.
در ابتدا هدفشان از توسعه سرورهای خود در نقاط مختلف جهان، دسترسی سادهتر و آسانتر کاربران به منابع و محصولات خود بود؛ اما بعدها برخی شرکتها مانند آمازون سرورهای خود را بهمنظور استفاده عموم نیز توسعه دادند.
در حقیقت معماری رایانش ابری بر پایه سرور رومهایی (server room) است که در نقاط مختلف جهان برای این کار ساخته شدهاند. برای درک بهتر به مثال قبلی بازمیگردیم. با بررسی مشکلات و نیازهای یک سایت ساده با بازدید حداقلی 200 نفر در روز باید ماهانه هزینهای را پرداخت کنید که شاید درآمد سایت شما نصف آن هم نباشد. ازاینرو شرکتهایی هستند که کامپیوترهای بزرگی و نیرومندی (همان سرورها) را با اتصال قدرتمند به اینترنت، به افرادی که نیاز دارند اجاره میدهند.
شما با پرداخت هزینهای ماهیانه، مقدار فضایی باقدرت پردازشی مشخص و متصل به اینترنت پرسرعت در اختیار میگیرید. پس اگر دوباره به معماری رایانش ابری بازگردیم متوجه خواهیم شد که برای پیادهسازی این سیستم نیاز به پایگاههای مختلف از نقاط متفاوت جهان است که خدمات خود را اجاره میدهند.
این پایگاهها همان سرور روم هستند که در تعریف سرور روم برای افرادی که با آن آشنایی ندارند باید گفت: همان کامپیوترهای شخصی (البته بدون موس، کیبورد و صفحهنمایش) باقدرت پردازشی بیشتر هستند که به تعداد زیاد در مکانهای مخصوص نگهداری میشوند.
انواع رایانش ابری
همه سیستمها و سرویسهای ابری یکسان نبوده و هر یک معماریهای متفاوتی از نظر محاسباتی ارائه میدهند. برای تعیین نوع نیاز خود به کلود کامپیوتینگ بهتر است تا ابتدا تعیین کنید که چه نوع رایانش ابری برای استقرار و پیادهسازی اطلاعات شما مناسب است. در حالت کلی سه نوع رایانش ابری دررابطه با این مورد وجود دارد:
Public cloud
در لغت به معنای ابر عمومی است. در واقع ارائهدهندههای این نوع رایانش ابری خدمات خود را بهصورت اینترنتی ارائه میدهند و شما از طریق سایت شرکت مذکور قادر به مدیریت حساب خود خواهید بود. نکتهای که وجود دارد، صاحب زیر ساختها (سرورها) شرکتهای ارائهدهنده هستند.
Private cloud
این نوع ابر که با نام ابر خصوصی یاد شد، منحصرا برای یک کسبوکار و یا شرکت استفاده میشود. به صورتی که حتی میتوان یک ابر خصوصی را بهصورت فیزیکی در یک مکان یا مرکز اطلاعات آن شرکت نگهداری کرد. برخی از شرکتها، برای میزبانی از ابرهای خصوصی خود به شرکتهای فعال در این حوزه هزینه پرداخت میکنند.
Hybrid cloud
به ترکیب دو مورد قبلی هیبرید کلود یا ابر ترکیبی گفته میشود. بهنوعی با ترکیب نوع خصوصی و نوع عمومی ابرها با تکنولوژی خاصی، دادهها، اطلاعات، اسناد و برنامهها میان این دو نوع ابر به اشتراک گذاشته میشود. با این نوع ابر میتوان انعطافپذیری و امکانات بیشتری به کسبوکار بخشید.
دستهبندیهای مختلف رایانش ابری
سیستم کلود کامپیوتینگ یا همان سیستم ابری، بر اساس خدماتی که ارائه میکند به 4 دسته اصلی تقسیمبندی میشود.
- زیرساخت بهعنوان سرویس infrastructure as a service (IaaS)
- پلتفرم بهعنوان سرویس platform as a service (PaaS)
- بدون سرور یا serverless
- software as a service (SaaS) یا همان نرمافزار بهعنوان سرویس.
در ادامه به معرفی و بررسی کامل این 4 دستهبندی بهعنوان سرویسهای رایانش ابری خواهیم پرداخت.
Infrastructure as a service (IaaS)
زیرساخت بهعنوان سرویس یا Iaas یکی از چهار دسته سیستم رایانش ابری است که استفاده از منابع و سرورهای موجود را بر اساس نیاز کاربر امکانپذیر میکند. با این سرویس و مولفههایی که در اختیار اجارهکنندگان قرار میگیرد، میتوان هزینههایی مانند خرید و نگهداری سرور، نگرانی دررابطهبا زیر ساختهای موردنیاز برای توسعه برنامهها و خدمات، میزان فضای ذخیرهسازی موردنیاز و… را تا هر زمانی که بخواهید، حل کرد.
به این معنی که اگر نیاز است تا برای مثلا 6 ماه سیستمی باقدرت پردازشی مشخص همراه با فضای ذخیرهسازی معین داشته باشید، دیگر نیاز به خرید سرور و پرداخت هزینههای اضافی نگهداری آن نیست و Iaas این مشکل را برای شما حل میکند. حتی اگر بعد از 6 ماه نیاز داشتید تا منابع سروری خود را مثلا دوبرابر کنید، بازهم این سرویس شما را یاری خواهد کرد.
Platform as a service (PaaS)
پلتفرم بهعنوان سرویس یا Paas نوع دیگری از دستهبندی سرویس ابری است که برای توسعهدهندههای سایت و نرمافزار، بسیار کاربردی و مفید است. در واقع با این سرویس توسعهدهندهها قادر به ارائه، آزمایش، مدیریت و توسعه برنامهها بر اساس نیاز و تقاضای خود خواهند بود. با این سرویس دیگر نیازی نیست تا توسعهدهندهها نگران زیرساختهای اساسی مانند فضای ذخیرهسازی، اینترنت، دیتابیس و… سرورها باشند.
همانطور که از توضیحات میتوان دریافت، این نوع سرویس رایانش ابری برای انجام محاسبات، پلتفرم یا سکوهایی را در اختیار شما قرار میدهد که شامل سیستمعامل و محیطهای برنامهنویسی نیز است. مثالهای بارز این نوع سرویس (Paas): Microsoft Azure، AWS Elastic و Google App Engine هستند.
Serverless computing
نوع دیگری از دستهبندی رایانش ابری است که به کاربر این امکان را میدهد که بدون نیاز به مدیریت زیرساختهای موردنیاز مانند سرور، فضای ذخیرهسازی، دیتابیس و… به ساخت و توسعه نرمافزار خود بپردازد. در حقیقت تمامی کدها و محاسبات بر روی سرور انجام میگیرد و در اصطلاح، پردازش ابری میشود. اما منظور از کلمه serverless یا بدون سرور، استفادهنکردن از سرور برای انجام این محاسبات و اجرای کدها نیست.
در واقع با استفاده از این نوع سرویس رایانش ابری دیگر نیازی به مدیریت سرور نخواهید داشت و تمامی مدیریتها در خفا و به تعبیری دیگر، بهصورت نامرئی اجرا میشود. دلیل نامگذاری Serverless computing هم همین موضوع است وگرنه برای اجرای هر سایت، برنامه و سرویسی نیاز به سرور ضروری است.
Software as a service (SaaS)
در نهایت آخرین سرویس کلود کامپیوتینگ، Saas یا همان نرمافزار بهعنوان یک سرویس نام دارد. این مورد در ارائه خدمات در بستر اینترنت کارایی داشته و بر اساس تقاضا و نیاز، بهصورت اشتراکی اجاره داده میشود. با این نوع سرویس، برنامهها و نرمافزارهای کاربردی با استفاده از اینترنت برای کاربران ارائه داده میشود. ارائهدهندگان این سرویس کارهایی مانند افزایش امنیت، ارتقای نرمافزار، تعمیر و نگهداری و هرگونه زیرساختی را میزبانی و مدیریت میکنند.
مثالهایی از این نوع سرویس که بسیار هم محبوب هستند شامل: سیستمهای حسابداری، سیستم مدیریت ارتباط با مشتریان، مدیریت منابع انسانی و… که توسط شرکتهای بزرگی همچون مایکروسافت، اوراکل و آیبیام طراحی و توسعه داده میشوند.
کاربرد رایانش ابری در طراحی و توسعه خدمات
شاید الان که دارید این مقاله را مطالعه میکنید ممکن است بیش از چندین بار از سرویس رایانش ابری استفاده کرده باشید بدون آنکه متوجه شوید. تابهحال فیلمی را بهصورت آنلاین و بدون دانلود کردن تماشا کردهاید؟ یا موزیکی گوش کرده و یا حتی بازی تحت شبکه و آنلاینی انجام دادهاید؟ اگر یکی از این کارها را نیز انجام داده باشید، در حقیقت از کاربردهای رایانش ابری بیبهره نبودهاید. در ادامه به معرفی برخی از مهمترین کاربردهای رایانش ابری پرداخته شده است.
ساخت برنامههای ابری
با استفاده از سرویس پردازش ابری قادر خواهیم بود تا نرمافزارهای تحت وب یا حتی اپلیکیشنها و APIها را در کمترین زمان و با استفاده از تکنولوژیهایی نظیر معماری میکروسرویسها و ارتباطات مبتنی بر API و… طراحی و مستقر کنیم.
ذخیره، بازیابی و پشتیبانگیری از اطلاعات
با سیستم cloud computing اطلاعات، اسناد، ویدئوها، تصاویر و هر نوع فایلی را با امنیت بیشتر و در فضای ذخیرهسازی بسیار بزرگتر ذخیره کنید. با استفاده از این نوع کاربرد سیستم ابری، در هر زمانی و در هر مکانی بدون دسترسی به سیستم شخصی، میتوانید به اطلاعات و اسناد خود دسترسی پیدا کنید. برای این کار تنها نیاز به اتصال اینترنت خواهید داشت. استفاده از این سرویس، در هزینههای نگهداری اطلاعات شرکتهای بزرگ صرفهجویی میکند.
مقاله امنیت در رایانش ابری را از دست ندهید.
استریم ویدئو و صدا
تابهحال از سایت Twitch استفاده کردهاید؟ در این سایت اغلب گیمیرها به پخش آنلاین بازی خود برای مخاطبان میپردازند. در حقیقت یکی از کاربردهای سیستم ابری، پخش صدا و تصویر در هر زمانی و در هر مکانی بوده و تنها لازمه این کار اتصال به اینترنت است. لایو اینستاگرام، یا اسپیک روم (speak room) توییتر از جمله مثالهایی برای این کاربرد رایانش ابری است.
ارائه نرمافزارهای موردنیاز
Saas یا همان software as a service این امکان را به کاربران میدهد تا به نرمافزارهای موردنیاز خود بر اساس آخرین ورژن و بروز رسانی در هر مکان و در هر زمانی دسترسی داشته باشند. برای مثال اگر شرکت شما نیاز به یک نرمافزار حسابداری دارد، بهراحتی و بدون نیاز به نصب و توسعه آن در شبکه شرکت، با رایانش ابری و به آخرین ورژن نرمافزار درخواستی دست خواهید یافت.
ساخت و آزمایش اپها
طراحان و توسعه دهندگان اپلیکیشنها بهراحتی میتوانند با پردازش ابری اقدام به ساخت و تست نرمافزارهای خود کنند. این کار باعث کاهش هزینههای طراحی در کنار زمان شده و در مقیاسهای بزرگ و کوچک میتوان از این کاربرد کلود کامپیوتینگ استفاده کرد.
تحلیل دادهها
علاوه بر امکان ذخیرهسازی اطلاعات توسط سیستم رایانش ابری، کاربران با دستهبندی بهینه این اطلاعات در ابر خود و با کمک سیستم هوش مصنوعی، نتیجهگیریهای خوبی به دست میآورند که در توسعه و پیشرفت کسبوکارها بسیار موثر است.
مزایای و معایب استفاده از رایانش ابری
هر سرویس و سیستمی مانند رایانش ابری دارای مزایای و معایبی است که ممکن است فردی را ترغیب به استفاده از آن و یا حتی کسی که قبلا از آن استفاده میکرد را دلزده کند. ازاینرو در ادامه به معرفی مهمترین مزایا و معایب سیستم رایانش ابری پرداختهایم.
مزایا:
- افزایش امنیت اطلاعات ذخیرهسازی شده
- پشتیبانگیری و بازیابی اطلاعات
- کاهش و حتی حذف هزینههای خرید و نگهداری سرور
- حذف هزینههای نصب و توسعه برنامهها برای شبکه کامپیوتری سازمانها
- استفاده از سرویس رایانش ابری بر اساس نیاز (چه از نظر زمانی و چه از نظر سختافزاری)
- بهبود همکاری
- دسترسی عالی
- دسترسی به اطلاعات در هر زمانی و هر مکانی بدون دسترسی به سیستم شخصی خود
- فضای ذخیرهسازی نامحدود
معایب:
- استفاده از سیستم رایانش ابری نیازمند دسترسی به اینترنت است.
- در هنگام انتقال اطلاعات از یک سرویسدهنده به سرویسدهنده دیگر با مشکلات زیادی مواجه خواهید شد.
- به دلیل مدیریت کامل و میزبانی سرویسدهندههای رایانش ابری، کنترل محدودتری بر عملکرد و زیر ساختهای خود دارید.
- با وجود استفاده از برترین اقدامات امنیتی در راستای حفظ حقوق مصرفکنندگان، بازهم امکان لورفتن اطلاعات ارگانها و سازمان توسط هکرها وجود دارد.
جمعبندی
سیستم رایانش ابری یا cloud computing سرویسی است برای اجرای بهتر برخی نیازهای شرکتها، توسعه دهندگان و حتی افراد معمولی. اگر تابهحال بهصورت آنلاین ویدئو یا صدایی را گوش کرده باشید و یا حتی برخی فایلهای خود را در اینترنت ذخیره کردهاید (مانند گوگل درایو) تجربه استفاده از رایانش ابری را دارید.
در این مقاله با تعریف و بررسی رایانش ابری و توضیح معماری و انواع مختلف آن، در نهایت مزایا و معایب این سرویس را نیز بازگو کردیم که امید است برای خوانندگان مفید بوده باشد.