معرفی
امروز، ما به سرویس مدیریت API Azure و نحوه استفاده از آن برای بهبود طراحی برنامه API خود خواهیم پرداخت. در مقاله قبلی من ، ما به طرح یک برنامه وب پایه مطابق با معماری وب سایت مایکروسافت نگاه کردیم. اکنون، ما به معماری دیگری که توسط مایکروسافت پیشنهاد شده است در رابطه با استفاده از سرویس مدیریت API Azure نگاه می کنیم.
نمودار مرجع
ما با نمودار ارائه شده توسط مایکروسافت شروع می کنیم. جزئیات در وب سایت مایکروسافت در زیر موجود است:
https://learn.microsoft.com/en-us/azure/architecture/example-scenario/apps/apim-api-scenario
اجزای طرح
این نمودار معماری نشان میدهد که چگونه میتوانیم یک برنامه وب را از درون محل به فضای ابری منتقل کنیم و همچنین سرویسی به نام مدیریت API اضافه کنیم.
در سمت چپ، ما یک برنامه معمولی داخلی را می بینیم که در آن کاربر به یک برنامه وب مبتنی بر مرورگر دسترسی پیدا می کند که از طریق استراحت API یا روش دیگری با سرویس HTTP API موجود صحبت می کند. در سمت راست، شاهد اجرای مشابهی در Azure هستیم، جایی که کاربر به همان برنامه مستقر در ابر Azure دسترسی دارد. این احتمالاً از یک سرویس برنامه Azure استفاده می کند. این سرویس App سپس از طریق سرویس مدیریت API به یک سرویس API جدید (دوباره به عنوان یک سرویس برنامه Azure مستقر شده) یا به API وب داخلی دسترسی پیدا می کند.
ویژگی اصلی در اینجا سرویس مدیریت API است. در اینجا می توانید اطلاعات بیشتری در مورد این سرویس بخوانید . با این حال، یک خلاصه کوتاه این است که این به عنوان یک پروکسی معکوس عمل میکند و ویژگیهایی مانند امنیت، حافظه پنهان، ترجمه پیام و ورود به سیستم را از یک مکان مرکزی ارائه میکند.
دو موردی که می خواهم به این نمودار اضافه کنم موارد زیر است
- مانیتور Azure و تنظیمات تشخیصی برای سرویس مدیریت API
- Application Insights برای ابزار دقیق سرویسهای برنامه و در صورت امکان، برنامههای کاربردی وب در محل
خلاصه
در مقاله امروز، به این موضوع پرداختیم که چگونه میتوانیم یک برنامه وب و API وب را در پلتفرم ابری Microsoft Azure طراحی کنیم و از سرویس مدیریت API برای کنترل دسترسی به سرویس API هم در فضای ابری و هم در محل استفاده کنیم. ما با نمودار ارائه شده در سایت رسمی مایکروسافت شروع کردیم و چند مؤلفه که فکر می کردم مفید باشد اضافه کردیم. لطفاً توجه داشته باشید که اینها پیشنهاداتی هستند و بسته به موقعیت، نیاز و البته بودجه متفاوت هستند.