آنچه در این مقاله میخوانید:
- ابر چیست؟
- سه مدل اصلی سرویس ابری چیست؟
- پلتفرم ابری چیست؟
- تفاوت پلتفرم ابری با محیطهای توسعهی میزبانی داخلی چیست؟
- پلتفرم ابری چه خدماتی ارائه میدهد؟
- چرا توسعهدهندگان از پلتفرم ابری استفاده میکنند؟
- معایب احتمالی استفاده از پلتفرم ابری چیست؟
ابر یا cloud، با داشتن ویژگیهای منحصربهفرد یکی از موضوعات جذاب برای کسب و کارهای آنلاین است. برای انتقال کسب و کار خود به سرویسهای ابری بهتر است ابتدا با مدلهای مختلف سرویس ابری آشنا شوید تا بتوانید متناسب با نیازهای خود بهترین سرویس ابری را انتخاب کنید. سرویسهای ابری شامل سه مدل زیرساخت به عنوان سرویس (Infrastructure-as-a-Service – IaaS) ، پلتفرم به عنوان سرویس (Platform-as-a-Service – PaaS) و نرمافزار به عنوان سرویس (Software-as-a-Service – PaaS) هستند. پلتفرم به عنوان سرویس یا پلتفرم ابری ابزارهای لازم جهت توسعهی یک برنامه را در اختیار توسعهدهندگان قرار میدهد.
ابر چیست؟
کلمهی ابر به سرورها، پایگاههای داده و نرمافزارهایی که بر روی آنها اجرا میشوند و از طریق اینترنت قابل دسترسی هستند اطلاق میشود. این سرورها در سراسر جهان پراکنده شدهاند. با استفاده از سرویسهای ابری، محاسبات و ذخیرهسازی به جای سیستم کاربر بر روی این سرورها انجام میگیرد. به طور مثال با استفاده از سرویسهای ابری شما میتوانید با دستگاههای متفاوت و از مکانهای مختلف به اکانت اینستاگرام خود متصل شوید. ارائهدهندگان ایمیل مانند gmail و ارائهدهندگان ذخیرهسازی ابری هم با استفاده از همین روش کار میکنند.
سه مدل اصلی سرویس ابری چیست؟
مدلهای سرویس ابری دستههایی از خدمات هستند که ارائهدهندگان ابری به کاربران و مشاغل ارائه میکنند.
-
زیرساخت به عنوان سرویس
به کامپیوترها و سرورهایی که کد را ذخیره و اجرا میکنند و سیمها و وسایلی که بین آنها ارتباط برقرار میکنند، زیرساخت میگویند. به طور مثال سرورها، هارددیسکها و روترها از اجزای تشکیلدهندهی زیرساخت هستند. قبل از به وجود آمدن رایانش ابری، بیشتر کسب و کارها با ایجاد زیرساختها در محل خود، میزبانی برنامههایشان را بر عهده میگرفتند.
زیرساخت به عنوان سرویس، بهترین راهکار برای شرکتهایی است که نیازمند زیرساخت برای نگهداری و پردازش (محاسبات) اطلاعات خود هستند. با استفاده از زیرساخت به عنوان سرویس میتوانید ذخیرهسازی، محاسبات، شبکهسازی و … را در فضای ابری انجام دهید. در مدل زیرساخت به عنوان سرویس، نگهداری و مدیریت سرویس هم بر عهدهی شرکت ارائهدهنده است. این سرویس برای کسب و کارها مقرونبهصرفه است و در صورت افزایش حجم اطلاعات یا افزایش نیاز محاسباتی فقط کافیست فضای ذخیرهسازی و منابع پردازشی خود را بر اساس نیاز افزایش دهند. اَبر دِراک یکی از ارائهدهندگان خدمات زیرساخت به عنوان سرویس است.
-
پلتفرم ابری
پلتفرم ابری یک سطح بالاتر از زیرساخت به عنوان سرویس است. پلتفرم ابری شامل ابزارهای توسعه، زیرساخت و سایر پشتیبانیها برای ساخت برنامهها میشود. توسعهدهندگان میتوانند بدون نیاز به خرید یا اجارهی زیرساخت و نصب نرمافزار بر روی سیستم خود فقط بر روی توسعهی برنامههای خود تمرکز کنند. از قابلیتهای این سیستم میتوان به خدمات میزبانی وب، فضای ذخیرهسازی اطلاعات، خدمات پشتیبانی و نرمافزار سرور، ابزارهای طراحی و توسعهی نرمافزار و … اشاره کرد.
-
نرمافزار به عنوان سرویس
نرمافزار به عنوان سرویس یک روش مبتنی بر ابر برای ارائهی نرم افزار به کاربران است. کاربران نرمافزار به عنوان سرویس به جای خرید و نصب برنامه، میتوانند در این برنامه مشترک شوند. با استفاده از خدمات نرمافزار به عنوان سرویس برنامههای شما در سرورهای ابری اجرا میشوند و میتوانید در هر موقعیت مکانی و از طریق هر دستگاه متصل به اینترنت با آن ارتباط برقرار کنید؛ به طور مثال به جای نصب برنامهی Word بر روی سیستم خود، میتوانید از سرویس google docs استفاده کنید.
پلتفرم ابری چیست؟
همانگونه که در بالا توضیح داده شد، پلتفرم ابری یکی از سه مدل سرویسهای ابری است. توسعهدهندگان با استفاده از پلتفرم ابری دیگر نیازی به خرید یا اجارهی زیرساخت برای ساختن یک برنامه ندارند. پلتفرم ابری ابزارهای توسعه، زیرساختها و سیستمعاملهای مورد نیاز برای ایجاد یک برنامه را در اختیار توسعهدهندگان قرار میدهد. با استفاده از پلتفرم ابری مدیریت تمام موارد توسط ارائهدهنده و در پشت صحنه انجام میشود و توسعهی برنامههای وب بسیار ساده میشود.
تفاوت پلتفرم ابری با محیطهای توسعهی میزبانی داخلی چیست؟
پلتفرم ابری از طریق هر نوع اتصال اینترنتی قابل دسترس است که این امر امکان ایجاد و ساخت یک برنامهی کامل را حتی در مرورگر وب ممکن میسازد. از آنجایی که محیط توسعه در پلتفرم ابری به صورت محلی میزبانی نمیشود، توسعهدهندگان میتوانند از هر کجای دنیا بر روی برنامه کار کنند و برای تیمهایی که در مکانهای جغرافیایی مختلف ساکن هستند، پلتفرم ابری بهترین انتخاب است. با استفاده از پلتفرم ابری توسعهدهندگان نسبت به محیط توسعهی میزبانی داخلی کنترل کمتری بر روی محیط توسعه دارند که با توجه به صرفهجویی در هزینهها و دیگر مزایای پلتفرم این مورد اغلب اهمیت چندانی ندارد.
پلتفرم ابری چه خدماتی ارائه میدهد؟
پلتفرم ابری خدمات متنوعی را ارائه میدهد که در ادامه با مهمترین خدمات آن آشنا میشویم:
-
ابزارهای توسعه
پلتفرم ابری ابزارهای ضروری برای توسعهی نرمافزار مانند ویرایشگر کد منبع، دیباگر، کامپایلر و … را ارائه میدهد. ممکن است این ابزارها در کنار هم به عنوان یک چارچوب ارائه شوند. ارائهی ابزارهای خاص توسعه به شرکت ارائهدهنده بستگی دارد؛ اما ابزارهای هر پلتفرم ابری باید شامل کلیهی مواردی باشند که یک توسعهدهنده به آنها نیاز دارد.
-
میان افزار
میانافزارها برنامههایی هستند که بین برنامههای کاربردی کاربر و سیستمعامل قرار میگیرند. به طور معمول پلتفرمهای ابری شامل میانافزار نیز هستند و توسعهدهندگان مجبور نیستند که خودشان آن را بسازند. به عنوان مثال، میانافزار به نرمافزار اجازه میدهد ورودی صفحه کلید و ماوس را دریافت کند. با اینکه کاربران نهایی با میانافزارها تعامل ندارند، وجود آنها برای اجرای یک برنامه ضروری است.
-
سیستمعاملها
وظیفهی ارائه و نگهداری از سیستم عاملی که توسعهدهندگان بر روی آن کدنویسی و برنامه خود را اجرا میکنند بر عهدهی ارائهدهندهی پلتفرم ابری است.
-
مدیریت پایگاه داده
ارائهدهندگان پلتفرم ابری وظیفه مدیریت و نگهداری پایگاههای داده را هم برعهده دارند. به طور معمول ارائهدهندگان سیستم مدیریت پایگاه داده را در اختیار توسعهدهندگان قرار میدهند.
-
زیرساخت
پلتفرم ابری در مدل سرویس رایانش ابری یک لایه بالاتر از زیرساخت به عنوان سرویس قرار دارد و تمام زیرساختهایی که در زیرساخت به عنوان سرویس ارائه میشود، در سرویس پلتفرم ابری هم وجود دارد. پلتفرمهای ابری یا خودشان سرورها، منابع ذخیرهسازی و مراکز دادهی فیزیکی را مدیریت میکنند یا آنها را از یک ارائهدهندهی خدمات زیرساخت به عنوان سرویس خریداری میکنند.
چرا توسعهدهندگان از پلتفرم ابری استفاده میکنند؟
استفاده از پلتفرم ابری برای توسعهدهندگان مزایای زیادی را به دنبال دارد:
-
زمان ورود به بازار سریعتر
در حالت معمول توسعهدهندگان باید پلتفرمها و زیرساختهای سمت سرور (Backend) خود را پیکربندی کرده و سپس به کدنویسی برنامه بپردازند؛ اما با استفاده از پلتفرم ابری تنها کاری که توسعهدهندگان باید انجام دهند نوشتن کدهای برنامه و آزمایش آن است و مدیریت بقیه موارد بر عهدهی ارائهدهندهی پلتفرم ابری است. با توسعهی سریعتر برنامه نسبت به رقبا، فرصت بازاریابی برای تیم فروش بیشتر میشود و میتوانند محصول خود را سریعتر به بازار عرضه کنند.
-
استفاده از یک محیط برای انجام کلیه مراحل
پلتفرم ابری به توسعهدهندگان اجازه میدهد که کلیه مراحل کدنویسی، آزمایش و اشکالزدایی، بهروزرسانی و میزبانی برنامههای خود را در یک محیط انجام دهند. با استفاده از پلتفرم ابری توسعهدهندگان میتوانند قبل از انتشار یک برنامه از عملکرد صحیح آن مطمئن شوند و این کار چرخهی توسعهی برنامه را ساده میکند.
-
هزینههای بهصرفه
استفاده از پلتفرم ابری در بسیاری از موارد نسبت به مدل زیرساخت به عنوان سرویس مقرونبهصرفهتر است؛ زیرا کاربران پلتفرم ابری دیگر نیازی به مدیریت و ارائهی ماشینهای مجازی به صورت جدا ندارند. برخی از ارائهدهندگان پلتفرم ابری ساختار قیمتگذاری خود را بر اساس میزان مصرف منابع توسط کاربر تعیین میکنند که باعث صرفهجویی در هزینههای کاربر میشود. با این حال، هر ارائهدهنده ساختار قیمتی خود را دارد و برخی از آنها هم برای سرویس خود هزینهی ثابت ماهیانه دریافت میکنند.
معایب احتمالی استفاده از پلتفرم ابری چیست؟
پلتفرم ابری مزایای زیادی را برای توسعهدهندگان فراهم میکند؛ اما استفاده از آن برای برخی از کسب و کارها ممکن است مشکلاتی را به همراه داشته باشد.
-
وابستگی زیاد به ارائه دهندهی پلتفرم ابری
ممکن است یک کسب و کار بیش از اندازه به ارائهدهندهی پلتفرم ابری وابسته شود؛ زیرا برنامه با استفاده از ابزارهای ارائهدهنده و به طور خاص سازگار با پلتفرم ارائهدهنده توسعه یافته است. به طور معمول هر ارائهدهنده نیازهای معماری متفاوتی دارد و امکان دارد که از زبانها، کتابخانهها، APIها و سیستم عاملهای متفاوتی برای ساخت و اجرای برنامهها استفاده کنند. برای انتقال برنامه به سرویس پلتفرم ابری یک ارائهدهنده دیگر، ممکن است نیاز به بازنویسی و تغییر در کدهای برنامهی خود داشته باشید.
-
امنیت و انطباق
با استفاده از پلتفرم ابری، مسئولیت حفاظت از برنامهها و دادههای شرکتها از تیمهای داخلی به ارائهدهندگان خارجی پلتفرم ابری منتقل میشود. برای کسبوکارهای کوچک تا متوسط، این یک مزیت است، زیرا ارائهدهندگان پلتفرم ابری معمولاً منابع بیشتری برای محافظت از دادهها و اطلاعات دارند؛ اما برای کسب و کارهای بزرگ که استانداردهای امنیتی بالاتری دارند، برون سپاری امنیت برنامهها میتواند به یک چالش تبدیل شود.
در این مقاله ضمن معرفی مدلهای مختلف سرویس ابری، مزایا و معایب پلتفرم ابری را به طور خاص بررسی کردیم. با استفاده از پلتفرم ابری توسعهدهندگان میتوانند با صرفهجویی در زمان و هزینههای خود، تمرکز خود را فقط بر روی توسعه کدهای برنامه بگذارند و دیگر دغدغهی آمادهسازی زیرساختها و پیکربندی سرور و … را نداشته باشند. مزایای پلتفرم ابری نسبت به معایب احتمالی آن بسیار بیشتر است و اغلب توسعهدهندگان و کسب و کارها میتوانند با خیالی آسوده از آن استفاده کنند.
منابع:
- https://www.cloudflare.com/learning/cloud/what-is-the-cloud
- https://www.cloudflare.com/learning/cloud/what-is-saas
- https://www.cloudflare.com/learning/cloud/what-is-iaas
- https://www.cloudflare.com/learning/serverless/glossary/platform-as-a-service-paas