امروزه، در تمامی کسب و کارهای کوچک تا بزرگترین شرکتهای جهانی، ابر یا همان Cloud، به دلیل پوشش حوزههای مختلف آنلاین، به موضوع مهم و جداییناپذیری تبدیل شده است. وقتی شما قصد دارید که یک کسب و کار را وارد دنیای ابری کنید، فارغ از این موضوع که کسب و کارتان یک Application باشد یا استقرار یک پروژه زیرساختی، خیلی مهم است که با سرویسهای مختلف ابری آشنا باشید و مزایا و معایب آنها را بدانید.
معمولا سه مدل از سرویس های ابری برای مقایسه با هم وجود دارند:
هر کدام از موارد بالا، مزایا و معایب خود را دارد و برای اینکه بهترین گزینه را برای سازمان یا شرکت خودتان انتخاب کنید، خیلی مهم است که قبل از هر چیز، تفاوت های بین آنها را بشناسید.
همانطور که میبینید، وقتی سروری را خریداری میکنیم و در محل کارمان از آن نگهداری میکنیم، تمام کارها (از شبکهسازی گرفته تا مدیریت) بر عهدۀ خودمان است؛ اما وقتی که از نرمافزاری بهعنوان سرویس (مثلاً یک سایتساز) استفاده میکنیم، مدیریت و نگهداری از آن، کاملاً بر عهدۀ ارائهدهنده سرویس است.
در ادامه چند مثال شناخته شده از انواع سرویسها را برایتان آوردهایم.
کدام سرویس برای شما آشناست؟
نوع سرویس | کاربردهای رایج |
SaaS | Google Apps, Dropbox, Salesforce, Cisco WebEx, Concur, GoToMeeting |
PaaS | AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, OpenShift |
IaaS | DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE) |
دقت کردهاید در این چند ساله اخیر چقدر راحت میتوانیم از بعضی سرویسهای سطح وب به جای نرمافزارها استفاده کنیم؟ مثلا قبلا مجبور بودیم برای نوشتن یک محتوا یا یک تکه متن، نرم افزار آفیس را روی ویندوز نصب کنیم، بعد به سراغ word رفته و در آن بنویسیم. اما امروز به راحتی میتوانیم از google docs کمک بگیریم، آن هم بدون نیاز به نصب هیچ نرمافزاری! یا اصلا همین gmail که بدون نیاز به نصب و دانلود هیچ برنامهای روی تلفن همراه یا رایانه به ما خدمات میدهد.
در واقع همه اینها را مدیون خدمات رایانش ابری و البته SaaS هستیم!
خود واژه SAAS از سرواژه کلمات Software As A Service و به معنای نرمافزار به عنوان سرویس برداشته شده. در واقع saas یکی از بهترین راهکارهایی است که در اختیار شرکتهای نرمافزاری قرار گرفته تا بتوانند به کمک آن یک برنامه را در سطح وب راه اندازی کنند.
در سرویس saas، شرکت شما میتواند نرمافزار مورد نظر را به جای ارائه در فایلهای دانلودی یا فروش روی سی دی، فلاش مموری یا هر نوع فضای ذخیره سازی دیگر، روی یک سیستم ابری بارگذاری کند.
در ادامه دیگر کاربر نیاز به نصب نرمافزار روی سیستمش ندارد. چرا؟ چون پشت صحنه نرمافزار شما دیگر نه روی سیستم کاربر، بلکه روی یک سیستم ابری در یک شرکت ثالث اجرا شده و کاربر صرفا نیاز است به کمک اینترنت به برنامه دسترسی پیدا کند.
البته ممکن است نیاز شما نه اشتراک برنامه با کاربر، بلکه صرفا راهاندازی یک نرم افزار درون شرکتی باشد که روی سیستم اعضای مجموعه فعالیت کند. در این حالت هم SaaS یک راهحل عالی است.
بگذارید یک مثال بزنم تا هم خیال خودم و هم شما را راحت کنم:
الان شما برای استفاده از ابزارهایی مثل Google Sheet (که یک برنامه مشابه اکسل مایکروسافت است) چه نرمافزاری روی سیستم خود نصب میکنید؟ خب در واقع هیچ!
شما همان کارهایی با اکسل میکردید را روی گوگل شیت انجام میدهید؛ بدون آنکه نیاز باشد برنامه خاصی نصب کنید.
خب در واقع اینجا بارِ کارهای پشت صحنه نرم افزار از روی دوش سیستم شما برداشته و به کمک سرویس saas، به عهده یک رایانه ابری گذاشته شده. این یعنی به جای دانلود و نصب گوگل شیت روی رایانه شما، این برنامه الان روی سیستمهای رایانش ابری یک شرکت دیگر سوار شده و به شما خدمات میدهند.
شاید باورتان نشود اما بیشتر نرم افزارهایی که امروز ما از آنها استفاده میکنیم، به کمک سرویسهای SaaS در اختیارمان قرار میگیرند. مثلا سایت jpg2pdf، یک ابزار آنلاین است که تصاویر شما را در کمتر از چند دقیقه و به صورت خودکار به یک فایل pdf تبدیل میکند. در واقع این ابزار روی یک سیستم رایانش ابری از نوع saas بارگذاری شده و تمامی فرآیند بررسی تصویر، دانلود آن، تبدیل به pdf و دوباره آپلود آن، روی این سرویس انجام میشود.
نمونههای دیگر، سایتهایی هستند که به شما در ساخت لوگو یا حتی روتوش عکس بدون نیاز به نصب هیچ برنامه و اپلیکیشنی کمک میکنند. همه اینها هم دقیقا از سرویس saas کمک گرفته و بدون فشار آوردن به رایانهتان، صرفا از طریق یک مرورگر اینترنتی در اختیار شما قرار گرفتهاند.
خب، تا اینجا سعی کردم به سادهترین شکل ممکن شما را با SaaS آشنا کنم. فکر میکنم دیگر وقت آن رسیده که نگاهی جزئیتر به این سرویس و مزایای آن داشته باشیم. در ادامه به ۴ مورد اشاره میکنیم.
خب اولین مزیت استفاده از SaaS، کاهش درگیریهای ذهنی کاربر نهایی با برنامه است. در واقع کاربری که به کمک یک مرورگر به نرمافزارش دسترسی دارد، نیاز به نگرانی بابت بهروزرسانی، مشکلات نرمافزاری و… نخواهد داشت.
مزیت دوم ولی در مورد خود شرکت سازنده نرمافزار است. شرکتی که به جای سرویسهای سنتی و عادی، از سرویس SaaS برای اشتراک گذاری نرمافزارش استفاده میکند، بسیاری از مشکلات سخت افزاری را از روی دوش خود برداشته و آن را به شرکت ارائه دهنده سرویس SaaS منتقل میکند.
و اما مورد سوم، اینکه شرکت سازنده نرم افزار قرار نیست برای اشتراکگذاری نرمافزارش با کاربران نهایی (یا اعضای شرکت خودش) هزینه زیادی برای خرید سخت افزارهای شبکه، زیرساختها و… هزینه کند. بلکه به کمک SAAS، شرکت به اندازه میزان مصرفش، هزینه بابت خدمات پرداخت میکند و قرار نیست دیگر برای خرید یک سرور و تعداد زیادی تجهیزات پول بدهد.
با همه این مزیتها، نکته جالب اینجاست که کارکرد برنامه مورد نظر که روی SaaS سوار شده، نسبت به برنامهای که روی سیستم کاربر سوار است، با هیچ کاهش کیفیت و سرعتی روبرو نیست.
چهارمین مزیتی که در مورد saas میخواهم در این مقاله به آن اشاره کنم، هم مربوط به مشتری و هم سازنده است. احتمالا میدانید ما اغلب باید برای استفاده از نرمافزارهای غیر رایگان، اقدام به خرید فایل آن یا لایسنسش کنیم. اما به کمک SaaS، دیگر نیازی به چنین کاری نبوده و شرکت سازنده میتواند آن را در اختیار کاربرانی قرار بدهد که قبلا اشتراک سیستم را به شکل آنلاین خریداری کرده و الان واردش میشوند.
به این ترتیب یک مرحله سخت که شامل ساخت لایسنس و… بود از دوش سازنده برداشته شده و همینطور به راحتی بیشتر کاربران کمک میکند.
علاوه بر همه مزیتهای گفته شده، SaaS بهطور خلاصه شامل این مزیتها هم هست:
اگر به عنوان یک شرکت یا استارتاپ فعال در وب این سوال را میپرسید، در چنین شرایطی SaaS به دردتان میخورد:
میخواهم paas را به شما به زبانی ساده معرفی کرده، توضیح بدهم چه ویژگیهایی دارد و همینطور چه مزایایی را در اختیار توسعه دهندگان قرار میدهد؟
سرویس PAAS از سرواژههای عبارت Platform As A Service برداشته شده و به معنی پلتفرم به عنوان سرویس است. در واقع PaaS بعد از IaaS و قبل از SaaS، لایه دوم سرویس پلتفرم ابری است که در اختیار توسعهدهندگان قرار میگیرد.
PaaS یک چارچوب (framework) برای توسعه دهندگان فراهم می کند که از می توانند از آن برای ایجاد برنامههای سفارشی استفاده کنند.
PaaS توسعهدهندهها را از خرید یا اجاره مستقیم سیستمهای زیرساختی و سختافزاری مثل زیرساخت شبکه، سرور، سیستم عامل مورد نیاز و… بینیاز میکند.
در این مدل تمامی امور مربوط به سرور، ذخیره سازی و شبکه توسط یک شرکت یا ارائهدهنده به عنوان واسط، مدیریت می شود؛ در این صورت توسعهدهندگان میتوانند تنها بر روی توسعه و مدیریت برنامه خود تمرکز کنند.
مثلا در حال حاضر، برنامهنویسان میتوانند با اتصال به سرویس Microsoft Azure که یکی از سرویسهای زیرمجموعه شرکت مایکروسافت است، بدون نیاز به انواع نرمافزار و دیگر زیرساختهای نگهداری اطلاعات، شروع به برنامهنویسی کنند.
ببینید، شاید اگر بخواهم همه قابلیتهای PAAS را به شما توضیح بدهم، نیاز باشد به اندازه کل این مقاله مطلب بنویسم. اما در ادامه صرفا به شکل خلاصه به ویژگیها و قابلیتهای این سرویس اشارهای میکنم تا بیشتر با آن آشنا شوید:
برای اینکه بهتر متوجه منظورم از این بخش مطلب بشوید، باید بگویم یک سرویس مثل Microsoft Azure، همه این جزئیات را درون خودش، در یک فضای ابری، به توسعه دهندگان ارائه میکند! همه در یکی!
حالا بعد از اینهمه تعریف، اصلا چرا برنامه نویسان و توسعه دهندگان نرم افزار، باید اقدام به استفاده از سرویس paas کنند؟ در ادامه و با توضیح مزایای این سرویس، خودتان به خوبی دلیل این موضوع را متوجه میشوید:
یکی از قابلیتهای جذاب paas که باعث جذب توسعهدهندگان نرم افزار به سمت آن شده، قابلیت خصوصی شدن آن است. این یعنی شما به عنوان یک برنامهنویس میتوانید قابلیتهایی که سرویس paas در اختیارتان میگذارد را نسبت به نیازهایتان کم و زیاد کرده و از آنها نهایت استفاده را داشته باشید.
سرویس دهندگان PaaS، همیشه پلتفرم و جزئیات آن را بهروز نگه میدارند. این یعنی شما به عنوان یک توسعهدهنده نیاز به نگرانی بابت بهروزرسانی مداوم سیستمها، زیرساختها، نرم افزار و سخت افزار نداشته و میتوانید بدون درگیر کردن ذهنتان به این موضوعات فنی، صرفا روی تولید یک نرم افزار و محصول نهایی عالی تمرکز کنید.
یک لحظه شرایطی را برای خودتان متصور شوید که مجبور باشید بدون وجود یک پلتفرم PaaS، اقدام به کدنویسی و تست دائم نرم افزار کنید. احتمالا در چنین حالتی نیاز دارید هزینههای زیادی را برای اجاره زیرساختهایی مثل سخت افزارها و سرورها بدهید. همینطور نیاز به بررسی مداوم این سخت افزارها، بروزرسانیشان، رفع مشکلات احتمالی و… خواهید داشت. مطمئنا همه اینها، هم از نظر زمانی و هم از نظر مالی، هزینههای زیادی را به شما تحمیل میکنند.
در ادامه باید این را بدانید که در پلتفرم paas، قرار به صرف هزینه زمانی برای نگهداری از شبکه نیست. همینطور در این پلتفرم قرار نیست شما مقدار زیادی هزینه پرداخت کرده و فضاهای ذخیرهسازی اطلاعات و سخت افزارهای سنگین بخرید. شما صرفاً به اندازه آنچه از آن استفاده کردهاید میپردازید! بله! همه کاربران این سرویسها، فقط به اندازه مصرفشان پول میدهند و نه چیزی بیشتر.
اگر تا الان وارد دنیای توسعه نرم افزار به شکل جدی و در مقیاسهای بزرگ شده باشید، میدانید که نگهداری از زیرساختها نیاز به یک یا چند نفر نیرو متخصص و دائم دارد. در مقابل و در زمان استفاده از paas، با توجه به اینکه فعالیت نگهداری و حل مشکلات زیرساختها به عهده یک شرکت سوم است، نسبت به استخدام متخصصان این حیطه بینیاز میشوید.
تا همین چند وقت پیش هنوز خیلی از تیمها اصرار داشتند باید تمام فعالیتهای برنامه نویسی و توسعه نرم افزار از درون شرکت و به شکل حضوری انجام شود. اما بعد از بحران کرونا و بعد از اینکه شرکتها مجبور به ادامه فعالیت به شکل دورکاری شدند، اهمیت فعالیتهای از راه دور بیشتر از قبل پررنگ شد.
در این میان مجموعههایی که از PaaS استفاده میکردند، با کمترین مشکلات روبرو شدند. چرا؟ چون در واقع برای ادامه فعالیت و توسعه محصول از طریق این پلتفرمها، صرفا یک خط اینترنت و رایانه مورد نیاز بوده و دیگر نیاز به زیر ساختهای تخصصی حذف شده است. این موضوع، ارتباط از راه دور و ادامه همکاری را به شدت راحت کرده.
با سیستمهای PaaS، شما میتوانید از هر مکان و از هر سیستمی، به اطلاعاتتان دسترسی داشته باشید.
اول از همه و با توجه به اینکه paas یک سرویس ابری است، امنیت بالاتری نسبت به سرویسهای عادی و مجازی دارد. نکته بعدی اینکه این سرویسها به دلیل داشتن فضای ذخیره سازی زیاد، دائما از دادههای شما پشتیبان ذخیره کرده و امنیت آنها را تضمین میکنند.
با توجه به ابری بودن این سیستم، ایمنی بالاتری هم متوجه آن است. این یعنی حتی اگر اطلاعات شما در یکی از سرورها به دلایلی به مشکل بخورد، دیتاها به کمک دیگر سرورها نگهداری شده و در دسترس تیمتان یا خودتان قرار میگیرد. به این صورت دیگر نگرانیهای مربوط به بحث امنیت و ایمنی به کل از بین میرود.
در حال حاضر شرکت پیشرو در این زمینه، شرکت مایکروسافت با سیستم Microsoft Azure است. اما علاوه بر آن، شرکتهای دیگری مثل گوگل هم در این فضا بیکار ننشستهاند. گوگل سرویس PaaS خود را با نام Google AppEngine به توسعه دهندگان معرفی کرده که البته طبق روال همیشگی، استفاده از آن برای ما ایرانیان با محدودیت همراه است. علاوه بر اینها، سرویس Force یکی دیگر از دیگر پلتفرمهای معتبر در این زمینه است که در اختیار شما
موقعیت های زیادی وجود دارد که استفاده از مدل PaaS مفید یا حتی ضروری است. اگر چندین توسعه دهنده بر روی یک پروژه یکسان فعالیت می کنند یا در صورتی که سایر فروشندگان بایستی در پروژه سهیم باشند، PaaS می تواند سرعت و انعطاف پذیری را در کل فرآیندهای اجرایی، بهبود ببخشد. همچنین در صورتی که می خواهید برنامه سفارشی شده خود را ایجاد نمایید، PaaS می تواند برای شما مفید باشد. این سرویس ابری هزینه های زیادی را کاهش داده و چالش هایی را که در کندی توسعه و پیادهسازی یک برنامه اثر دارند را برطرف می سازد.
در بخش بعدی با IaaS آشنا میشوید.
اولین و پایهایترین لایه در خدمات رایانش ابری، IaaS است که قبل از لایههای SaaS و PaaS قرار گرفته. این خدمات ابری امروز یکی از بهترین راهکارها برای حل مشکلات شرکتهای بزرگِ نیازمند نگهداری اطلاعات هستند.
اگر شما یا شرکت شما نیازمند نگهداری از اطلاعات، تحلیل داده و… هستید، نگران نباشید. در این بخش با زبانی ساده و همراه با مثال، همه چیز را در مورد سیستمهای IaaS یاد میگیریم.
زیرساخت به عنوان سرویس یا همان Infrastructure as a Service، به نحوی مهمترین خدمات در دنیای رایانش ابری است. در این سرویس، شرکت و مجموعه میتوانند به جای خرید یا اجاره یک سرور برای نگهداری از دیتاها و اطلاعات کسب و کار، به اندازه نیاز، فضای ابری در اختیار گرفته و از آن استفاده کنند. بگذارید با یک مثال موضوع را برایتان روشن کنم:
تصور کنید شما یک شرکت بزرگ در زمینه فروش محصولات دیجیتالی مثل موبایل و رایانه هستید. زمانی که تعداد محصولات شما زیاد شده و همینطور مشتریان زیادی هم داشته باشید، نیاز دارید اطلاعات زیادی را در سرورهای خودتان ذخیره کنید. در این بین و بعد از مدتی، ممکن است نگهداری این اطلاعات روی سرورهای خود سایت، باعث کاهش سرعت آن و البته کاهش سرعت فعالیتهای مجموعه بشود. پس احتمالا مجبور میشوید به جای این سرورها، سراغ سرورهای مجازی یا اختصاصی بروید.
IaaS خدمات خود را به صورت کامل برای دسترسی و نظارت بر چیزهایی مانند محاسبات، شبکه سازی، ذخیرهسازی و سایر سرویسها فراهم می سازد و به کسب و کارها اجازه میدهد تا بهجای خریداری منابع سختافزاری ثابت، بر اساس نیاز و تقاضای خود از منابع استفاده کنند. در ادامه میخواهم به رایجترین کاربردهای IaaS که شرکتهای مختلف به خاطرشان اقدام به خرید این خدمات میکنند، اشاره کرده و آنها را برایتان توضیح بدهم.
امروزه بخش اعظمی از فعالیت کسب و کارهای اینترنتی و حتی بعضی از کسب و کارهای فیزیکی، به تحلیل دادهها و اطلاعات به دست آمده از مشتری، محصول و خدمات اختصاص پیدا کرده. حالا در این میان زمانی که حجم داده بزرگ باشد، نه تنها برای ذخیره آنها بلکه برای تحلیلشان نیاز به ساختارهای قدرتمند حس میشود. IaaS با توجه به ساختار ابری و زیرساخت انعطافپذیر و قویاش، میتواند در تحلیل دادهها کمک زیادی به شرکتهای بزرگ بکند.
با توجه به امنیت و یکپارچه بودن سیستم رایانش ابری، شرکتهایی که از آن استفاده میکنند نگرانی کمتری نسبت به ایمنی اطلاعات خودشان داشته و میتوانند برای بازیابی اطلاعات، روی آن حساب کنند.
اغلب محصولات اینترنتی و نرمافزاری قدرتمند، مثل اپلیکیشنهای همهگیر یا نرم افزارهای حسابداری بزرگ، برای ورود به بازار نیاز به گذراندن آزمایشهای مختلفی دارند. علاوه بر این، این اپلیکیشنها و نرمافزارها برای توسعه و افزایش کارایی هم نیازمند فضای ذخیرهسازی و البته ساختار قدرتمند نرمافزاری و سختافزاری قوی هستند. اینجاست که باز هم پای IaaS وسط آمده و در این پروسه، به مجموعهها کمک زیادی میکند.
مانند ۲ لایه دیگر رایانش ابری که راجعبهشان صحبت کردیم، لایه IaaS نیز مزایایی دارد که در این بخش به آنها اشاره میکنیم.
سرویسهای ابری نسبت به سرویسهای فیزیکی و ثابت در محل، امنیت و ایمنی بسیار بالاتری دارند. مثلا اگر برحسب اتفاق یا اصلا بلایای طبیعی، اطلاعات مجموعه شما در یکی از سرورهای رایانش ابریتان از بین برود، بقیه سرورهای موجود در زیرساخت ابری، اطلاعات را در اختیارتان قرار میدهند! بنابراین نه تنها آنها را از دست نمیدهید بلکه به راحتی میتوانید به ادامه فعالیتهای شرکتتان مشغول شوید.
احتمالا میدانید که هیچ شرکت هاستینگی در دنیا ادعای ۱۰۰ درصد بودن زمان up-time را ندارد. اما اصولا با توجه به اینکه در خدمات رایانش ابری، چندین سرور مختلف از اطلاعات شما نگهداری میکنند، اطلاعات موجود در سرورهای ابری IaaS شما، همیشه در اختیارتان قرار گرفته و این سرویس، آپ تایم بسیار بسیار بالایی دارد.
در اغلب مواقع زمانی که قصد خرید سرورهای سنتی و عادی برای نگهداری از اطلاعات مجموعهتان را داشته باشید، خیلی دستتان برای انتخاب جزئیات باز نیست. یا حداقل اگر نیاز به گسترش کار داشته باشید، شاید کمی برای افزایش توان و زیرساخت سرورها به مشکل بخورید. اما در مورد IAAS دیگر چنین مشکلاتی وجود ندارد و میتوانید به راحتی و با توجه به انعطافپذیر بودن این سرویس، ترکیبهای مورد نظرتان را از ارائه دهنده درخواست کنید. (مثلا افزایش تعداد cpuها)
و در نهایت اینکه شرکتها در زمان استفاده از IaaS و البته دیگر خدمات رایانش ابری، نیاز ندارند بیش از مصرفشان پول بپردازند! این یعنی شرکت در هر بازه زمانی صرفا به اندازه آن مقداری پول پرداخت میکند که طی آن، از سرویسها استفاده کرده باشد.
IaaS، زیرساخت های محاسباتی ابری شامل سرورها، شبکه، سیستم های عملیاتی و ذخیره سازها را از طریق تکنولوژی مجازیسازی (Virtualization) در اختیار سازمانها قرار می دهد.
این سرورهای ابری معمولا از طریق یک داشبورد یا API در اختیار مشتری قرار میگیرند و بعد از آن مشتریهای IaaS، اختیار کاملی بر روی تمامی زیرساخت ارائه شده دارند.
IaaS قابلیتها و فناوریهای مشابهی مانند یک دیتاسنتر سنتی ارائه می کند، با این تفاوت که نیازی به مدیریت و نگهداری فیزیکی از سرورها نیست. کاربران IaaS میتوانند بر روی سرورها و هاردهای خود دسترسی مستقیم داشته باشند، اما این دسترسی از طریق یک دیتاسنتر مجازی که بر روی ابر قرار دارد، انجام میشود.
برخلاف SaaS و PaaS، در این مدل، کاربران مسئولیت مدیریت و بررسی مواردی همچون برنامهها، سیستم عاملها، زمان اجرا، میانافزارها و دادهها را بر عهده دارند. با این حال، ارائه دهندگان IaaS، سرورها، هارد دیسکها، شبکه، مجازیسازی و ذخیرهسازی را مدیریت میکنند. بعضی ارائهدهندگان نیز خدمات بیشتری خارج از لایه مجازساز، مانند پایگاههای داده و صفهای پیام را نیز ارائه میکنند.
کلیه حقوق مادی و معنوی این سایت متعلق به آسان رایان می باشد
Registrant Rights and Responsibilities