پلتفرم اپلیکیشنی چیست و چه تفاوتی با پلتفرم به عنوان یک سرویس (aPaaS) دارد؟

پلتفرم اپلیکیشنی یا پلتفرم به عنوان یک سرویس

چارچوبی از خدمات که برنامه های کاربردی برای عملیات استاندارد به آن وابسته هستند، Application Platform نامیده می شود.

پلتفرم برنامه به عنوان یک سرویس (aPaaS) چیست؟

یک پلتفرم اپلیکیشنی به عنوان یک سرویس به یک محیط ابری برای طراحی، ساخت، استقرار و اجرای برنامه های کاربردی تجاری سفارشی هدایت می شود. به عبارت ساده تر، یک پلت فرم واحدی است که سرعت، همکاری و کنترل را در کل چرخه عمر برنامه امکان پذیر می کند.

پنج حوزه اصلی وجود دارد که یک پلتفرم اپلیکیشنی در آن فعالیت می کند:

  1. ابزارهای توسعه – Development tools
  2. خدمات اجرایی – Execution services
  3. خدمات داده – Data services
  4. سیستم عامل – OS
  5. خدمات ابری – Cloud services

ابزارهای توسعه: انواع مختلفی از ابزارهای توسعه وجود دارد که هر کدام نیازهای خاص توسعه دهندگان را برآورده می کنند. به عنوان مثال، Appian توسعه کد پایین را با مدیریت فرآیند سالید (Solid Process Management) ارائه می دهد. Microsoft PowerApps ویژگی های مشابهی و خدمات مهمی مانند Office 365، SQL Server، Dropbox را به اشتراک می گذارد. پلتفرم اپلیکیشنی های مختلف مانند Mendix و OutSystems توسعه و آزمایش نرم‌افزار را در کلاس سازمانی با ایجاد اپلیکیشن بصری و رابط‌های کاربری کامل ارائه می‌دهند.

خدمات اجرایی: عملکردهای روزمره برنامه کاملاً به خدمات اجرایی متکی هستند. این سرویس‌ها معمولاً به گزینه‌های استقرار برنامه‌ها، مانند ارائه‌دهندگان ابری (از جمله Microsoft Azure)، میزبانی ماشین‌های مجازی (VM) یا Contrainers مرتبط هستند. توسعه دهندگان می توانند اجزای برنامه کامل (complete application components) را در تصاویر بسته بندی و اجرا کنند. کنترل‌کننده‌های نرم‌افزار پلتفرم اپلیکیشنی، چرخه‌های توسعه سریع‌تری مانند Agile و DevOps را امکان‌پذیر می‌کنند. ما می توانیم ابزارهایی مانند Powershell را به عنوان یک سرویس اجرایی طبقه بندی کنیم که ابزارهایی را برای پیکربندی و مدیریت سیستم های زیربنایی به مدیران ارائه می دهد.

خدمات داده: خدمات داده به برنامه ها در پردازش و ذخیره اطلاعات کمک می کند. خدمات داده علاوه بر خدمات اجرایی کار می کنند و اطلاعات را با داده های مجهز به ابزارهای توسعه یا ابر (Cloud) تفسیر می کنند. برای ارائه یک مثال خوب، می‎توان به فضای ذخیره سازی مایکروسافت اشاره کرد.

پلتفرم اپلیکیشنی یا پلتفرم به عنوان یک سرویس

علاوه بر این، Microsoft PowerApps می‌تواند با Common Data Service مایکروسافت کار کند تا یک پلتفرم مشترک برای مدل‌های داده سازمانی فراهم کند.

سیستم عامل ها: یک سیستم عامل مانند ویندوز ۱۰، لینوکس و اندروید، منابع مختلفی را برای اجرای برنامه ها فراهم می کند، از جمله مدیریت حافظه، سیستم های فایل، رابط کاربری (برای راه اندازی و مدیریت برنامه ها)، پشتیبانی چند وظیفه ای، و توانایی تعامل با سخت افزار زیربنایی.

سرویس رایانش ابری: خدمات ابری فانکشن های قابل دسترسی از راه دور را ارائه می دهند. برنامه‌ها می‌توانند در نمونه‌های ابری مانند ماشین‌های مجازی (VM) و کانتینرها مستقر شوند، در حالی که ابر مزایای بسیاری را برای پشتیبانی از عملکردهای برنامه ارائه می‌کند. نمونه ای از فضای ذخیره سازی ابری که عکس ها، فیلم ها، برنامه ها و سایر اسناد را برای کاربران ذخیره و پردازش می کند، iCloud Drive اپل است. برای ارائه مثال دیگر، می توان به OneDrive مایکروسافت، که فضایی برای ذخیره سازی ابری اشاره نمود. در حال حاضر، خدمات ابری به هدف ایجاد پلتفرم هایی برای افزایش کاربران تلفن همراه، برای پلتفرم‌های اپلیکیشن، پلتفرم نرم‎افزاری شرکت تلفن همراه و دیگر پلت فرم‌ها به‌عنوان یک سرویس هستند. بنابراین، توسعه‌دهندگان می‌توانند برنامه‌هایی را روی چندین دستگاه با عملکردها و داده‌های دقیقاً یکسان در فضای ابری ایجاد کنند.

همه این سرویس ها یا مدیریت ها برای هر برنامه مورد نیاز نیستند، و همه استراتژی های نیازی به همه این موارد ذکر شده ندارند. برنامه‌های پیچیده‌تر به پلتفرم‌های جامع‌تر و غنی‌تر از برنامه‌های ساده تر، برای توسعه نیاز دارند. بنابراین، می توان نتیجه گرفت که یک توسعه دهنده ممکن است چندین پلتفرم اپلیکیشنی را برای پشتیبانی از یک برنامه پیچیده مستقر کند. بسته به پیکربندی سخت افزار و ویژگی ها، خدمات مورد نیاز یک برنامه می تواند متفاوت باشد.

به عنوان مثال، برخی از کاربران برای باز کردن یک برنامه از طریق رایانه شخصی خود، با یک سرور MS SQL و یک مرورگر برای عملکرد و خدمات داده، به ویندوز ۱۰ متکی هستند. همان برنامه ای که از طریق Microsoft Azure باز می شود ممکن است از ویندوز به عنوان سیستم عامل و دات نت و Azure SQL برای کارهای مربوط به پلتفرم اپلیکیشنی استفاده کند.

نمونه هایی از پلتفرم اپلیکیشنی

پلت‌فرم‌های اپلیکیشنی سازمانی تلفن همراه (MEAP) زمان لازم برای کد پورت را به رسانه‌های جدید به طور قابل توجهی کوتاه می‌کنند. ویژگی‌های استاندارد MEAP مقدار کد نوشته شده برای مدیریت چندین مشتری را در حین پشتیبانی از برنامه‌های مختلف کاهش می‌دهد. MEAP ها بهترین انتخاب برای توسعه دهندگانی هستند که به توسعه سریع با یک رابط ویژوال نیاز دارند. IBM Worklight، Sencha و Appcelerator بهترین نمونه های MEAP هستند.

پلتفرم به عنوان یک سرویس (PaaS) یک سرویس مبتنی بر ابر است که یک پلتفرم اپلیکیشنی و کیفیت های مورد نیاز برای توسعه دهندگان برای ایجاد، استقرار و میزبانی برنامه ها را ارائه می دهد. PaaS در درجه اول “توسعه نرم افزار به عنوان یک سرویس” است. توسعه دهندگان انتخاب زیرساخت و مدیریت اساسی مانند تامین و پیکربندی سیستم را به یک ارائه دهنده ابری می‎سپارند و منحصراً بر پروژه توسعه نرم افزار تمرکز می کنند. سازمان‌ها همچنین هزینه‌های صندوق مربوط به خدمات دولوپمنت را کاهش می‌دهند و به طور مؤثر دسترسی PaaS را اجاره می‌کنند. برخی از نمونه‌های PaaS عبارتند از AWS Elastic Beanstalk، Acquia Cloud و AppAgile T-Systems.