AWS DevOps, مقالات

معرفی API Gateway آمازون AWS

Amazon API Gateway چیست؟

Amazon API Gateway یک ویژگی خدمات وب آمازون (AWS) است که توسعه دهندگان را قادر می سازد تا برنامه های غیر AWS را به منابع پشتیبان AWS مانند سرورها و کد متصل کنند. این دروازه دسترسی مشتریان AWS به برنامه های کاربردی سازگار و کاربرد کلی سایر خدمات ابری آمازون را افزایش می دهد.

یک رابط برنامه کاربردی (API) به برنامه های نرم افزاری اجازه می دهد تا ارتباط برقرار کنند و آنها را کاربردی تر می کند. یک کاربر AWS API ها را در دروازه آمازون API ایجاد، مدیریت و نگهداری می کند.

API Gateway یک دروازه ورودی برای APIها است که درخواست‌های همزمان API را می‌پذیرد و پردازش می‌کند. این دروازه ترافیک را مدیریت می‌کند، کاربران نهایی را احراز هویت می‌کند و عملکرد را نظارت می‌کند. با استفاده از Amazon API Gateway، یک توسعه‌دهنده می‌تواند با خدمات زیر ارتباط برقرار کند:

 

Amazon API Gateway چگونه کار می کند؟

توسعه دهنده ای که یک API ایجاد می کند باید چهار جنبه زیر را تعریف کند:

نام آن؛

یک تابع HTTP؛

چگونه API با خدمات ادغام می شود.

و نحوه رسیدگی به درخواست ها و نقل و انتقالات

سپس توسعه‌دهنده از یک کیت توسعه نرم‌افزار (SDK)، از جمله کیت‌های سفارشی برای موبایل و برنامه‌های وب استفاده می‌کند تا با نرم‌افزاری که API را فراخوانی می‌کند، یکپارچه شود.

Amazon API Gateway تمام بارهای ارسال شده از طریق HTTP را می پذیرد، از جمله نشانه گذاری شی جاوا اسکریپت و زبان نشانه گذاری توسعه پذیر. کاربران AWS می توانند تماس های API را در داشبورد متریک در دروازه API آمازون نظارت کنند. آنها همچنین می توانند گزارش های خطا، دسترسی و اشکال زدایی را از Amazon CloudWatch بازیابی کنند.

Amazon API Gateway دو راه برای مدیریت ترافیک درخواست های  API ارائه می دهد:

 

Throttling:  تعداد تماس‌های API را در هر ساعت یا در روز محدود می‌کند. Throttling به حفظ عملکرد برنامه‌های فراخوانی در هنگام افزایش غیرمنتظره در تماس‌های API کمک می‌کند. هنگامی که بسیاری از کاربران به طور همزمان از یک برنامه استفاده می کنند، ممکن است spike اتفاق بیفتد.

Caching : بسیاری از تماس های API از اطلاعات یکسانی استفاده می کنند و نتیجه یکسانی را برمی گردانند.کش کردن به جای انجام تمام پردازش های مورد نیاز برای ایجاد یک نتیجه، پاسخ های مشترک API را ارائه می دهد. حافظه پنهان تعداد تماس های API را کاهش می دهد و عملکرد برنامه های تماس را بهبود می بخشد.

Amazon API Gateway امنیت را با استفاده از کلیدهای دسترسی برای کنترل دسترسی به API فراهم می‌کند. این سرویس با AWS Identity and Access Management و Amazon Cognito برای مجوزدهی دسترسی به APIها همکاری می‌کند. همچنین این سرویس از AWS Signature  به عنوان گزینه امنیتی دیگری پشتیبانی می‌کند که به ایجاد کلیدهای دسترسی برای هر درخواست API کمک می‌کند. توکن‌های OAuth نیز می‌توانند به عنوان یک گزینه امنیتی جایگزین به کار بارهای در حال اجرا منتقل شوند.

سرویس API Gateway  به توسعه دهندگانی که از AWS استفاده می کنند اجازه می دهد چندین نسخه از یک API را به طور همزمان اجرا کنند. به این ترتیب، آنها می توانند API های جدید بسازند و مستقر کنند در حالی که برنامه های موجود از نسخه های قبلی استفاده می کنند.

Amazon API Gateway از چه نوع API هایی پشتیبانی می کند؟

Amazon API Gateway از دو نوع API زیر پشتیبانی می کند:

RESTful APIs

این API ها با استفاده از روش های HTTP مانند GET، POST، PUT و DELETE با سرور ارتباط برقرار می کنند. اینها همان روش هایی هستند که برای دسترسی به صفحات وب و ایجاد یک منبع یا انجام یک عمل استفاده می شوند. با آمازون API Gateway، API های RESTful برای بارهای کاری بدون سرور و انتهای HTTP با استفاده از API های HTTP استفاده می شود.

 

 

WebSocket API

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

اجزای مدیریت API آمازون

پلتفرم های مدیریت API از زیرساخت API و داده های زیربنایی آن پشتیبانی می کنند. آنها چندین مؤلفه را در یک معماری لایه ای، از جمله دروازه ها، ترکیب می کنند. سایر اجزای مدیریت API عبارتند از:

پورتال توسعه دهنده API

یک پورتال توسعه دهنده API به توسعه دهندگان اجازه می دهد به اسناد و سایر اطلاعات مربوط به یک API در یک مکان دسترسی داشته باشند. پورتال حاوی منابع و ابزارهایی مانند SDK، انجمن ها و کلیدهای API است. این به توسعه دهندگان API کمک می کند تا API را بسازند، آزمایش کنند و اجرا کنند.

 

گزارش و تحلیل

ردیابی معیارهای استفاده بخش مهمی از مدیریت API است. معیارهای استفاده شامل داده هایی مانند درخواست در ثانیه، حجم درخواست، تأخیر و توان عملیاتی است.

این داده ها به سازمان ها کمک می کند تا نحوه عملکرد برنامه های API خود را اندازه گیری کنند.

مدیریت چرخه حیات API

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

 

مدیر خط مشی API

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

 
 
اطلاعات بیشتر میتوانید از لینک زیر بهره ببرید
https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html
 
 
 
 
منبع: 

دیدگاهتان را بنویسید