۳۰ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

مدیریت پیچیدگی استراتژی های ابری

هنگام انتخاب بین محاسبات چند ابری، پلی ابری و آسمان، ابتدا باید هزینه ها و مزایای انتخاب های خود را درک کنید.

هنگام انتخاب بین محاسبات چند ابری، پلی ابری و آسمان، ابتدا باید هزینه ها و مزایای انتخاب های خود را درک کنید.

نحوه استفاده از محاسبات ابری یک تصمیم مهم در معماری و برنامه‌ریزی استراتژی برنامه شما خواهد بود، و چند ابری به طور فزاینده‌ای به انتخاب محبوب در میان معماران ابری برای ساخت برنامه‌های کاربردی سازمانی پیشرفته، ابرمحور تبدیل می‌شود. اگر قبلاً در مورد یک استراتژی چند ابری تصمیم گرفته اید، باید تصمیم بگیرید که چه نوع استراتژی چند ابری برای برنامه شما بهترین است. این تصمیم ممکن است آنطور که فکر می کنید واضح نباشد.

انواع استراتژی های چند ابری

به طور کلی، چند ابری یک استراتژی است که با آن یک برنامه واحد با استفاده از بیش از یک ارائه دهنده ابر مستقر می شود. به عنوان مثال، همانطور که در شکل ۱ نشان داده شده است، یک برنامه کاربردی می تواند در هر دو سرویس وب آمازون (AWS) و پلتفرم ابری گوگل (GCP) مستقر شود و از هر دو مجموعه خدمات ابری استفاده کند.

راهبردهای ابری 01

شکل ۱. برنامه در چندین ارائه دهنده ابر مستقر شده است.

اما برنامه ای که از هر ارائه دهنده ابری استفاده می کند برای چیست؟ این بستگی به نحوه تصمیم گیری برای استفاده از چندین ارائه دهنده دارد. چرا می خواهید یک برنامه کاربردی را در بیش از یک ارائه دهنده ابر مستقر کنید؟

اغلب، هیچ تصمیم رسمی گرفته نمی شود و انتخاب تبدیل شدن به چند ابری به طور تصادفی اتفاق می افتد. این امر به ویژه در مورد شرکت‌هایی که تازه وارد فضای ابری شده‌اند یا فاقد پیچیدگی ابری هستند، رایج است. یک گروه از مهندسان در یک روز تصمیم گرفتند از یک سرویس AWS مانند آمازون S3 استفاده کنند. گروه دیگری در روزی دیگر تصمیم گرفتند از یک سرویس GCP استفاده کنند. به‌طور مستقل، تیم‌های خدمات ممکن است تصمیم بگیرند که باید قابلیت‌های سرویس را در یکی از خدمات ارائه‌دهنده ابری دیگر مستقر کنند و گروه‌های مختلف ممکن است تصمیم‌های متفاوتی بگیرند.

در حالی که استفاده از چندین ارائه دهنده ابر مزایایی دارد، استفاده از آنها به طور تصادفی یا تصادفی مانند این موارد به ندرت انجام می شود. با این حال، این یک الگوی رایج است.

تخصص ابر با polycloud

خوشبختانه، اغلب انتخاب چند ابری شدن برنامه ریزی شده است.

با بلوغ ابر، ارائه دهندگان ابر خدمات پیچیده تری ایجاد می کنند. این خدمات تخصصی هستند و به گونه ای طراحی شده اند که در برابر خدمات معادل ارائه شده توسط سایر ارائه دهندگان ابری رقابتی باشند. نتیجه؟ تخصص ابر.

هر ارائه‌دهنده ابر دارای تخصص‌هایی است – حوزه‌هایی که آنها را بخشی از قدرت خود می‌دانند – و اغلب خدماتی که در آن مناطق ارائه می‌کنند بهتر از خدمات معادل ارائه شده توسط ابرهای دیگر است. بسته به سرویسی که می خواهید استفاده کنید، بهترین نسخه آن سرویس ممکن است در بین ارائه دهندگان ابر متفاوت باشد:

  • Microsoft Azure در ارائه سیستم عامل های Windows Server تخصص دارد.
  • Microsoft، Google و AWS همگی دارای خدمات هوش مصنوعی (AI) و یادگیری ماشینی (ML) عالی هستند، اما ممکن است یکی از آنها برای موارد استفاده شما مناسب‌تر از بقیه باشد.
  • AWS دارای بهترین سرویس ذخیره سازی اشیا است که ارزان است و از مجموعه داده های بسیار بزرگ (S3) پشتیبانی می کند.
  • Azure ابزارهای توسعه با کیفیت بالا و بسیار یکپارچه را ارائه می دهد.
  • GCP در استقرار سرویس Kubernetes تخصص دارد.
  • AWS در عملکردهای بدون سرور تخصص دارد.
سرورهای دانه برف را بکشید تا ابر بتواند جای آنها را بگیرد

نتیجه خالص این است که – برای استفاده از بهترین سرویس ابری موجود – یک برنامه ممکن است چندین محیط ابری را در بر بگیرد. یک برنامه ممکن است از Amazon S3 برای ذخیره سازی اشیا و Amazon DynamoDB برای پایگاه داده استفاده کند، از GCP برای مدیریت خوشه Kubernetes خود استفاده کند، از Azure برای نمونه های Microsoft Windows Server استفاده کند، و در نهایت به قابلیت های هوش مصنوعی Google تکیه کند.

هنگامی که یک برنامه کاربردی از چندین ارائه دهنده ابری استفاده می کند که هر کدام برای خدمات تخصصی مورد نیاز است، این را polycloud می نامیم. هر ارائه دهنده ابر به دلیل نقاط قوت خاصی که با نیاز خاص برنامه مطابقت دارد استفاده می شود. سناریوی چند ابری شرح داده شده در بالا در شکل ۲ نشان داده شده است.

راهبردهای ابری 02

شکل ۲. استقرار Polycloud.

ابر عمومی با محاسبات آسمان

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

یکی از مشکلات این روش این است که برای موفقیت آمیز بودن، باید اطمینان حاصل کنید که برنامه شما بدون تغییر روی هر یک از ابرهایی که استفاده می کنید اجرا می شود. تمام بخش‌های برنامه شما باید بتوانند روی هر ارائه‌دهنده ابری کار کنند. این به این دلیل است که هدف اعلام شده – استفاده از یک ارائه دهنده ابر به عنوان پشتیبان برای شکست یک ارائه دهنده ابر دیگر – فقط در صورتی کار می کند که بتوان برنامه را نسبتاً آسان از یک ارائه دهنده به ارائه دهنده دیگر منتقل کرد.

این می تواند مشکل ساز باشد زیرا هر ارائه دهنده ابر رابط کاربری متفاوتی با برنامه های خود دارد. شما باید از هر یک از این رابط های مختلف در هر قسمت از برنامه خود پشتیبانی کنید، و باید آزمایش کنید تا مطمئن شوید که این رابط های مختلف در همه ترکیب ها کار می کنند.

روشی هوشمندتر برای ارائه حفاظت از داده ها به برنامه های مبتنی بر SSD

در این مورد، یک راه حل یک مدل ابری جدید است که در حال محبوبیت است: محاسبات آسمان. Sky computing تلاشی برای قرار دادن یک لایه API عمومی در بالای چندین ارائه دهنده ابر است. سپس برنامه خود را برای استفاده از این API عمومی می سازید. از آنجایی که API عمومی برای همه ارائه‌دهندگان ابری معادل است، از نظر تئوری، انتقال برنامه از ارائه‌دهنده به ارائه‌دهنده بسیار آسان‌تر است، به خصوص در شرایط اضطراری مانند هنگام شکست ارائه‌دهنده.

راهبردهای ابری 03

شکل ۳. برنامه با استفاده از محاسبات آسمان.

شکل ۳ نشان می دهد که چگونه این ممکن است کار کند. این نمودار شبیه به چند ابری در شکل ۱ است، اما شامل یک API عمومی بین برنامه کاربردی و خدمات ابری خاص ارائه شده توسط هر ارائه دهنده ابر است. API عمومی آسمان مجموعه‌ای از قابلیت‌های مشترک را برای برنامه ارائه می‌کند، و این قابلیت‌ها به‌طور جداگانه در هر ارائه‌دهنده ابر پیاده‌سازی می‌شوند. خود API sky مختص فضای ابری است، اما بقیه برنامه‌ها به ابراگنوستیک باقی می‌مانند.

کدام بهتر است؟ رایانش چند ابری یا آسمان؟

هم رایانش چند ابری و هم محاسبات آسمانی استراتژی هایی برای مدیریت پیچیدگی های استقرار چند ابری هستند. کدام مدل بهتر است؟

Polycloud در استفاده از نقاط قوت هر یک از ارائه دهندگان ابر بهترین است. از آنجایی که هر ارائه‌دهنده ابر بر اساس قدرت آن در یک تخصص ابری خاص انتخاب می‌شود، شما بهترین‌ها را از هر ارائه‌دهنده در برنامه‌های خود دریافت می‌کنید. این همچنین یکپارچگی عمیق تر با ابزارها و قابلیت های ابری را که هر ارائه دهنده ارائه می دهد تشویق می کند. ادغام عمیق تر به معنای استفاده بهتر از ابر و برنامه های کاربردی کارآمدتر است.

با این حال، Polycloud هزینه دارد. سازمان به عنوان یک کل، و هر فرد توسعه و عملیات در سازمان، به دانش عمیق تری در مورد هر ارائه دهنده ابری که در حال استفاده است نیاز دارد. از آنجایی که یک برنامه از خدمات تخصصی چندین ارائه دهنده استفاده می کند، توسعه دهندگان برنامه باید ابزارها و قابلیت های همه ارائه دهندگان ابری را درک کنند.

محاسبات آسمان این بار دانش را بر دوش توسعه دهندگان برنامه کاهش می دهد. اکثر توسعه دهندگان در سازمان باید فقط API آسمان و ابزارها و فرآیندهای مرتبط را بدانند و درک کنند. آنها می توانند از داشتن درک عمیق از جزئیات هر ارائه دهنده ابر اجتناب کنند. افراد کمتری به دانش تخصصی در مورد نحوه عملکرد هر ارائه دهنده ابر نیاز دارند.

نکته منفی این است که محاسبات آسمان از یکپارچگی عمیق با یک ارائه دهنده ابر معین جلوگیری می کند. Sky API در نهایت یک راه حل ابری “کمترین مخرج مشترک” است، زیرا تنها آن قابلیت هایی که توسط همه ارائه دهندگان ابر ارائه می شود در رابط قابل مشاهده هستند. این بدان معنی است که مزایای حاصل از یکپارچگی عمیق تر امکان پذیر نیست. ابر در نهایت بیشتر به یک کالا تبدیل می‌شود و کمتر به ابزاری برای نوآوری تبدیل می‌شود.

معرفی GitPod: یک محیط توسعه ابری

در عمل، یک sky API نمی‌تواند درک اختصاصی ابر مورد نیاز توسعه‌دهندگان منفرد را به طور کامل حذف کند. بدون شک، زمانی که در چرخه عیب‌یابی و عیب‌یابی است و سعی می‌کند مشکلی را با یک برنامه مبتنی بر ابر حل کند، توسعه‌دهنده‌ای که دانشی درباره پلتفرم ابری زیربنایی ندارد، در مضیقه قرار خواهد گرفت. در واقع، توسعه دهندگان متوجه خواهند شد که به دانش دقیق چندین ارائه دهنده ابر نیاز دارند.

آیا monocloud بهترین پاسخ واقعی است؟

من در این مقاله فرض کرده‌ام که شما قبلاً تصمیم گرفته‌اید به یک محیط چند ابری بروید. اگر هنوز آن تصمیم را نگرفته اید، اکیداً توصیه می کنم گزینه های خود را در نظر بگیرید. آیا واقعاً به یک محیط چند ابری نیاز دارید یا انتخاب یک ارائه دهنده ابر واحد گزینه بهتری برای شماست؟

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

در وهله اول دلیل علاقه مندی شما به محیط چند ابری را در نظر بگیرید. آیا به این دلیل است که به قابلیت اطمینان یک ارائه دهنده ابری واحد اعتماد ندارید؟ ممکن است به نظر برسد که چند ابری با اضافه کردن افزونگی دوام کلی شما را بهبود می بخشد، اما می توانید افزونگی مناسب را بدون نیاز به اضافه کردن ارائه دهندگان ابری اضافه کنید. آیا به دلایل مالی است؟ در بیشتر موارد، استقرار چند ابری پرهزینه‌تر از استقرار تک ابری است.

آیا به این دلیل است که نمی‌توانید به‌عنوان یک سازمان درباره یک ارائه‌دهنده یا دیگری تصمیم بگیرید، و داشتن گزینه‌های متعدد در دسترس سازمانتان برای شما ارزشمند است؟ اگر چنین است، بدانید که این انعطاف پذیری هزینه دارد و باید بدانید که این هزینه چه چیزی را به دنبال دارد.

در پایان، چه از یک استراتژی monocloud یا یک استراتژی چند ابری استفاده کنید، چه از چند ابری یا محاسبات آسمانی، یا حتی از اینکه از ابر بومی، ابر ترکیبی یا هر یک از بی‌شمار استراتژی‌های ابری دیگر استفاده می‌کنید، مطمئن شوید که متوجه شده‌اید. هزینه ها و مزایای انتخاب های شما، و مطمئن شوید که برای سازمان شما بهترین است.