در معماری مبتنی بر API و میکروسرویس، چند سرویس مستقل باید با یکدیگر ارتباط برقرار کنند، درخواستها را پردازش کنند و به دادههای موردنیاز دسترسی داشته باشند. انتخاب زیرساخت فقط به ظرفیت پردازش محدود نیست؛ شیوه استقرار، توزیع ترافیک، ارتباط داخلی، کنترل دسترسی و مشاهدهپذیری نیز بخشی از راهکار هستند.
کاربران معمولا با این مسائل و چالشها مواجهاند:
هر سرویس میتواند نیاز اجرایی، چرخه انتشار و الگوی مصرف منابع متفاوتی داشته باشد.
ورودی درخواستها باید متناسب با طراحی برنامه بین نمونههای اجرایی توزیع شود.
ارتباط سرویسها، مسیرهای شبکه و دسترسی به داده باید با مرزهای مشخص طراحی شوند.
بدون لاگ و پایش مناسب، تشخیص منشأ خطا در زنجیره سرویسها دشوار میشود.
برای سرویسهای غیرکانتینری، اجزای زیرساختی میتواند در کنار پلتفرم کانتینری استفاده شود.
برای سرویسهای غیرکانتینری، بارهایی که به محیط VM نیاز دارند میتواند در کنار پلتفرم کانتینری استفاده شود.
برای دادههای حساب کاربران، تنظیمات، سوابق و دادههای عملیاتی اپلیکیشن؛ مشروط به پشتیبانی از موتور مورد استفاده.
برای نگهداری تصاویر، ویدیوها، اسناد و فایلهای بارگذاریشده؛ با طراحی دسترسی متناسب با عمومی یا خصوصی بودن فایلها.
برای تحویل محتوای استاتیک و فایلهای قابل کش به کاربران؛ نباید پاسخهای شخصی یا APIهای وابسته به نشست بدون سیاست مناسب کش شوند.
DNS برای مدیریت مسیر دامنه و SSL برای برقراری ارتباط HTTPS؛ جزئیات صدور، تمدید و مدیریت گواهی باید با محصول واقعی تطبیق داده شود.
فایروال برای کنترل و فیلتر ترافیک در محدوده قابلیت سرویس مورد استفاده قرار میگیرد؛
Load Balancer برای توزیع درخواستها بین چند مبدأ یا نمونه برنامه، در معماریهای چندگرهی توصیه و استفاده میشود.
برای مشاهده وضعیت سرویس، بررسی رخدادها و طراحی مسیر پشتیبانگیری و بازیابی متناسب با اجزای سایت.
ممکن است CDN یا Object Storage مسئله شما را بدون انتقال مبدأ حل کند. ترکیب نهایی باید با نقطه گلوگاه وبسایت هماهنگ باشد.
Load Balancer یا لایه ورودی پشتیبانیشده برای توزیع درخواست.
CaaS/KaaS یا VM برای اجرای سرویسها.
Private Network و Firewall برای محدودکردن مسیرهای ارتباطی.
DBaaS و Object Storage مطابق نوع داده.
Monitoring، Logging و سیاست Backup/Scaling در صورت پشتیبانی.
ترکیب نمونه؛ انتخاب نهایی نیازمند بررسی فنی است
VM/Cloud Server + دیتابیس متناسب + Firewall و ابزار پایش؛ بدون اجبار به معماری میکروسرویس.
CaaS/KaaS + Private Network + Load Balancer + Monitoring/Logging.
ترکیب اجرای کانتینری/VM + DBaaS + Backup/Snapshot + IAM و قواعد شبکه متناسب.