پلت فرم چیست؟

پلتفرم رایانشی Computing Platform
پلتفرم رایانشی (Computing Platform) یا به اختصار پلتفرم به محیطی گفته میشود که یک نرم افزار در آن اجرا میشود. این محیط که در واقع نقش فونداسیون یا بستر را برای اجرای نرم افزارها ایفا میکند ممکن است سخت افزار، سیستم عامل یا هر نرم افزاری باشد که امکان اجرای نرم افزاری دیگر را فراهم میکند. به عنوان مثال یک سیستم رایانه ای با معماری x86 که روی آن سیستم عامل ویندوز نصب شده است یک پلتفرم به شمار میرود.
پلتفرم ها را میتوان به چشم پلت فرم چیست؟ نوعی محدودیت و در عین حال به عنوان یک همیار در فرایند توسعه نرم افزار در نظر گرفت؛ از یک سو پلتفرم های مختلف، قابلیتها و ویژگیهای متفاوتی دارند که باعث میشود تنها نرم افزارهایی روی آنها قابل اجرا باشد که با آن بستر سازگار است. به عنوان مثال سورس کدی که برای اجرا روی یک معماری مشخص کامپایل شده است مبتنی بر مجموعه دستورالعمل های (Instruction set) همان پردازنده خواهد بود و به صورت معمولی قابل اجرا روی معماری های دیگر نخواهد بود.
در سمت مقابل، پلتفرم ها عملکردهای سطح پایین را به صورت آماده در اختیار توسعه دهنده قرار میدهند و به این ترتیب او را از سر و کله زدن با رویههای متفاوت برای انجام عملی مشخص در سخت افزارهای مختلف نجات میدهند. برای مثال، یک سیستم عامل میتواند با وجود تفاوت در سخت افزارهایی که روی آنها قابل اجراست، یک دستور واحد برای دسترسی به پلت فرم چیست؟ شبکه در اختیار توسعه دهنده قرار دهد.
نمونه هایی از انواع پلتفرم ها
جالب است بدانید تنها سیستم عامل ها و سخت افزارهای مختلف نیستند که به عنوان محیطی برای اجرای نرم افزارها شناخته میشوند. برای مثال یک مرورگر وب نیز فارغ از اینکه روی چه سیستم عامل یا سخت افزاری در حال اجراست میتواند برای وب اپلیکیشن ها و افزونه هایی که روی آن اجرا میشوند نقش یک Platform را ایفا کند. ماشین مجازی هم میتواند بستری برای اجرای نرم افزارها باشد. به عنوان مثال Java Virtual Machine (به اختصار JVM) محیطی را برای اجرای برنامه های کامپایل شده در قالب Java bytecode فراهم میآورد و همین طور نسخه مجازی سازی شده یک سیستم که سیستم عامل ویندوز روی آن نصب شده است اجازه میدهد نرم افزارهای ویندوزی را روی یک مک اجرا کنید. پلتفرم های رایانش ابری (Platform as a Service – PaaS) نیز از جمله دیگر نمودهای پلتفرم های رایانه ای به شمار میروند.
سیستم عامل های مختلف رایانه ها و دستگاه های همراه نظیر مایکروسافت ویندوز، لینوکس و مک او اس، اندروید و iOS، فریم ورک های نرم افزاری (نظیر دات نت فریم ورک، پلتفرم چندرسانه ای Adobe Flash، پلتفرم جاوا) و معماری های سخت افزاری (نظیر ARM و x86) مثالهایی از این Platform ها به شمار میرود.
نرم افزارها و محیط اجرای آنها
همانطور که گفته شد پلتفرم ها محیطی برای اجرای نرم افزارها هستند. با توجه به تعدد این محیطها، پیش از آنکه اقدام به خرید یا دانلود و همینطور نصب و اجرای نرم افزاری روی دستگاه خود کنید ابتدا مطمئن شوید با سخت افزار یا سیستم عاملی که از آن استفاده میکنید تناسب دارد.
برخی از نرم افزارها تنها روی یک Platform خاص قابل اجرا هستند؛ به عبارت بهتر توسعه دهنده این نوع نرم افزارها، آنها را تنها برای اجرا شدن روی یک Platform معین طراحی کرده است. بنابراین امکان اجرای معمولی آنها روی بسترهای دیگر وجود ندارد.
در مقابل، برخی از نرم افزارها برای اجرا شدن روی پلتفرم های مختلف پیاده سازی شدهاند. این نرم افزارها به نرم افزارهای کراس پلتفرم یا چندپلتفرمی (Cross-Platform Software) مشهور هستند. نرم افزارهای Cross-Platform معمولا دارای نسخه های کامپایل شده مجزا برای Platform های مختلف میباشند و یا به صورت مستقیم و بدون سفارشی سازی روی بسترهای گوناگون رایانه ای قابل اجرا هستند.
Platform ها پایه و بستر اجرای نرم افزارها هستند.
منظور از بازیهای کراس پلتفرم یا کراس پلی چیست؟
به احتمال زیاد تاکنون اصطلاح بازی های کراس پلتفرم و یا کراس پلی را شنیدهاید. در واقع بازیبازان میتوانند چنین بازیهایی را بر روی پلتفرمهای گوناگون اجرا کرده و همچنین از این طریق نیز با یکدیگر بازی کنند.
قابل اجرا بر روی بیش از یک سیستم
کراس پلتفرم در واقع به نرمافزارهایی اشاره میکند که در بیش از یک سیستم یا همان پلتفرم، قابل دسترسی هستند. بهعنوان مثال، پخش کننده VLC در هر 3 سیستمعامل بزرگ دسکتاپی یعنی مایکروسافت ویندوز، لینوکس و MacOS در دسترس قرار دارد. این اصطلاح در دستگاههای موبایلی نیز رایج است و بسیاری از اپلیکیشنها هم در فروشگاه گوگل پلی و هم در اپ استور اپل در دسترس هستند.
بسته به نوع و ساختار کدهای یک برنامه، شاید نیاز باشد که تمامی کدها برای یک پلتفرم بازنویسی شوند تا بتوان یک اپلیکیشن را بر روی یک چندین پلتفرم، عرضه کرد. برخی از فریمورکها نیز در این باره راهکارهای سادهتری را در اختیار پلت فرم چیست؟ توسعه دهندگان قرار میدهند.
اگر بخواهید که بدانید آیا نرمافزار مورد استفاده شما کراس پلتفرم است یا خیر، آنگاه راهکارهای مختلفی را در پیشرو دارید. بهعنوان مثال، یکی از موارد بسیار مهم در هنگام کار با یک نرمافزار، به سازگاری فایل مربوط میشود. اگر از یک فرمتی استفاده کنید که فقط بر روی یک سیستمعامل در دسترس باشد، آنگاه جهت استفاده از آن فرمت بر روی سیستمعاملهای دیگر باید آن را تبدیل کنید.
ظهور بازی های کراس پلتفرم
هنگامی که بحث بر سر بازی کردن باشد، آنگاه کراس پلتفرم، موضوعی مهم خواهد بود. از دهه 1980 گرفته تا اوایل دهه 2010، سازگاری بازیها با چندین پلتفرم همواره مسئلهای مهم بوده است. شرکتهای بزرگ همانند سونی، مایکروسافت و نینتندو، همگی بودجه ساخت عناوین بزرگی را فراهم کرده و همچنین وظیفه ساخت آنها را نیز برعهده گرفتهاند. این بازیها یا توسط استودیوهای داخلی این شرکتها ساخته میشدند و یا اینکه جهت انجام این کار، همکاریهای موقتی با استودیوهای بازیسازی مستقل، صورت میگرفت.
البته از گذشته تا به امروز نیز بازیهای انحصاری مختلفی وجود داشتهاند که تنها در یک پلتفرم بهخصوص، قابل خریداری و اجرا هستند. به همین دلیل هنگامی که بازیبازان بخواهند کنسولی را خریداری کنند، آنگاه باید ببینند که چه بازیهایی بر روی آن کنسولها در دسترس قرار دارند. مثلا Halo همیشه در ایکسباکس، Uncharted در پلیاستیشن و Mario نیز بر روی نینتندو در دسترس است.
این مطلب را نیز بخوانید: هزینه ساخت بازیهای موبایلی مشهور چقدر است؟
نینتندو همچنان بر روی عرضه عناوین انحصاری تکیه دارد و این در حالی است که مایکروسافت و سونی، روزبهروز بازیهای خود را بر روی پلتفرمهای بیشتری در دسترس قرار میدهند. با افزایش محبوبیت پیسی گیمینگ در دهه اخیر، بازیهای انحصاری بیشتری بر روی این پلتفرم در حال عرضه شدن هستند. کامپیوترها در قیاس با کنسولها، قدرت پردازشی بالایی دارند، به همین دلیل این روزها توسعهدهندگان بازیهای خود را با توجه به پیسی توسعه داده و سپس آنها را برای کنسولها، دانگرید میکنند.
دلیل اهمیت بازی های کراس پلتفرم
در چند سال گذشته، گرایش از سمت بازیهای انحصاری، به سمت بازیهای کراس پلتفرم تغییر یافته است. در این بین نیز توسعهدهندگان بسیاری به استثنای شرکتهایی همانند نینتندو، به سمت تولید بازیهای کراس پلتفرم روی آوردهاند. یکی از مزیتهای بزرگ چنین رویهای این است که کسانی که پلتفرمهای مختلفی داشته، اما میخواهند که با یکدیگر بازی کنند، میتوانند به هدف خود دست یابند.
کراس پلتفرم همچنین باعث میشود که تعداد کاربران پایه یک بازی نیز قویتر شود که این قضیه هم برای توسعه دهنده و هم برای بازیباز، مفید است. هر چه جامعه پیرامون یک بازی بزرگتر باشد، آنگاه زمانهای صبر کردن جهت پیدا شدن رقیب، کاهش یافته، کاربران حرفهایتر جهت رقابت پیدا میشوند و همچنین گیمرهای جدید بیشتری نیز به سمت بازی جذب خواهند شد. موارد زیر چند نمونه از بازیهای محبوبی بوده که از قابلیت کراس پلی برخوردار هستند:
- Among Us
- Apex Legends
- Call of Duty
- Dead by Daylight
- Destiny 2
- Fortnite
- Minecraft
- Rocket League
کراس پلی چیست؟
معمولا کنسولهای بازی بسیار سفارشی طراحی میشوند و هر کدام از روش و الگوریتمهای مختلفی پشتیبانی میکنند. به همین دلیل در کنار مزیتهای بزرگ آن، چند معایب ریز نیز به وجود میآید. یکی از آنها این است که صرفا کراس پلتفرم بودن یک بازی به معنی قابلیت آنلاین بازی کردن کاربران مختلف با دستگاههای مختلف فراهم نباشد.
یعنی در حالت عادی کاربران ایکسباکس یا پلیاستیشن فقط با دیگر کاربران پلتفرم خودشان میتوانند آنلاین بازی کنند. اینجا هست که مفهوم کراس پلی به میدان میآید، برخی بازیها به طروق مختلف به بازیکنان اجازه میدهند که با هر کاربری با داشتن هر پلتفرمی بازی کنند، به این ویژگی در بازیها کراس پلی میگویند.
آینده بازیهای کراس پلی و کراس پلتفرم
قطعا در آینده نیز بازیهای بیشتری از ویژگی کراس پلتفرم و کراس پلی پشتیبانی میکنند. استودیوهای بازیسازی مخصوصا آنهایی که بازیهای چند نفره آنلاین میسازند، این مهم را بهخوبی درک کردهاند. بنابراین گسترش این ویژگی نباید جای تعجب داشته باشد.
پلتفرم ابری و ویژگی های آن را بیشتر بشناسیم
سرویس پلتفرم ابری یا همان سرویس PaaS یکی از سرویسهای مهم در دنیای ابری بهحساب میآید. سرویسی که میتواند کمک بسیاری در بلوغ یک کسبوکار داشته باشد. در این مطلب سعی شده است، این سرویس پلتفرم ابری را بیشتر بشناسیم و بیشتر بتوانیم با کاربرد آن آشنا شویم. این مطلب سرویس پلتفرم ابری را از زوایای مختلف موردبررسی قرار داده و سعی میکند برخی از مهمترین تکنولوژیهای موردنیاز در این حوزه را نام ببرد. مخاطبین این مطلب را میتوان توسعهدهندگان نرمافزار، متخصصین devops و متخصصینی نام برد که تصمیم به آشنایی با مفاهیم پایه PaaS و اکوسیستم آن دارند.
سرویس پلتفرم ابری چیست؟
اجرایی کردن یک محصول نرمافزاری تحت وب در اکثر مواقع فرآیندی زمانبر است. فرآیندی که طی آن چندین تیم مختلف همچون تیم سختافزار، تیم توسعه نرمافزار، تیم کنترل کیفی محصول، در آمادهسازی آن سهیم هستند. این تیمها درک متقابلی از نیازمندیها و محدودیتهای یکدیگر داشته و هماهنگی زیادی بین آنها نیاز است. در پارهای موارد آمادهسازی درخواستهای تیمها در این بخش تا هفتهها ممکن است به طول بی انجامد. نکتهای دراینبین مطرح میگردد بحث زمان است. از دست رفت زمان در پیچوخمهای آمادهسازی زیرساخت و یا بخشهای مرتبط با آمادهسازی زیرساختهای موردنیاز یک سرویس، آسیبهای متعددی به کسبوکارهای اینترنتی وارد کرده و باعث کندی در بازار رقابت شرکتهای حوزه فناوری اطلاعات شده است.
یکی از راهحلهای بسیار مؤثر و حیاتی در بلوغ فنی کسبوکارهای اینترنتی، استفاده از زیرساختهای ابری است و یکی از مهمترین سرویسهای این حوزه سرویس PaaS محسوب میشود. سرویس PaaS در کنار IaaS و SaaS طیف گستردهای از نیازمندیهای کاربران مختلف را برطرف میکند. درخواستکنندگان این سه نوع سرویس را میتوان این گروهها نام برد.
مخاطبین سرویسهای دنیای رایانش ابری
طی تقسیمبندی که گارتنر ارائه داد، مخاطبین سرویس PaaS معمولاً در موارد زیر از این سرویس ابری بهره میبرند.
- توسعه و مدیریت API پلت فرم چیست؟
- اپلیکیشن های تحلیل کسبوکار
- اپلیکیشن های مدیریت فرآیند کسبوکار Business process management) BPMX)
- اپلیکیشن های ارتباط تصویری، صدا و …
- اپلیکیشن های پایگاه داده
- IoT
- سرویسهای Master data management) MDM)
چابکی که سرویس PaaS (پلتفرم) به تیمهای نرمافزاری ارائه میدهد، تأثیر بسیار در کیفیت نهایی محصول داشته و رقابت پلت فرم چیست؟ را برای کسبوکارها سادهتر میکند. سرویس پلتفرم را میتوان یکی از مفاهیم بالقوه در اکوسیستم ابری برشمرد که طی سالیان اخیر توجه ویژهای به آن شده است. طی سالهای اخیر و با ظهور تکنولوژیهای قدرتمندی همچون داکر و کوبرنتیس مفهوم پلتفرم رنگی تازه به خود بخشید. پیشبینی درآمد دو برابری برای سرویسدهندههای PaaS طی 4 سال، نشان از گرایش تیمهای فنی به این مفهوم بسیار جذاب دارد.
سرویس PaaS در تعریفی ساده، اکوسیستمی است از تکنولوژی مختلف که در کنار یکدیگر، سرویسی را در اختیار برنامه نویسان قرار میدهد تا بتوانند اپلیکیشن های خود را اجرائی نمایند. سرویس پلتفرم پلت فرم چیست؟ همچون زیرساخت ابری، بهطور گستردهای از مفهوم مجازیسازی بهره میبرد. با این تفاوت که در مفهوم زیرساخت ابری، از مجازیسازی سختافزار همچون CPU، Memory و دیسک صحبت میشود، اما در سرویس PaaS از مجازی در سطح سیستمعامل و استفاده از مفاهیم Namespace و cgroup بر روی Process ID، Network، Filesystem، ipc، User و UTS صحبت میشود.
مقایسه معماری مبتنی بر کانتینر و زیرساخت مبتنی بر مجازیسازی سختافزار
در این ساختار سرویس PaaS میتواند بر روی بستر مجازیسازی سطح سختافزار قرار گیرد و یا میتوان بهطور مستقل بر روی یک سختافزاری فیزیکی (bare metal) اجرائی شود. البته انتخاب هر یک از روشهای فوق بهصورت چشمگیری در کارایی اپلیکیشن هایی که بر روی سرویس PaaS قرار دارند، تأثیرگذار است.
نباید فراموش کرد که نمیتوان مفهوم پیچیدهای همچون سرویس PaaS را تنها به مجازیسازی سطح سیستمعامل گره زد. همانطور که در قسمتهای قبل شرح داده شد، این مفهوم اکوسیستمی بوده که مجموعهای از تکنولوژیها، مفاهیم و ابزارهای مختلفی را در کنار خود داشته تا بتواند کارایی لازم را برای مخاطبین داشته باشد. در ادامه نیمنگاهی به این اکوسیستم ابری خواهیم داشت.
اکوسیستم سرویس پلتفرم
سرویس PaaS بستری را برای توسعهدهندگان نرمافزار فراهم میآورد که بتوانند مراحل ایجاد، توسعه، تست و نگهداری یک نرمافزار را به انجام برساند؛ اما این مسئله همه ماجرا نیست. سرویس PaaS متشکل از بازیگران مختلفی است که در کنار یکدیگر یک اکوسیستم کامل مبتنی بر نیازمندی کاربران را ایجاد میکند. هر یک از بازیگران فوق خدماتی را ارائه میدهند و یا نیازمندی را طلب میکنند. در ادامه هر یک از این بازیگران این اکوسیستم معرفیشده و نیازمندی و یا سرویسهای قابلارائه توسط آنها شرح داده میشود.
مهمترین عنصر یک اکوسیستم پلتفرم ابری را میتوان محصول پلتفرم برشمرد. زیرساختی که بر روی آن کدهای کاربران پردازششده، گسترشپذیری انجام میپذیرد، منابع ذخیرهسازی مدیریت میشود و … بهطورقطع هر سرویس PaaS بایستی ویژگیهای فوق را در اختیار داشته باشد.
- قابلیت Load Balancing
- Service discovery
- ابزار Registry
- منابع ذخیرهساز مانا/موقت
- مدلهای گوناگون Deployment
- دسترسی به لاگ های اپلیکیشن ها
- ابزار مانیتور کردن سرویس
- ایجاد شبکههای ایزوله شده
- سیاستهای امنیتی
هر یک از موارد فوق بخشی از چرخه حیات سرویس و عملکرد آن را معنا میبخشد. بهعنوانمثال فرآیند Deployment وظیفه تبدیل یک کد منبع را به یک برنامه تحت وب دارد؛ و یا قابلیت Load balancing که گسترشپذیری اپلیکشین ها را به همراه دارد.
2. توسعهدهندگان/Devops
سرویس PaaS خانه توسعهدهندگان نرمافزار است. کاربرانی که با استفاده از سرویس پلتفرم و مهاجرت بر روی آن، دستاوردهای زیادی را در بعد فنی کسبوکار خود میتوانند به ارمغان آورند. البته نبایستی فراموش کرد که مهاجرت به بستر فوق در برخی موارد فرآیند سادهای نخواهد بود و تغییر نگرش و همچنین تغییر معماری را به همراه خواهد داشت. توسعهدهندگان و بهطور خاص، متخصصین حوزه Devops برای محقق کردن اصلیترین هدفشان یعنی انتشار سرویسهایشان نیازمند تکنولوژیها و ابزارهایی هستند که داشتن برخی از آنها برای یک سرویسدهنده PaaS الزامی است.
- روشهای متنوع نشر سرویس همچون Git، Dockerfile و docker image
- ابزارهای CI/CD جهت خودکار سازی فرایند انتشار سرویس
- ابزارهای CLI
- پنل مانیتور کردن سرویسها
- مدیریت Storage
- ابزارهای Registry پلت فرم چیست؟
- دسترسی به لاگ های تولیدشده توسط اپلیکیشن ها
همانطور که ذکر شد، سرویس پلتفرم حکم خانه توسعهدهندگان را دارد. خانهای که بایستی امن و آرام باشد و درعینحال امکاناتی را در اختیار ساکن آن قرار دهد تا دغدغههایش کمتر شده و بتواند تمرکز خود را بر روی ایدههای کسبوکار خود بگذارد و نگران زیرساختهای فنی نباشد.
3. تیم فنی ارائهدهنده سرویس PaaS
همانطور که در ابتدا بیان شد، اغلب نیازمندیهای مطرحشده در اکوسیستم پلتفرم توسط ارائهدهنده سرویسهای ابری در اختیار کاربران قرار میگیرد. ارائهدهنده سرویس پلتفرم، نیاز به ایجاد بستری امن و پایدار برای کاربران خود دارد. در این بخش ارائهدهنده این نوع سرویس وظایفی را بر عهده دارد.
- مدیریت کلاسترها
- پایش و مانیتور کردن سرویسها
- سیستم billing
- مدیریت شبکه
- مدیریت منابع ذخیرهسازی
- مدیریت سطوح دسترسی Role-based access control) RBAC )
- مستندسازی و آموزش
ارائهدهنده این نوع از خدمات خود را وارد دنیای مشتریان خود نمیکند، اما بهطور دقیق زیرساختهای آن را مدیریت و پایش میکند. با توجه به نوظهور بودن بسیاری از تکنولوژیها و پیچیدگی مهاجرت اپلیکیشن های مشتریان بر روی سرویس PaaS، بهطورقطع ارائه سرویسی کاربرپسند و مدیریتشده به همراه آموزش مناسب میتواند به مشتریان کمکرسانی نماید.
4. زیرساخت فیزیکی/IaaS
کلیه تکنولوژیهای سرویس PaaS بر روی بستر زیرساختی قرار میگیرد که متشکل از منابع پردازشی، شبکه و منابع ذخیرهسازی است. این بستر ممکن است بر روی منابع فیزیکی، منابع مجازی ساز و یا سرویس ابری IaaS قرارگرفته باشد. سرویسدهندگان ابری میتوانند با همبندی مطلوب بین لایه پلتفرم و زیرساختهای فیزیکی و یا مجازی، سرویسی یکپارچه را ارائه دهند و خدمات ارزشافزوده جذابی را برای کاربران به همراه داشته باشند. ازجمله این خدمات:
- همبندی در بخش شبکه بین لایه زیرساخت و لایه پلتفرم
- همبندی در بخش منابع ذخیرهسازی بین لایه زیرساخت و لایه پلتفرم
- همبندی در بخش Authentication بین اکوسیستم پلتفرم و لایه زیرساخت ابری
- همبندی در بخش منابع پردازشی و مدیریت آن بین اکوسیستم پلتفرم و لایه زیرساخت ابری
ویژگیهای این سرویس پلتفرم ابری
اجازه بدهید در ابتدا به این مسئله بپردازیم که سرویس PaaS برای چه کسانی میتواند مورداستفاده قرار گیرد. همانطور که در بخشهای قبل ذکر شد، مخاطبین اصلی این سرویسها توسعهدهندگان نرمافزار هستند. توسعهدهندگانی که میتوان آنها را دریکی از گروهیهای زیر دستهبندی کرد.
- توسعهدهندگان مستقل
- دانشجویان حوزه فناوری اطلاعات
- متخصصین Devops
- شرکتهای استارتآپ حوزه فناوری اطلاعات
- شرکتهای کوچک، متوسط و بزرگ حوزه فناوری اطلاعات با محوریت توسعه نرمافزار
- متخصصین پایگاه داده
- و …
همانطور که در بخش اکوسیستم سرویس پلتفرم شرح داده شد، مجموعهای از سرویسهای مختلف در این حوزه ارائه میشود. هر یک از سرویسهای فوق بخش خاصی از متخصصین را هدف قرار داده است. با توجه به نیازمندیهای هر یک از مخاطبین سرویس PaaS میتوان نگاشتی کلی بین محصولات ارائهشده در پلتفرمهای ابری و متخصصین این حوزه را مشاهده نمایید. البته شکل فوق به معنی این نیست که هر یک از مخاطبین نمیتوانند از سرویسهای بخشهای مختلف PaaS استفاده نمایند.
نگاشت بین برخی سرویسهای ارائهشده در PaaS و مخاطبین
اما به بحث اصلی بازگردیم و به این مورد بپردازیم که یک اکوسیستم پلتفرم ابری چه وِیژگی مثبتی را ارائه میدهد.
- کاهش زمان چرخه تولید محصول: بیشک یکی از مهمترین دلایل استفاده از پلتفرمهای ابری میتوان این مسئله باشد. فرآیندهای چندین ساعته و حتی چندین روزه جهت آمادهسازی یک وب سرور و اجرائی کردن اپلیکیشن، بر روی آن تبدیل به فرآیندی چنددقیقهای و حتی چندثانیهای شده است. سرویس PaaS دغدغه اجرائی کردن نسخههای مختلف اپلیکیشن ها را از بین میرود و چابکی در این فرآیند نمود پیدا میکند.
- گسترشپذیری سرویس: درگذشته و با رشد یک کسبوکار و افزایش بار ترافیکی بر روی آن، تصمیمگیری در خصوص گسترشپذیری اپلیکیشن بسیار هزینهبر بود. نیاز به تجهیزاتی همچون Load Balancer و یافتن متخصصین آن حوزه به همراه آمادهسازی سرورهای جدید فرآیندی زمانبر و هزینهبر بود که گاه آمادهسازی آن هفتهها به طول میانجامید؛ اما معماری ذاتاً گسترشپذیر سرویس PaaS این اجازه را به کسبوکارها میدهد که بتوانند در کمتر چند ثانیه سرویسهای خود را گسترش دهند.
- مصرف بهینه منابع و کاهش هزینه: با توجه به اینکه اپلیکیشن ها از بستری اشتراکی بهره میبرند و منابع بر روی سیستمعامل بهصورت اشتراکی مورداستفاده قرار میگیرد، مخاطبین برای اجرائی کردن اپلیکیشن های خود تنها نیاز به پرداخت هزینه پردازش خوددارند و هزینههای تکراری در بخشهایی همچون سیستمعامل از سبد هزینه حذف میشود.
- افزایش امنیت: ذات تکنولوژیهای بکار رفته در زیرساخت سرویس PaaS مبتنی بر ایزوله سازی و ایجاد دسترسیهای بسیار محدود به منابع خاص بوده که درصورتیکه ملاحظات از سوی توسعهدهندگان و ارائهدهندگان سرویس پلتفرم رعایت گردد، بستری بسیار امن را به همراه خواهد داشت.
- تداوم کسبوکار: با توجه به اینکه گسترشپذیری جزو قابلیتهای کلیدی است که سرویس PaaS در اختیار مشتریان قرار میدهند، همچنین ویژگیهایی همچون Rolling update، این اطمینان را به صاحبان کسبوکار میدهد که اپلیکیشن های آنها کمترین میزان قطعی را داشته باشند، حتی در زمان تغییرات بزرگ.
- تمرکز بر کسبوکار: شرکتها میتوانند تمرکز خود را بر روی کسبوکار خود قرار داده و پیچیدگی فنی/زیرساختی را به ارائهدهندگان سرویسهای PaaS بسپارند.
تابهحال در خصوص مزایای پلتفرم ابری صحبت شد؛ اما اجازه دهید در خصوص چالشها و دغدغهها همصحبت شود.
- مهاجرت به سرویس PaaS: مهاجرت همواره فرآیندی چالشبرانگیز است. انطباق با تکنولوژیهای ارائهشده توسط سرویسدهنده PaaS و در برخی اوقات بازطراحی اپلیکیشن و Cloud-native کردن آن فرآیندی زمانبر است.
- Containerize کردن اپلیکیشن: قطعاً گامی مهم برای مهاجرت به سرویس PaaS، تبدیل اپلیکیشن ها به ساختار مبتنی بر Container خواهد بود که فرآیندی پر چالش و در برخی اوقات نشدنی بوده که نیاز به بازطراحی اپلیکیشن دارد.
- تغییر فرهنگسازمانی: طی مقاله گارتنر در خصوص چالشهای استفاده از PaaS، بیشترین نگرانی مدیران، تغییر فرهنگسازمانی و تزریق دانش جدید است.
- چالشهای امنیت: سرویس PaaS همچون دیگر سرویسهای ابری نیز، دغدغههای مربوط به امنیت داده را به همراه خود دارد.
The Art of CPU-Pinning: Evaluating and Improving the Performance of Virtualization and Containerization Platforms- Davood Ghatreh Samani; Chavit Denninnart; Josef Bacik; Mohsen Amini Salehi- 2020
پلت فرم چیست؟
پلتفرم و فریم ورک ، دو واژه پرکاربرد در برنامه نویسی هستند که خیلی به کار می روند و در مورد آن صحبت کرده ایم، از آنجایی که این دو واژه معمولا در کنار هم و یا حتی جاهایی و به اشتباه به جای هم استفاده می شوند ممکن است این تصور در ذهنمان شکل گرفته باشد که این دو به یک معنی و مترادف هستند، در حالی که با بررسی دقیق تر خواهیم دید که این تصور صحیح نیست و هر کدام از واژه های مزبور بار معنایی خاصی دارند و معرف مفهوم ویژه ای هستند، برای آشنایی بیشتر در یادداشت پیش رو نگاهی خواهیم داشت به مفهوم پلتفرم و فریم ورک در برنامه نویسی و به طور خاص در برنامه نویسی وب.
پلتفرم (Platform)
پلتفرم در واقع بستری است که برنامه های نرم افزاری نوشته شده برای یک وسیله در آن قابل اجرا و استفاده است، این بستر هم شامل ملزومات سخت افزاری (مانند نوع سیستم و CPU) و هم شامل ملزومات نرم افزاری (مانند سیستم عامل) است، به طور مثال برنامه های کاربردی و بازی هایی که همه روزه با آنها سر و کار داریم بدون وجود دستگاه هایی مانند کامپیوترهای شخصی (PC)، تلفن های همراه، لپ تاپ ها، کنسول های بازی و… عملا قابل استفاده نیستند (سخت افزار) و از طرفی هر برنامه ای در یک سیستم عامل خاص (و یا حتی تحت نسخه خاص) قابل اجرا است (نرم افزار) که در مجموع به آنها پلتفرم می گوییم، مانند پلتفرم ویندوز xp 64 bit، پلتفرم ویندوز ۸، پلتفرم ویندوز موبایل، پلتفرم لینوکس، پلتفرم آندروید، پلتفرم جاوا، پلتفرم PC، پلتفرم XBOX و…، یا در حوزه وب در حال حاضر برنامه های نوشته شده به زبان ASP.NET نیاز به سرور با سیستم عامل به فرض ویندوز ۲۰۰۸ دارند (پلتفرم ویندوز سرور ۲۰۰۸)، با دقت در عبارت متوجه می شویم که یک پلتفرم در واقع معرف ملزومات سخت افزاری (سرور) و همچنین ملزومات نرم افزاری (سیستم عامل ویندوز سرور ۲۰۰۸) مورد نیاز برای اجرای یک برنامه کاربردی (ASP.NET) است، همچنین ممکن است به نسخه ویژه یک نرم افزار نیز اشاره شده باشد (نسخه ۲۰۰۸)، یا در مورد PHP می توان به پلتفرم لینوکس سرور یا ویندوز سرور اشاره کرد که در واقع به معنی سروری است که روی آن سیستم عامل لینوکس یا ویندوز نصب و فعال باشد و لذا به طور خلاصه می گوییم PHP با پلتفرم لینوکس سرور یا ویندوز سرور قابل اجرا و سازگار است.
فریم ورک (Framework)
فریم ورک (نرم افزاری) در واقع مجموعه منسجم از کلاس ها و توابع (کتابخانه کلاس پلت فرم چیست؟ ها و توابع) از پیش تعریف شده است که قابلیت های بالقوه گوناگون از یک زبان برنامه نویسی را در خود دارد و بدین ترتیب کاربر نهایی را قادر می سازد که از امکانات یک زبان استفاده کند بدون اینکه درگیر مسائل پیچیده و وقت گیر آن شود، لذا همان طور که یک کلاس یا تابع با هدف جلوگیری از تکرار مکررات و افزایش سرعت کار، تعریف می شود، فریم ورک از این هم فراتر رفته و علاوه بر افزایش سرعت، مواردی مثل توسعه پذیری و ساده سازی را هم مد نظر دارد، به طور مثال همان طور که می دانیم در وب زبانی داریم به نام جاوا اسکریپت که به خودی خود توانایی های زیادی در زمینه اسکریپت نویسی تحت وب در اختیارمان قرار می دهد، اما در کنار این توانایی ها محدودیت هایی نیز وجود دارد، به طور مثال همه مرورگرها تمام دستورات جاوا اسکریپت را به یک شکل تفسیر نمی کنند و در برخی موارد هر یک ساز خود را می نوازند، از طرفی مسلما تمام کاربران، برنامه نویس حرفه ای نیستند که با موارد پیچیده سر و کار داشته باشند و به راحتی نیازهایشان را پوشش دهند، اینجا است که فریم ورک هایی مانند جی کئوری (jQuery) وارد عمل می شوند، در فریم ورکی مانند جی کئوری از قبل کلاس ها و توابعی تعریف شده که با مرورگرهای متفاوت سازگارند و با چند خط دستور ساده نیازهای گوناگونی را پوشش می دهند، کافی است فریم ورک را در صفحه خود وارد کنید تا به قابلیت هایش دسترسی داشته باشید، لذا ملاحظه می کنید که جی کئوری چیزی مجزا از جاوا اسکریپت نیست، بلکه مجموعه ای از دستورات آماده آن است که در موقعیت ها و برای مقاصد مختلف، به آسانی و بدون نوشتن کدهای اصلی قابل استفاده است، البته باید مد نظر داشت که استفاده یا عدم استفاده از فریم ورک می تواند بسته به موقعیت و نیاز، امری صحیح و ضروری یا در عین حال زائد و اشتباه تلقی شود، مخصوصا این امر در وب نمود بارزتری دارد، چرا که سرعت و سبکی از ارکان کلیدی در موفقیت سایت های وب هستند و فریم ورک ها معمولا به این مقوله آسیب می زنند.
در پایان با توجه به مطالبی که گفته شد لینک مفیدی را به شما معرفی می کنم تا بتوانید برای ثبت سفارش به آنجا بروید و طراحی سایتتان لذت ببرید:
تخت خواب پلت فرم، فرقش با بقیه چیه؟
هر فردی حداقل 8 ساعت از روز خود را برای خوابیدن در تخت خواب به سر می برد. بنابراین می توانیم بگوییم که تخت خواب یکی از پرکاربردترین مبلمان در هر خانه است. حال با این توصیف اصلا دور از ذهن نیست که بخواهیم یک تخت مناسب را انتخاب کنیم یا به دنبال معیارهای عالی برای آن باشیم. از آن جایی که تخت ها نیز انواع گوناگون دارند، من در این مطلب به تخت خواب پلت فرم می پردازم ،اما غیر از تعریف، با انواع مدل ها و متریال های مناسب برای این مدل تخت خواب آشنا خواهید شد.
تخت پلت فرم چیست ؟
تخت خواب پلت فرم از یک صفحه یا بستر مستطیل شکل و یکدست تشکیل شده که تشک بر روی آن قرار می گیرد و هیچ جزئی در کنار خود ندارد. برخلاف تخت خواب های سنتی، این مدل های مدرن روی زمین قرار گرفته وحدود 30 سانتی متر از سطح آن بالا می آیند. البته مدل هایی هم وجود دارند که می توانند برای بیش تر از این ارتفاع تنظیم شوند. این مدل تخت خواب ها بسیار نرم و کاربردی بوده و در انواع سبک ها و مدل ها طراحی و ساخته می شوند.
سرویس خواب مدرن
مزایا و معایب تخت پلت فرم
مزایای تخت خواب پلت فرم :
- مقاوم و محکم اند
- دارای تنوع بالایی از مدل و سبک هستند
- بسیار راحت اند
- می توانند فضای ذخیره سازی اضافی داشته باشند
- به فنر تخت خواب نیاز ندارند
معایب تخت خواب پلت فرم :
- به طور معمول فضای زیر تخت ندارند
- به دلیل بزرگ و سنگین بودن حرکت دادنشان مشکل است
- می توانند گران باشند
سرویس خواب مدل 222
انتخاب مدل مناسب تخت خواب پلت فرم :
1. تخت خواب با سطح توپر
این مدل را می توانید به خوبی در تصویر بالا مشاهده نمایید. سطح زیرین تخت به صورت یکدست و توپر بوده و فضای خالی زیر آن وجود ندارد. معمولا این مدل به دلیل زیبایی و استحکام زیادش انتخاب می شود.
2. تخت پلت فرم متحرک
عکس بالا نمونه ای از تخت پلت فرم متحرک را به شما نشان می دهد. این مدل که پایه هایی در زیر خود دارد، قابلیت جابه جایی آسانی را فراهم می کند. اما به غیر از این، حالت شناور بودنی را نیز به وجود می آورد. این مدل هم مانند نمونه قبل فاقد فضای زیر تخت است.
سرویس خواب مدرن
3.تخت خواب پلت فرم با فضای ذخیره سازی
در این مدل، سطح زیرین تخت دارای کشوها و فضاهای ذخیره سازی است. بنابراین می تواند برای اتاق خواب های کوچک ایده آل و مناسب به نظر برسد. بسته به نوع طراحی و مدل تخت، این فضاهای ذخیره سازی می توانند به صورت نامشخص و یکدست طراحی شوند.
تخت خواب پلت فرم با پشتی
تخت خواب های لپت فرم با صفحه پشتی و پلت فرم چیست؟ جلویی می توانند سبک مدرن را کمی به مدل های سنتی نزدیک تر کنند. اما کماکان در همان دسته پلت فرم ها قرار می گیرند.
سرویس خواب دونفره مدل 233
انتخاب سطح زیرین تخت خواب
1. سطح نواری
یک تخت خواب با چنین سطح زیرینی، بدان معناست که از اسکلت های چوبی تشکیل شده و این نوارها یا میله ها متناسب با میزان جریان هوای مورد نیاز و نوع تشک در فاصله ها و اندازه های مختلفی قرار می گیرند. اگر شما تشک فوم دارید این مدل می تواند برایتان مناسب باشد.
2. سطح فلزی
یک سطح فلزی، با تشک های سنتی عالی کار می کند. به خصوص برای تشک هایی که از سفتی و استحکام بالایی برخوردارند.
3. سطح توپر
یک سطح پلت فرم توپر برای تجربه یک خواب آرام و راحت بسیار ایده آل بوده و دوام بیشتری نسبت به دو نوع قبلی دارد. البته این مدل به دلیل بسته بودن، امکان گردش هوای کم تری نسبت به دو مدل دیگر دارد.
مرحله سوم : انتخاب متریال تخت خواب پلت فرم
1. تخت خواب فلزی
تخت های فلزی دارای دوام، سادگی و زیبایی بی نظیری هستند. اگر شما به دنبال یک سبک مدرن یا صنعتی هستید، فلز یک گزینه عالی است. تخت خواب پلت فرم با سطح فلزی در گذر زمان ماندگاری بالایی نیز خواهد داشت.
2. تخت پلت فورم روکش دار
اگر شما به دنبال ایجاد یک احساس راحت در کنار زیبایی در اتاق خواب خود هستید، یک تخت روکش شده شیک و امروزی گزینه عالی برایتان خواهد بود. این مدل ها دارای رنگ بندی های متنوعی بوده و قابلیت تمیز کردن نیز دارند. در برخی نمونه ها از پارچه هایی مانند چرم و مخمل استفاده می شود.
سرویس خواب مدرن
تخت پلت فورم چوبی
تخت های پلت فورم با صفحه چوبی نمونه ای بسیار ظریف و سبک هستند که می توانند در انواع سبک ها مانند روستیک، مدرن و حتی صنعتی به کار بروند. این مدل ها بادوام بوده و هیچ گاه از مد نمی افتند. نمونه ای از آن ها را در تصویر بالا مشاهده می کنید.
نویسنده: گلنار
کارشناسی معماری داخلی کارشناسی ارشد معماری داخلی دانشگاه سوره نویسنده وب سایت چیدانه مسئول بخش معماری مجله منزل