افراد معمولاً تصور میکنند که چون نرمافزار آنها روی بستر ابر اجرا میشود، پس ابر بومی است در حالی که چنین دیدگاهی کاملاً اشتباه است. یک نرمافزار ابر-بومی واقعی از همه تکنیکهای مدرن مثل PaaS، چند ابری، میکروسرویسها، مخازن یا DevOps استفاده میکند.
عده دیگری تصور میکنند که ابر-بومی بودن یعنی اجرای برنامههای کاربردی در مخازن، اجرای یک هماهنگکننده مخزن یا استفاده از مدل ارایه زیرساخت به صورت کد. در این مطلب شما را با اصطلاح ابر-بومی و مزایا و چالشهای آن آشنا میکنیم.
ابر-بومی چیست؟
پیش از بررسی عمیق این موضوع، ابتدا مفهوم رایانش ابری را مورد بررسی قرار میدهیم. رایانش ابری به ارایه خدمات رایانشی از طریق اینترنت و با مدل پرداخت بر اساس میزان استفاده گفته میشود. یعنی شرکتها به جای اینکه زیرساخت سنتی خودشان را داشته باشند، دسترسی به قدرت پردازشی یا فضای ذخیره اطلاعات را اجاره میکنند.
ابر-بومی یکی از روشهای توسعه نرمافزار است که از رایانش ابری برای ساختن و اجرای نرمافزارهای مقیاسپذیر استفاده میکند. مخازن، میکروسرویسها، توابع بدون سرور، زیرساختهای تغییرناپذیر، روش چابک، توسعه پیوسته/ ادغام پیوسته و DevOps از جمله عناصر مهم این سبک معماری هستند.
ابر-بومی بودن به شیوه ساخت و پیادهسازی برنامههای کاربردی ارتباط دارد نه محل آنها. برنامههای کاربردی و نرمافزارهای ابر-بومی در محیط ابر عمومی مستقر میشوند نه در مراکز داده درون سازمانی. این روش جدید استقرار نرمافزار در ترکیب با اتوماسیون به مهندسان امکان میدهد که با حداقل تلاش، تغییرات مکرر با تأثیر زیاد را ایجاد کنند. برنامههای کاربردی ابر محور معمولاً به صورت میکروسرویس در مخازن داکر اجرا شده و در کوبرنتیز هماهنگسازی میشوند. مزیت اصلی این روش قابلیت بستهبندی نرمافزار در قالب یک پکیج قابل اجرای واحد (مخزن) است.
تفاوت زیرساختهای درون سازمانی و ابر-بومی
برنامههای کاربردی ابر-بومی و برنامههای سازمانی سنتی هر کدام به طراحی معماری خاص خودشان نیاز دارند. یکسری از تفاوتهای آنها عبارتند از:
- مقیاسپذیری: برنامههای کاربردی ابر-بومی میتوانند به صورت خودکار، بر اساس کاهش یا افزایش مصرف منابع خودشان تطبیق پیدا کنند. برنامههای کاربردی درون سازمانی قابلیت مقیاسپذیری پویا را ندارند و فقط میتوانند از منابع در اختیارشان استفاده کنند.
- بهروزرسانیها: برنامههای کاربردی ابر-بومی همیشه بهروز هستند (و بهروزرسانیهای آنها بدون از کار افتادگی نصب میشود) اما بهروزرسانیهای نرمافزارهای درون سازمانی معمولاً با یک اشتراک خریداری میشوند و نصب آنها نیاز به از کار افتادگی دارد. گاهی اوقات انجام چنین کاری در عمل هزینهبر است.
- وضعیت: برنامههای کاربردی ابر-بومی به یک زیرساخت خاص گره نمیخورند بلکه وضعیت خودشان را در یک پایگاه داده یا سایر موجودیتهای خارجی ذخیره میکنند. در مقابل، نرمافزارهای درون سازمانی، وضعیت خودشان را روی زیرساختی که کد بر روی آن اجرا میشود ذخیره میکنند در نتیجه ممکن است هنگام اضافه شدن منابع، اجرای آنها به مشکل برخورد کند.
- از کار افتادگی: اگر یک ارایهدهنده سرویس ابر دچار مشکل شود، شعبهای دیگر مدیریت بار او را برعهده میگیرد بنابراین نرمافزارهای ابر-بومی با پیکربندی صحیح به ندرت دچار مشکل از کار افتادگی میشوند. در مقابل اگر یک سرور در یک مرکز داده از کار بیفتد، کل نرمافزار درون سازمانی از کار خواهد افتاد.
- چند مستأجری: نرمافزارهای ابر-بومی میتوانند منابع خودشان را در یک فضای مجازیسازی شده با سایر نرمافزارها به اشتراک بگذارند در حالی که نرمافزارهای درون سازمانی معمولاً به فضاهای غیرمجازی نیاز دارند. بعلاوه، این نرمافزارها نیاز به کدنویسی سخت برای امنیت، شبکه و رسانههای ذخیرهساز اطلاعات دارند در نتیجه ممکن است تغییر یا جابجاییشانباعث کرش کردن نرمافزار شود.
- اتوماسیون: تفاوت اصلی بین نرمافزارهای درون سازمانی و مدل ابر-بومی این است که فناوری ابر و مدیریت برنامههای کاربردی، خودکار است. تقریباً همه چیز را میتوان اتوماسیون کرد اما نرمافزارهای درون سازمانی نیاز به مدیریت دستی دارند.
4 دلیل اهمیت نرمافزارهای ابر-بومی
نرمافزارهای ابر-بومی چابکی، ارتجاعپذیری و قابلیت جابجایی بیشتری در محیطهای ابر دارند. دلایل اهمیت برنامههای کاربردی ابر-بومی، عبارتند از:
- داشتن یک زیرساخت ابر محور، یک مزیت رقابتی محسوب میشود: وقتی با یک زیرساخت ابر محور کار میکنید، اهداف کسبوکار شما از صرفهجویی در هزینههای فناوری اطلاعات به ایجاد یک موتور رشد تغییر میکند. با رشد و توسعه بازار نرمافزار فقط مشاغلی با قابلیت توسعه سریع و تحویل برنامههای کاربردی بر اساس نیاز مشتریان، میتوانند به موفقیت برسند.
- ارتجاعپذیری: وقتی زیرساخت سنتی دچار مشکل شود، کل برنامههای کاربردی و نرمافزارها هم از کار خواهند افتاد. نرمافزارهای ابر-بومی با قابلیت مقاومت و ارتجاعپذیری بالا طراحی میشوند. طراحی سیستمها به گونهای است که در مقابل هر شکستی در هر جایی از محیط، مقاومت کنند.
- انعطافپذیری بیرقیب: ارایهدهندگان سرویس ابر، خدمات باکیفیت را با قیمت مناسب ارایه میدهند اما مشاغل معمولاً نمیتوانند متکی بر یک زیرساخت باشند. نرمافزارهای ابر محور وابسته به یک فروشنده نیستند یعنی امکان اجرای آنها بدون تغییر روی هر ابری (خصوصی یا عمومی) وجود دارد.
- هماهنگی کسبوکار با عملیات: با اتوماسیون عملیات فناوری اطلاعات میتوانید شکستهای ناشی از خطای انسانی را حذف کنید. همچنین نصب وصلههای امنیتی و ارتقا به صورت خودکار باعث از بین رفتن احتمال از کار افتادگی و نیاز به متخصصان عملیاتی میشود.
چالشهای رایانش ابر-بومی
با وجود تمام مزایای ذکر شده، نباید از چالشهای نرمافزارهای ابر-بومی غافل شد. برای مثال یکی از تصورات اشتباه مشاغل این است که میتوانند کل زیرساخت فعلی خودشان را به ابر منتقل کنند. ابر-بومی بودن یعنی اینکه زیرساخت به صورت اختصاصی و با در نظر گرفتن همه موارد ذکر شده، برای ابر طراحی شده است.
روش استقرار هم باید تغییر کند. برای نرمافزارهای ابر-بومی مدل آبشاری مناسب نیست و روش چابک هم همیشه کافی نیست. همچنین باید مدلهایی مثل حداقل محصول پذیرفتنی، ارزیابی چند متغیره، تکرار سریع یا DevOps را هم در نظر داشته باشید.
طراحی یک نرمافزار ابر-بومی به چه چیزهایی نیاز دارد؟
روش پرکاربرد برای طراحی نرمافزارهای ابر-بومی، روش 12 عاملی است. در این روش مجموعهای از اصول و روشهای توصیه شده برای ساختن نرمافزارهای بهینهسازی شده مخصوص محیطهای ابر مدرن، توضیح داده شده است.
اگرچه امکان اعمال این روش به هر نرمافزار تحت وبی وجود دارد اما بسیاری از کارشناسان آن را برای ساختن نرمافزارهای ابر-بومی بسیار مفید و مناسب میدانند چون سیستمهایی که بر اساس این اصول طراحی میشوند، قابلیت نصب، مقیاسپذیری و تغییر سریع بر اساس تغییرات بازار را دارند.
استراتژی 12 عاملی برای توسعه نرمافزارهای ابر محور یراساس فهرست زیر است:
- کدبیس
- وابستگیها
- پیکربندیها
- سرویسهای پشتیبان
- ساخت، انتشار، اجرا
- پردازشها
- مقیدسازی پورتها
- همروندی
- قابلیت کنار گذاشتن
- توازن بین توسعه/تولید
- ثبت گزارش
- پردازشهای ادمین
کوین هافمن هم در کتاب خودش تحت عنوان «فراتر از برنامههای کاربردی 12 عاملی» 3 عامل دیگر را معرفی کرده که منعکس کننده طراحی برنامههای ابر مدرن هستند:
- اولویت به API
- دورسنجی
- احرازهویت/ مجوزدهی
مزایای استفاده از ایمیل سرورهای ابر-بومی
مزیت اصلی ایمیل سرورهای ابر-بومی قابلیت صرفهجویی در هزینهها، ارتقای امنیت و آزاد کردن وقت است.
بسیاری از شرکتها سرویسهایی مثل ایمیل، پایگاههای داده یا پلتفرمهای API را در سرویسهای ابر عمومی ترکیب میکنند تا ارایهدهندگان سرویس اینترنت از همه قابلیتهای رایانش ابری استفاده کنند. اگر شما هم به دنبال ایجاد تحول در کسبوکارتان با کمک این فناوریهای جدید هستید، پس نباید از استفاده از یک راهکار ابر-بومی غافل شوید.
منبع: axigen